f IOS-史上最全的 iOS 各种测试工具集锦 - Powered by qidao123.com技术社区

史上最全的 iOS 各种测试工具集锦

打印 上一主题 下一主题

主题 1979|帖子 1979|积分 5937

随着移动互联网的鼓起,APP 测试的越来越被器重!Android 系统因为本身的开源性,测试工具和测试方法比力广为流传,但是 iOS 系统的私密性,导致很多测试的实行都有点贫苦。
为了资助大家更好的实行 iOS APP 的测试,本文为大家收集了非常全面的 iOS 测试工具,涵盖各大领域,相信对大家会有所资助!
01 自动化测试

1、UIAutomation
UIAutomation 是苹果提供的 UI 自动化测试框架,利用 JavaScript 编写。
基于 UIAutomation 有扩展型的工具框架和驱动型的框架。扩展型框架以 JavaScript 扩展库方法提供了很多好用 js 工具,注入式的框架通常会提供一些 Lib 或者是 Framework,要求测试职员在待测应用的代码工程中导入这些内容,框架可以通过他们完成对 app 的驱动。
驱动型 UI Automation 在自动化测试底层利用了 UI Automation 库,通过 TCP 通信的方式驱动 UI Automation 来完成自动化测试,通过这种方式,编辑脚本的语言不再局限于 JavaScript。
这个工具在 iOS UI 自动化测试中利用非常广泛。
2、XCTest
XCTest 是苹果在 iOS 7 和 Xcode5 引入的一个简单而强大的测试框架,集成在 Xcode 中,用来编写测试代码。它提供了各个层次的测试。
XCTest 测试编写起来非常简单,并且遵循 xUnit 风格。Xcode 在创建工程时,会默认利用 XCTest,并且默认创建了 Unit Test(单元测试)和 UI Test(界面测试)两个 Target;


  • 其中 Unit Test 主要用于测试代码的大部分根本功能,比如绝大多数 Model 的类和方法测试,业务逻辑测试,网络接口调用测试等等。
  • UI Test 一样平常会考虑到用户的交互流程,模拟用户的交互操纵,利用 XCTest 的 UI 记载特性来获取界面上的一些列视图元素和操纵事件,然后在测试方法中触发事件。
所以这是一个可以提供各个层次的测试的框架,比如单元测试,自动化测试,性能测试等。
3、KIF
KIF 是 Keep It Functional 项目的缩写,是一款 iOS app 功能性测试框架,来自 Square,该测试框架只支持 iOS。
别的,全部测试利用 Objective-C 语言编写,对苹果开辟者来说非常容易上手,更是一款开辟者广为保举的测试工具。
KIF 利用未公开的 Apple API(私有 API),这对于测试目的而言是安全的,基于第三方 iOS UI 的单元测试框架,所以可以做项目的单元测试,也可以做 UI 集成测试。但缺点是运行较慢。
4、Frank
Frank 是 iOS 开辟环境下一款实现自动测试的工具,Xcode 环境下开辟完成后,通过 Frank 实现结构化的测试用例,其底层语言为 Ruby,作为一款开源的 iOS 测试工具,在国外已经有广泛的应用。但是国内相干资料却比力少。其最大的长处是允许我们用熟悉的自然语言实现实际的操纵逻辑。
提供了针对 iOS 平台的功能测试能力,可以模拟用户的操纵对应用程序举行黑盒测试,并且利用 Cucumber 编写测试用例,使测试用例犹如自然语言一样形貌功能需求,让测试以“可实行的文档”的形式成为业务客户与交付团队之间的桥梁。


  • 长处: 测试场景是在 Cucumber 的资助下,用可理解的英语句子写的,另有活跃的社区支持,以及不绝扩大中的库
  • 缺点:对手势的支持有限,所以在装备上运行测试有点难
5、Calabash-iOS
Calabash 是一个适用于 iOS 和 Android 开辟者的跨平台 app 测试框架,可用来测试屏幕截图、手势和实际功能代码。Calabash 开源免费并支持 Cucumber 语言,Cucumber 能让你用自然的英语语言表述 app 的举动,实现 BDD(Behavior Driven Development,举动驱动开辟)。
而 Calabash-iOS 就是一个基于 Calabash 的 iOS 的功能、自动化测试框架。
长处:


  • 有大型社区支持;
  • 列表项简单,类似英语表述的测试语句支持在屏幕上的全部动作,如滑动,缩放,旋转,敲击等
缺点:


  • 测试步骤失败后,将跳过全部的后续步骤,这大概会导致错过更严重的产品问题
  • 测试泯灭时间,因为它总是默认先安装 app,必要 Calabash 框架安装在 iOS 的 ipa 文件中, 因此测试职员必须要有 iOS 的 app 源码
  • 除了 Ruby,对其他语言不友爱
6、Subliminal
Subliminal 是另一款与 XCTest 集成的框架,也是个不错 iOS 集成测试框架。与 KIF 差别的是,它基于 UIAutomation 编写,对开辟者隐藏 UIAutomation 中一些复杂的细节。可惜近几年没有更新了,若能支持 swift 就好了。
7、Kiwi
Kiwi 是对 XCTest 的一个完备替换,利用 xSpec 风格编写测试。Kiwi 带有本身的一套工具集,包罗 expectations、mocks、stubs,甚至还支持异步测试。
它是一个适用于 iOS 开辟的 Behavior Driven Development(BDD)库,有着非常漂亮的语法,长处在于其简便的接口和可用性,易于设置和利用,可以写出结构性强易读测试,非常适合新手开辟者。Kiwi 也是利用 Objective-C 语言编写,易于 iOS 开辟职员上手。
8、Appium
Appium 是一个开源的、跨平台的自动化测试工具,支持 iOS、Android 和 FirefoxOS 平台。通过 Appium,开辟者无需重新编译 app 或者做任何调解,就可以测试移动应用,可以使测试代码访问后端 API 和数据库。
它是通过驱动苹果的 UIAutomation 框架来实现的 iOS 平台支持。开辟者可以利用 WebDriver 兼容的任何语言编写测试脚本,如 Ruby,C#,Java, JS,OC, PHP,Python,Perl 和 Clojure 语言。
02 iOS 性能测试

1、Instruments
Instruments 是 Xcode 自带的,用来动态跟踪和分析 MacOS 和 iOS 代码的实用工具,以独立 APP 形式存在的工具集,包罗了很多强大的检测功能:其中包罗在真机和模拟器上的 APP 举行性能测试。
主要功能有:


  • 分析程序历程举动
  • 分析内存分配及开释细节
  • 查找 CPU 问题
  • 查找程序性能瓶颈
  • 查抄装备相干的功能
    比如:Wi-Fi、蓝牙等
  • 查找 App 中的内存问题
    比如内存泄漏(Leaked memory)、废弃内存(Abandoned memory)、僵尸(zombies)等
2、第三方 SDK
很多第三方的专门用于性能检测和用户举动、属性分析的 SDK,比如 Bugly,OneAPM,听云,Firebase Analytics,把它们接入项目可以短期内告竣性能检测目的。
这些第三方的工具原理都是类似的,利用 swizzle 的方法举行 AOP(面向切面编程)处理惩罚,在关键函数之前和之后自动埋点记载上报。有的平台也支持上传符号表文件准确定位代码实行位置以及以埋点的方式手工添加日志记载。利用起来照旧比力方便的,根本上引入 SDK 和相干库,在程序入口处启动检测即可。
然而利用第三方 SDK 的缺点也黑白常明显的:


  • 起首是缺乏定制性,我们必要的一些指标的统计 SDK 没有,SDK 有的我们又不完全必要
  • 存在安全性问题,这些 SDK 涉及的统计数据都是 APP 的商业机密信息,对于有一定市场影响力的 APP 会有顾忌
  • 这类产品是收费的,平时本身开辟个 demo 练手也不适合连这种 SDK
03 iOS 调试工具



  • Xcode
Xcode 是运行在操纵系统 Mac OS X 上的集成开辟工具(IDE),由 Apple Inc 开辟。它是开辟 macOS 和 iOS 应用程序的最快捷的方式。Xcode 具有同一的用户界面设计,编码、调试、测试,都在一个简单的窗口内完成。
别的,Xcode 也可以用来测试 APP 的时候获取 APP 的日志,分析 bug 和问题。


  • iTunes
iTunes 是苹果官方提供的一款工具,它在做 APP 测试的时候也可以提供手机 APP 日志的方法。


  • ITools
iTools 这个工具是一个第三方的 iOS 测试工具,它跟 iTune 功能类似,但是比 iTunes 工具简单一些,简单易用的界面,可以从 iTunes 的繁琐中解放。也可以提供安装、卸载、备份、获取日志等各种功能。
04 内测发布平台



  • fir.im
为开辟者提供测试应用极速发布,应用瓦解实时分析、用户反馈收集等一系列开辟测试效率工具服务,资助开辟者将更多精神放在产品的开辟与应用的优化上。


  • 蒲公英
『蒲公英』是专为 iOS、Android 开辟者提供的免费用应用内测、托管的平台,旨在解决开辟者将应用分发给内测用户时的繁杂、低效的问题。


  • TestFlight
TestFlight 是苹果提供的应用测试工具,允许开辟者约请用户对应用的预发布版本举行测试,从而在应用正式发布至 App Store 前收集用户反馈。
最后感谢每一个认真阅读我文章的人!作为一位过来人也是希望大家少走一些弯路,假如你不想再体验一次学习时找不到资料,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,这些资料,对于【软件测试】的朋友来说应该是最全面最完备的备战堆栈,希望能给你前进的路上带来资助。假如你用得到的话可以直接拿走:

软件测试资料领取:[内部资源] 想拿年薪40W+的软件测试职员,这份资料必须领取~

软件测试面试刷题工具领取:软件测试面试刷题【800道面试题+答案免费刷】

这些资料,对于【软件测试】的朋友来说应该是最全面最完备的备战堆栈,这个堆栈也陪伴上万个测试工程师们走过最艰难的路程,希望也能资助到你! 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表