软件测试自动化测试工具有哪些?今天我就带大家好好了解一下。
自动化测试工具一般分为开源、商用和自研发的,其优缺点见表1-1。
表1-1 各种类型测试工具的比较
1:Appium
AppUI自动化测试
Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台,Appium 是一个C/S 架构,核心是一个 Web 服务器,它提供了一套 REST 的接口。当收到客户端的连接后,就会监听到命令,然后在移动设备上执行这些命令,最后将执行结果放在 HTTP 响应中返还给客户端。
2: Selenium
WebUI自动化测试
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。
支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。其升级版本为Webdriver。
3: Jmeter
接口测试,性能测试
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现
JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、
网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。
4:Postman
接口测试
Postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers。不仅如此,
它还提供测试数据和环境配置数据的导入导出,付费的 Post Cloud 用户还能够创建自己的 Team Library 用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。
5: Monkey
稳定性测试
软件附带在sdk中,适用于android和ios,通过adb shell,生成用户或系统的伪随机事件,
压力测试结果:崩溃crash,无响应anr,
基本命令:adb shell monkey 300。
6: Robot
WebUI 自动化测试,接口测试
Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发。
7: Loadrunner
性能测试
LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。
企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
那么怎么对这些工具进行选择呢?
这里通过一个案例来看一下如何选择自动化测试工具。
案例 1-3 自动测试工具的选择
题目:请在产品与自动化测试工具建立连接,如图1-11所示。
图1-11 自动测试工具的选择问题
分析。
● 中国移动某省分公司开发基于WEB的HR产品:中国移动作为世界500强,资金雄厚,所以选择“国内/国外商用软件”比较适合。
● 某国防企业开发导弹防御系统软件:国防软件与国家的安全同有关,所以国外商用软件首先可以剔除;对于开源软件一般质量不太可靠、安全性差,也不可以作为候选对象。如果该产品国内有商用软件可以选择,没有企业可以自开发。
● 某大型互联网电子商务网站:互联网企业属于前期投资高,汇报比较缓慢的类型。另外这些企业用户数量比较多,而商用软件价格往往比较昂贵,且对于性能测试工具又往往按并发用户数进行收费,所以现在互联网电子商务网站企业往往采用开源软件,并且在开源软件的基础上进行第二次开发。所以这类企业选择的是开源工具和自研发软件。
● 某小型企业为自己开发企业网站:这类企业首先想到的是开源工具,商用工具就不要考虑了,对于“自研发软件”作者个人意见是不采用,因为这类型企业关键在于挣钱养活自己,自研发软件的前期投入相当大,暂且不要考虑。
● 某通信公司开发基于3GPPX.XX协议的通信产品:基于3GPP的测试软件据作者所知,好像还不存在商用工具和开源工具,所以只有选择自研发软件了。
综上所述,答案如图1-12 所示。
图1-12 自动测试工具的选择答案