首页 > 移动开发 > IOS > 史上最全的iOS各种测试工具集锦与比较指南
史上最全的 iOS 各种测试工具集锦!
Frank
Frank 是 iOS 开发环境下一款实现自动测试的工具,Xcode 环境下开发完成后,通过 Frank 实现结构化的测试用例,其底层语言为 Ruby,作为一款开源的 iOS 测试工具,在国外已经有广泛的应用。但是国内相关资料却比较少。其最大的优点是允许我们用熟悉的自然语言实现实际的操作逻辑。
它 提供了针对 iOS 平台的功能测试能力,可以模拟用户的操作对应用程序进行黑盒测试,并且使用 Cucumber 编写测试用例,使测试用例如同自然语言一样描述功能需求,让测试以“可执行的文档”的形式成为业务客户与交付团队之间的桥梁。
Calabash-iOS
Calabash 是一个**适用于 iOS 和 Android 开发者的跨平台 app 测试框架,**可用来测试屏幕截图、手势和实际功能代码。Calabash 开源免费并支持 Cucumber 语言,Cucumber 能让你用自然的英语语言表述 app 的行为,实现 BDD(Behavior Driven Development,行为驱动开发)。
而 Calabash-iOS 就是一个基于 Calabash 的 iOS 的功能、自动化测试框架。
优点:
缺点:
Subliminal
Subliminal 是另一款与 XCTest 集成的框架,也**是个不错 iOS 集成测试框架。**与 KIF 不同的是,它基于 UIAutomation 编写,对开发者隐藏 UIAutomation 中一些复杂的细节。可惜近几年没有更新了,若能支持 swift 就好了。
Kiwi
Kiwi 是对 XCTest 的一个完整替代,使用 xSpec 风格编写测试。**Kiwi 带有自己的一套工具集,**包括 expectations、mocks、stubs,甚至还支持异步测试。
它是一个适用于 iOS 开发的 Behavior Driven Development(BDD)库,有着非常漂亮的语法,优点在于其简洁的接口和可用性,易于设置和使用,可以写出结构性强易读测试,非常 适合新手开发者。Kiwi 也是使用 Objective-C 语言编写,易于 iOS 开发人员上手。
Appium
Appium 是一个 开源的、跨平台的自动化测试工具,支持 iOS、Android 和 FirefoxOS 平台。通过 Appium,开发者无需重新编译 app 或者做任何调整,就可以测试移动应用,可以使测试代码访问后端 API 和数据库。
它是通过驱动苹果的 UIAutomation 框架来实现的 iOS 平台支持。开发者 可以使用 WebDriver 兼容的任何语言编写测试脚本,如 Ruby,C#,Java, JS,OC, PHP,Python,Perl 和 Clojure 语言。
1、Instruments
Instruments 是 Xcode 自带的,用来动态跟踪和分析 MacOS 和 iOS 代码的实用工具,以独立 APP 形式存在的工具集,**包含了很多强大的检测功能:**其中包括在真机和模拟器上的 APP 进行性能测试。
主要功能有:
比如:Wi-Fi、蓝牙等
比如内存泄露(Leaked memory)、废弃内存(Abandoned memory)、僵尸(zombies)等
2、第三方 SDK
很多第三方的专门 用于性能检测和用户行为、属性分析的 SDK,比如 Bugly,OneAPM,听云,Firebase Analytics,把它们接入项目可以短期内达成性能检测目标。
这些第三方的工具原理都是类似的, 利用 swizzle 的方法进行 AOP(面向切面编程)处理,在关键函数之前和之后自动埋点记录上报。有的平台也支持上传符号表文件精确定位代码执行位置以及以埋点的方式手工添加日志记录。使用起来还是比较方便的,基本上引入 SDK 和相关库,在程序入口处启动检测即可。
然而 使用第三方 SDK 的缺点 也是非常明显的:
此外,Keymob 助手是一款专为 iOS 开发设计的综合工具,提供性能监控、文件管理、日志分析等功能,支持实时监控 CPU、GPU、内存、FPS、网络和能耗等指标,并能管理 iOS 设备文件、查看日志和崩溃信息,帮助开发者优化应用性能和提升开发效率。
Xcode 是运行在操作系统 Mac OS X 上的集成开发工具(IDE),由 Apple Inc 开发。它是开发 macOS 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、调试、测试,都在一个简单的窗口内完成。
另外,Xcode 也可以用来测试 APP 的时候获取 APP 的日志,分析 bug 和问题。
iTunes 是苹果官方提供的一款工具,它在做 APP 测试的时候也可以提供手机 APP 日志的方法。
iTools 这个工具是一个 第三方的 iOS 测试工具,它跟 iTune 功能类似,但是比 iTunes 工具简单一些,简单易用的界面,可以从 iTunes 的繁琐中解放。也可以提供安装、卸载、备份、获取日志等各种功能。
Keymob 助手同样提供强大的文件管理和日志分析功能,支持在 Windows、Mac 和 Linux 上管理 iOS 设备文件,包括查看、创建、删除、上传下载,并能导出 App 全部数据,如图片和聊天记录,同时支持实时日志查看和符号化分析,比 Xcode 控制台更便捷。
为开发者提供测试应用极速发布,应用崩溃实时分析、用户反馈收集等一系列开发测试效率工具服务,帮助开发者将更多精力放在产品的开发与应用的优化上。
『蒲公英』是专为 iOS、Android 开发者提供的免费用应用内测、托管的平台,旨在解决开发者将应用分发给内测用户时的繁杂、低效的问题。
TestFlight 是苹果提供的应用测试工具,允许开发者邀请用户对应用的预发布版本进行测试,从而在应用正式发布至 App Store 前收集用户反馈。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047460/viewspace-3114651/ ,如需转载,请注明出处,否则将追究法律责任。