软件开发实践随着时间的推移而变化,工具和技术也是如此。这些变化旨在提高生产力,质量,客户满意度,解决不断缩短的交货时间,并提供成功的产品和服务。软件测试显然在实现这些目标方面发挥着重要作用。
Capgemini,Sogeti和Micro Focus最近发布的2017-2018年世界质量报告指出了软件质量和测试方面的一些有趣趋势。三大趋势中的两个趋势是增加测试自动化和敏捷和DevOps方法的广泛采用。正如报告所显示的,组织需要智能自动化和智能分析来加速决策制定和验证,并更好地解决测试高度集成和不断变化的智能设备和产品所面临的挑战。该报告还表明需要具有自我意识和自适应性的智能测试平台来支持整个应用程序生命周期。
在测试自动化领域,自动化工具当然是一个中心舞台。这篇文章总结了一些顶级测试自动化工具和框架,这些工具和框架有可能帮助组织最好地定位自己,以跟上软件测试的发展趋势。该列表包括开源和商业测试自动化解决方案。
1.Selenium
Selenium可能是Web应用程序中最受欢迎的开源测试自动化框架。 Selenium始创于2000年,并在十多年的发展过程中一直是Web自动化测试人员的首选自动化框架,特别是那些拥有高级编程和脚本技能的人士。 Selenium已经成为其他开源测试自动化工具(如Katalon Studio,Watir,量角器和Robot Framework)的核心框架。
Selenium支持多种系统环境(Windows,Mac,Linux)和浏览器(Chrome,Firefox,IE和无头浏览器)。它的脚本可以用各种编程语言编写,例如Java,Groovy,Python,C#,PHP,Ruby和Perl。
虽然测试人员对Selenium具有灵活性,并且他们可以编写复杂且高级的测试脚本以满足各种复杂程度,但需要高级编程技巧和努力才能为特定测试需求构建自动化框架和库。
许可证:开源
2. Katalon Studio
Katalon Studio是一款功能强大的Web应用程序,移动和Web服务测试自动化解决方案。 Katalon Studio建立在Selenium和Appium框架的基础之上,利用这些解决方案实现集成软件自动化。
该工具支持不同级别的测试技能集。 非程序员可以很容易地启动自动化测试项目(如使用Object Spy记录测试脚本),而程序员和高级自动化测试人员可以节省构建新库和维护脚本的时间。
Katalon Studio可以集成到CI / CD流程中,并与QA流程中的常用工具很好地协作,包括qTest,JIRA,Jenkins和Git。 它提供了一个很好的功能,称为Katalon Analytics,通过包括度量,图表和图表的仪表板为用户提供测试执行报告的全面视图。
网站:https://www.katalon.com/
许可证:免费
3. UFT
统一功能测试(UFT)是用于功能测试的着名商业测试工具。它为跨平台的桌面,Web和移动应用程序的API,Web服务和GUI测试提供全面的功能集。该工具具有先进的基于图像的对象识别功能,可重复使用的测试组件和自动文档。
UFT使用Visual Basic Scripting Edition来注册测试过程和对象控制。 UFT与Mercury Business Process Testing和Mercury Quality Center集成。该工具通过集成CI工具(如Jenkins)来支持CI。
网站:https://software.microfocus.com/fr-ca/software/uft
许可证:商业
4. Watir
Watir是基于Ruby库的Web自动化测试的开源测试工具。 Watir支持包括Firefox,Opera,无头浏览器和IE在内的跨浏览器测试。它还支持数据驱动的测试,并与RSpec,黄瓜和测试/单元等BBD工具集成。
网站:http://watir.com/
许可证:开源
5. IBM Rational Functional Tester
IBM RFT是功能和回归测试的数据驱动测试平台。它支持广泛的应用程序,如.Net,Java,SAP,Flex和Ajax。 RFT使用Visual Basic .Net和Java作为脚本语言。 RFT具有称为Storyboard测试的独特功能,通过应用程序屏幕快照,用户在AUT上的操作将以故事板格式进行记录和可视化。
RFT的另一个有趣功能是它与IBM Jazz应用程序生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。
网站:https://www.ibm.com/
许可证:商业
6. TestComplete
SmartBear的TestComplete是一个功能强大的商业测试工具,用于Web,移动和桌面测试。 TestComplete支持各种脚本语言,如JavaScript,VBScript,Python和C ++ Script。像Katalon Studio一样,测试人员可以使用TestComplete执行关键字驱动和数据驱动的测试。该工具还提供了一个易于使用的录制和播放功能。
与UTF一样,TestComplete的GUI对象识别功能可以自动检测和更新UI对象,这有助于在AUT更改时减少维护测试脚本的工作量。它也与CI进程中的Jenkins集成。
网站:https://smartbear.com/
许可证:商业
7. TestPlant eggPlant
基于图像的自动化功能测试工具,使测试人员能够像最终用户一样与AUT进行交互。 TestPlant eggPlant与其传统的测试工具完全不同:用户的角度建模,而不是测试人员经常看到的测试脚本视图。这使得具有较少编程技能的测试人员可以直观地学习和应用测试自动化。该工具支持Web,移动和POS系统等各种平台。它还提供实验室管理和CI集成。
许可证:商业
8. Tricentis Tosca
Tricentis Tosca是基于模型的测试自动化工具,为持续测试提供了相当广泛的功能集,包括仪表板,分析和集成,以支持敏捷和DevOps方法。
Tricentis Tosca帮助用户优化测试资产的可重用性。与其他许多测试自动化工具一样,它支持各种技术和应用程序,如Web,移动和API。 Tricentis Tosca还具有集成管理,风险分析和分布式执行的功能。
网站:https://www.tricentis.com/
许可证:商业
9. Ranorex
Ranorex是一款非常全面的商业自动化工具,用于Web,移动和桌面测试。该工具具有用于GUI识别,可重复使用的测试脚本和记录/回放的高级功能。无代码测试创建也是一个非常有用的功能,它允许新的自动化测试人员学习并将测试自动化应用到他们的项目中。
该工具支持Selenium集成以进行Web应用程序测试。测试人员可以使用Selenium网格,跨平台和浏览器分发他们的测试执行情况。 Ranorex为企业提供低价格模式。
网站:https://www.ranorex.com/
许可证:商业
10.Robot Framework
Robot Framework是一个开源自动化框架,实现了验收测试和验收测试驱动开发(ATDD)的关键字驱动方法。 Robot Framework为不同的测试自动化需求提供框架。但是通过使用Python和Java实现附加测试库,可以进一步扩展其测试功能。 Selenium WebDriver是Robot Framework中使用的流行外部库。
测试工程师可以利用Robot Framework作为自动化框架,不仅用于Web测试,还可用于Android和iOS测试自动化。对于熟悉关键字驱动测试的测试人员,Robot Framework可以很容易地学习。
网站:http://www.robotframework.org/
许可证:开源
正如我们所看到的,这些自动化工具中的每一个都具有独特的功能,可以应对未来几年软件自动化日益增长的挑战。 大多数提供持续测试和集成,测试管理和报告的功能。 他们都支持Web和移动测试的不断增长的自动化需求。 然而,针对自适应和异构环境的智能测试和智能分析仍然是自动化工具所期望的。
彩蛋:前五强的优劣势分析