作者 |Brian Anderson
翻译 | 袁思思
原文 |https://dzone.com/articles/best-automation-testing-tools-for-2018
随着时间推移,软件发展实践时刻在变化,工具和技术也是如此。这些变化的目标是提高生产能力、质量、客户满意度,来实现更短的交付时间,并且交付更好产品和服务。软件测试在实现这些目标中扮演了很重要的角色。
近期发布的凯捷2017-2018世界质量报告指出,在软件质量和测试中几个有趣的趋势。三个关键趋势中的两个是增长的测试自动化和普遍的采用敏捷和DevOps方法。如报告中所示,企业需要智能的自动化和分析来加速决策和验证,更好地解决测试智能设备和产品的挑战,这些设备和产品是高度集成和不断变化的。报告还建议智能测试平台的需求,就是自知和自适应来支持完整的应用周期。
在测试自动化领域,自动化工具当然是核心的舞台。本文总结了排名靠前的自动化工具和框架,它们可以帮助企业给自己定位,然后跟上软件测试的趋势。名单包括开源和商业测试自动化解决方案。
1
Selenium
Selenium大概是最流行的web 应用开源测试自动化框架。从2000年开始,Selenium一直是Web自动化测试人员选择的自动化框架,特别是对于那些拥有高级编程和脚本技能的人。Selenium已经成为其他开源测试自动化工具的核心框架,如Katalon Studio、Watir、Protractor和Robot Framework。
Selenium支持多个系统环境(Windows、Mac、Linux)和浏览器(Chrome、Firefox、IE和Headless浏览器)。它的脚本可以用各种编程语言编写,如Java、Groovy、Python、c#、PHP、Ruby和Perl。
虽然测试人员使用Selenium的灵活性,他们可以编写复杂的和高级的测试脚本,以满足不同层次的复杂性,但它需要高级编程技能和努力为特定测试需求构建自动化框架和资源库。
许可:开源
2
Katalon Studio
Katalon Studio是一个强大的测试自动化解决方案,用于web应用、移动和web服务。在Selenium和Appium框架之上构建,Katalon Studio利用了这些集成软件自动化的解决方案。
这个工具支持不同级别的测试技能集。非程序员可以很容易地启动自动化测试项目(比如使用Object Spy记录测试脚本),而程序员和高级自动化测试人员可以节约构建新库和维护脚本的时间。
Katalon Studio可以集成到CI / CD过程中,在QA过程中使用流行的工具,包括qTest、JIRA、Jenkins和Git。它提供了一个叫做Katalon Analytics的很好的特性,提供了通过dashboard (包括度量、图表和图表)对测试执行报告的全面视图。
网站:https://www.katalon.com/
许可:免费
3
UFT
Unified Functional Testing (UFT)是功能测试中一个著名的商业测试工具。它为API、web服务以及桌面GUI测试、web和移动应用的GUI测试提供了一个综合的特性集。这个工具具有高级的基于图像的对象识别特性、可重复使用的测试组件和自动化文档。
UFT使用Visual Basic脚本编辑器来注册测试过程和对象控制。UFT与Mercury Business Process Testing和Mercury Quality Center集成。它通过与诸如Jenkins等CI工具的集成来支持CI。
网站:https://software.microfocus.com/fr-ca/software/uft
许可:商业付费
4
Watir
Watir是一个基于Ruby资源库的web自动化测试的开源测试工具。Watir支持跨浏览器测试,包括Firefox、Opera、headless浏览器和IE。它还支持数据驱动的测试,并与RSpec、Cucumber和Test / Unit等BBD工具集成。
网站:http://watir.com/
许可:开源
5
IBM Rational Functional Tester
IBM RFT是一个用于功能和回归测试的数据驱动的测试平台。它支持大范围的应用,例如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic。Net和Java作为脚本语言。RFT有一个独特的功能,称为 Storyboard 测试,用户的动作被记录下来,并通过应用截图在 Storyboard 格式中可视化。
RFT的另一个有趣特性是它与IBM Jazz应用生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。
网站:https://www.ibm.com/
许可:商业付费
6
TestComplete
SmartBear的TestComplete是一个强大的用于web、移动和桌面测试的商业测试工具。TestComplete支持各种脚本语言,如JavaScript、VBScript、Python和c++脚本。和Katalon Studio一样,测试人员可以在TestComplete中执行关键字驱动和数据驱动的测试。该工具还提供一个易于使用的记录和回放功能。
和UTF一样,TestComplete的GUI对象识别功能可以自动检测和更新UI对象,这有助于减少在AUT更改时维护测试脚本的工作。它还集成了CI过程中的Jenkins。
网站:https://smartbear.com/
许可:商业付费
7
TestPlant eggPlant
一个基于图像的自动化功能测试工具,让测试人员能够以同样的方式与终端用户进行交互。TestPlant eggPlant与传统的测试工具完全不同,它的方法是观察建模用户视角,而不是测试人员经常看到的测试脚本视图。这让测试人员能够更少地学习并且直观地应用测试自动化。工具支持各种平台,如Web、移动和POS系统。它还提供实验室管理和CI集成。
网站:https://www.testplant.com/
许可:商业付费
8
Tricentis Tosca
Tricentis Tosca是一个基于模型的测试自动化工具,它为持续测试提供了相当广泛的特性,包括dashboards、分析和集成,支持敏捷和DevOps方法。
“Tricentis Tosca”帮助用户优化测试资产的可重用性。与许多其他的测试自动化工具一样,它支持广泛的技术和应用程序,如web、mobile和API。Tosca还具有集成管理、风险分析和分布式执行的特性。
网站:https://www.tricentis.com/
许可:商业付费
9
Ranorex
Ranorex是一个相当全面的商业自动化工具,用于web、移动和桌面测试。该工具具有高级的GUI识别、可重复使用测试脚本和记录/回放功能。Codeless测试创建也是一个非常有用的特性,它允许新的自动化测试人员学习并将测试自动化应用到他们的项目中。
该工具支持web应用测试的Selenium集成。测试人员可以在使用Selenium grid的跨平台和浏览器上分发测试。Ranorex给企业提供了一个低价模式。
网站:https://www.ranorex.com/
许可:商业付费
10
Robot Framework
Robot Framework是一个开源的自动化框架,它实现了用于验收测试和验收测试驱动开发(ATDD)的关键字驱动方法。Robot Framework为不同的测试自动化需求提供框架。但是它的测试功能可以通过使用Python和Java实现额外的测试库来进一步扩展。Selenium WebDriver是一个广泛应用于Robot Framework的外部库。
测试工程师可以利用Robot Framework作为一个自动化框架,不仅用于web测试,而且用于Android和iOS测试自动化。对于熟悉关键字驱动测试的测试人员来说,可以很容易地学习机器人框架。
许可:开源
如我们所见,在未来的日子里,这些自动化测试工具中的每一个在解决软件自动化带来的挑战中都提供了独特的特性。大部分有持续测试和集成、测试管理和报告功能。它们都支持web和移动测试日益增长的自动化需求。然而,对于自动化工具来说,智能测试和自适应和异构环境的智能分析仍然是一个需要考虑的问题。
有关自动化工具选择的进一步信息,请参考文章中关于DZone自动化测试工具的比较。
领取专属 10元无门槛券
私享最新 技术干货