自动化测试工具选择很多。一些是开源的,一些非常贵。一些自动化工具是几年前出的,一些才在市场上出来。每款工具有一定的特点,都是独特的。
在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的。问题是,几乎没有任何现有的工具完全适应项目的要求。
为了自动化测试有效和有益,它必须具有:
- 研究测试和项目中的软件产品;
- 明确哪些测试需自动化
- 制定自动化测试和自动化测试工具的要求
- 研究至少几个可用的和合适的自动化工具
- 在研究的基础上选择最合适的一个或多个工具
- 与其他项目方讨论所选择的自动化工具,解释选择的原因,并得到他们的批准
- 推进自动化
最近出现了许多不同类型的计算机,他们的出现开始了软件产品的快速发展。最令人惊讶的是移动设备的进化,他们有着不同于普通的个人电脑的特点,方式和交互条件。
因此,智能手机需要的移动应用也是与笔记本不同的。
大多数个人电脑的操作系统是Windows。而流行的移动操作系统是Android,苹果iOS,黑莓OS,Windows手机,Symbian和其他。
Top 5 Android测试工具
#1. Robotium 安卓测试工具
Robotium是一款经常使用的自动化测试工具软件,支持Android。
Robotium是一个免费的Android UI测试工具。它适用于为不同的安卓版本和子版本测试自动化。软件开发人员经常把它描述为Android Selenium。Robotium测试是用java写的。事实上,Robotium是一个单元测试库。但通过Robotium创建测试需要花费很多时间和努力,因为为了自动化测试还需要修改程序源代码。该工具也不适合与系统软件的交互,它不能锁定和解锁智能手机或平板电脑。Robotium也没有录制回放功能,也不提供截图。
#2.MonkeyRunner 安卓应用测试
Monkeyrunner是一款流行的Android测试工具,用于自动化功能测试。
这个工具比Robotium更低一层次。这个不必处理源代码来做自动化测试。这个测试可以用Python写,并且可以使用录制工具来创建测试。Monkeyrunner可以连接到电脑或模拟真实设备运行测试。该工具有一个接口,用它来控制智能手机,平板电脑或外部模拟器的Android代码。
这个测试工具的缺点是,它必须为每个设备编写脚本。另一个问题是,每次测试程序的用户界面变化都需要调整测试脚本。
#3.Ronaorex 安卓测试应用工具
Ranrex 是一款不仅可以支持最新Android版本,也支持从Android2.2开始的早期版本和分支版本。
Ranorex的优势是它有详细的截屏报告。它能通过Wifi连接智能手机和平板电脑。一个自动化测试工程师通过这个Android工具可以不用XML数据格式来详细编写数据驱动的测试。Ranorex工作室使自动化测试工程师只要点击鼠标就可容易地创建测试。它允许详细声明额外的程序模块,来用于在后期开发周期中测试更复杂的场景。
它是一个商业的移动应用工具,其许可价格为1990欧元。不过Ranorex搜索功能相当慢;它需要30秒来完成这样的操作。我们必须为Ranorex配备apk文件设备,否则无法通过这个工具实现自动化测试,因为它只能在APK文件设备上工作。
#4.Appium安卓自动化框架
这是一个可以为iOS和Android做自动化测试的框架。它是一个开源工具。它支持从2.3及以后的安卓版本。Appium利用WebDriver接口运行测试。它支持多种编程语言,如java,C #,Ruby和其他在WebDriver库中的语言。
它可以控制移动设备上的Safari和Chrome。这样测试移动网站可使用Appium和这些浏览器。但一些自动化测试工程师抱怨说,它没有详细的报告。其弱点还有减少了在移动设备上XPath支持。
#5.UI Automator 安卓测试自动化
这款工具是谷歌最近发布的。它支持从4.1开始的安卓版本。这样就得再选择另一个安卓应用测试工具来做早期版本自动化测试。UI Automator能够与各种Android软件产品交互,包括系统中的应用。这使UI Automator可以锁定和解锁智能手机或平板电脑。
通过这个工具创建的脚本可以在许多不同的安卓平台上执行。它可以重现复杂的用户操作动作。UI Automator也可以利用一个设备的外部按键,如回放键、音量调节键、开关键来控制。
它可以集成测试框架TestNG。在这种情况下,UI Automator可以生成丰富和详细的报告,类似于Ranorex生成报告。另外,这个工具搜索功能非常快。
软件测试专家发现UI Automator是一款适用于许多Android平台的移动应用测试。它是一款最适合安卓应用测试的工具之一,因为它是由谷歌专门为这个操作系统发布的。
通常约有80%的新软件bug能在所有支持的平台上重现。因此,一个可执行在广泛使用的平台上的移动测试工具是可以发现高达80%的缺陷。其余20%将会在其他平台上被发现。这意味着,在大多数情况下,在更少的测试平台上完整地做测试比在众多平台上匆忙测试更好。
目前,安卓操作系统设备上约66%使用的是安卓4.1。这就是为什么许多自动化测试工程师决定UI Automator是最合适的解决方案。
Ranorex经常用于早期的Android版本测试。
结论:
测试自动化是一个复杂的任务。它需要充分地准备和研究。需要紧跟信息技术的各种新奇应用和自动化测试工具。所有这些知识都是创建最有效的测试所必需的。
关于作者:这是Oleg Prosyanik的博文,他就职于一家为软件提供全方位测试服务的乌克兰著名公司,担任QA 测试实验室的高级自动化测试工程师。他已经做了4年多的自动化测试。Oleg创建了不同的笔记本和移动应用程序的自动化测试;他具有很好的编程技巧,掌握多种语言,如Java,PHP,Delphi,Ruby,C #。
【英文原文:http://www.softwaretestinghelp.com/5-best-automation-tools-for-testing-android-applications/#more-3944】
{测试窝原创译文,译者:达茜}
译者简介:达茜,从事软件测试12年。 现在上海就职于某人力资源管理解决方案公司,任职测试经理、高级测试工程师