移动应用测试是指对移动应用进行测试,包括
自动化测试和人工测试等。
注意事项
实现自动化测试
公司应该以实现95%测试案例的自动化为目标,这样才能达到覆盖的优化水平,出于效能最大化的考虑,公司还应该使用与自己使用的IDE(Eclipse、Visual Studio、HP UFT)及测试框架(Selenium、Calabash、Appium)兼容的自动化测试解决方案。
别再自己管理设备实验室
当新设备推向市场时,人工进行的内部测试的确会拖你后腿。你能在它发布前、在用户能升级前就能提前拿到测试你的app就更好了。不过这两个问题的答案可能都是否定的。但是拥有合适的设备对于拥有最佳测试覆盖来说又是至关重要的。
让管理有方的实验室即服务(lab-as-a-service)完成这项工作,这样的供应商能够在新设备公开上市前就拿到它。让他们管理测试实验室,提供测试针对的真正的设备、网络、位置和用户条件。
把设备测试实验室放到云端
一旦运营商选择把设备放到云端,那么设备成本和截止期限挑战就可以极大减少了。
环境的自动提供
自动化你的测试脚本也许可以加速你的测试和发布。
可通过增加预先测试环节来确认环境已经测试就绪,同时还能知道哪些错误是环境不稳定引起的,哪些是一般的测试用例错误。最后,如果环境稳定的话,测试不会返回假阴性,这可以节省时间和金钱。
保证持续质量
随着开发者团队开始采用敏捷实践,QA与开发者之间的反馈回环往往会变得不平衡,因为这个流程是新的。
公司可以将品质嵌入到整个开发周期,即所谓的持续质量概念。单元测试令QA反馈总是可见,开发者总能知道自己的代码怎么样,因为代码被不断测试。在整个SDLC阶段维护这样一种对移动应用质量的控制提升了该网站的开发速度,减少了流入生产阶段的缺陷数量,最终导致更高的用户满意度。
让证据成为关键
保有缺陷的证据至关重要。如果缺乏证据,测试中重新制造错误是很困难的,很难提供足够的反馈给开发者团队。有工具能记录事务,然后在反馈期让你分享录制的视频给团队成员,错误再现就不会成为问题,测试过程就可以加速。
应用测试框架
1. Appium(iOS/Android)
Appium是一个开源的、跨平台的
自动化测试工具,适用于测试原生或混合型移动App,支持iOS、Android和FirefoxOS平台。通过它,开发者可以利用测试代码完全访问后端API和数据库。Appium是基于无需SDK和编译就可以对原生应用进行测试的理念而设计的。
该框架不仅能完美支持iOS、Android应用,还可直接在PHP、Python、Ruby、C#、 Clojure、Java、Objective-C、JavaScript及Perl等语言中编写测试脚本。
2. Calabash(iOS/Android)
Calabash是一款适用于iOS和Android平台的跨平台应用测试框架,支持Cucumber,开源且免费,隶属于Xamarin公司。通过Calabash,开发者可以对应用进行多方位测试,比如截屏、手势识别、实际功能代码等。
3. KIF(iOS)
KIF的全称是Keep It Functional,来自Square,是一款专为iOS设计的移动应用测试框架。由于KIF是使用Objective-C语言编写的,因此,对于iOS开发者而言,用起来要更得心应手,可以称得上是一款非常值得收藏的iOS测试利器。
4. Robolectric(Android)
Android开发者们注意了,这款测试框架一定会让你们兴奋不已,因为它是一款已基本上摆脱了模拟器测试的老套路的速率单元测试框架。Robolectric可以解压Android SDK,还能直接对应用进行测试,从而帮你轻而易举地解决所遇到的任何问题。
5. Gitorious(iOS)
Gitorious是一个基于Git版本控制系统的Web项目托管平台,使用Ruby on Rails开发。而其移动测试框架(MTF)也是深受开发者欢迎,Gitorious移动测试框架是一款充分利用Sikuli自动化工具的iOS测试框架。
Gitorious MTF能够利用截屏和Python脚本,进行细致入微的测试,并将测试结果返还给开发者以提高应用质量及修复漏洞。
6. Frank(iOS)
Frank也是一款深受开发者喜爱的iOS应用测试框架,该框架可以模拟用户操作对应用程序进行黑盒测试,并使用Cucumber作为自然语言来编写测试用例。此外,Frank还会对应用测试操作进行记录,以帮助开发者进行测试回顾。
7. FlipTest(iOS)
FlipTest是专为iOS设计的移动应用A/B测试框架,通过它,开发者可以无需重新向App Store提交应用或重构代码,只需添加一行代码,即可直接在iOS应用上进行A/B测试。
对于想要追求UI极致的开发者而言,FlipTest绝对是最合适的测试框架。FlipTest会为应用选择最恰当的用户界面,还会基于外观、可用性等众多因素返还测试结果,从而帮助开发者彻底解决UI问题。
8. Kiwi(iOS)
Kiwi是一个适用于iOS开发的行为驱动开发(BDD)库,因其接口简单而高效,深受开发者的欢迎,也因此,成为了许多开发新手的首选测试平台。和大多数iOS测试框架一样,Kiwi使用Objective-C语言编写,因此对于iOS开发者而言,绝对称得上是最佳测试拍档。
9. AppGrader(Android)
AppGrader是来自以色列的应用测试服务商uTest推出的一款测试产品。相比其他主流移动应用测试框架,AppGrader可能并不太为开发者所熟知,但它却能够为众多的Android开发者提供非常专业的意见参考。
通过AppGrader,开发者可以将自己所开发的应用与其他同类应用就图形、功能及其他方面进行比较,从而对应用进行改善。据悉,继AppGrader for Android之后,uTest还将推出AppGrader for iOS。
10. Cedar(iOS)
和Kiwi一样,Cedar也是一款BDD风格的Objective-C测试框架。它不仅适用于iOS和OS X代码库,而且在其他环境下也可以使用。