中国的软件测试技术研究主要是随着软件工程的研究而逐步发展起来的,近年来随着我国软件产业的蓬勃发展以及对软件质量的重视,带动了软件测试行业的快速发展,已逐步与国际先进水平拉近差距,软件测试在国内正在逐步成为一个新兴的产业。
51Testing根据07-18年的技术趋势和热点,进行了大量的市场调查,力求及时准确的反映07-18年中国软件测试行业的发展变化,帮助测试人员了解2019年软件测试从业人员的发展,有针对性地提高自身的软件测试技术水平和管理水平。
下面根据历年调查总结了最顶尖的自动化测试工具和框架,这些工具和框架可以帮助组织更好地定位自己,跟上软件测试的趋势。这份清单包含了开源和商业的自动化测试解决方案。
1.Selenium
Selenium是一个浏览器自动化操作框架。Selenium主要由三种工具组成。
第一个工具SeleniumIDE,是Firefox的扩展插件,支持用户录制和回放测试。录制/回放模式存在局限性,对许多用户来说并不适合,因此第二个工具——Selenium WebDriver提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。最后一个工具——SeleniumGrid帮助工程师使用Selenium API控制分布在一系列机器上的浏览器实例,支持并发运行更多测试。在项目内部,它们分别被称为“IDE”、“WebDriver”和“Grid”。
Selenium 支持多系统环境(Windows,Mac,Linux)以及多种浏览器(Chrome,FireFox,IE 以及无头浏览器(没有界面))。它的脚本可以由各种各样的编程语言编写,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。
证书:开源
2.Katalon Studio
Katalon Studio是一个非常有力的自动化测试解决方案,它其实是构建在Selenium和Appium框架上的,所以它可以同时测试Web系统及手机APP应用。(注:新版本也已经支持对接口的测试)
这个工具支持不同编程水平的工程师使用。不会编程的也可以使用它轻松的开始一个项目的自动化(比如使用Object Spy来录制生成测试脚本),会编程的和高级自动化测试工程师也可以通过它非常快速的创建新库以及维护代码,它可以帮助他们节省很多时间。
Katalon Studio可以与CI/CD(持续集成/持续发布)流程集成,还可以与测试领域非常常见的工具集成,比如qTest,JIRA,Jenkins和Git. 它还提供了一个非常棒的功能叫Katalon Analytics,这个功能可以将测试报告用各种图表来展现,比如metrics, charts, and graphs.
PS:这个工具听起来真不错,值得研究研究。
证书:免费
3.UFT
Unified Functional Testing(UFT)是一个知名的商业测试工具。(注:更名前叫QTP)它可以测试非常多的应用,比如接口API,Web services,桌面程序,Web系统,手机APP等。这个工具具有高级的基于图像的识别功能,也可以重用测试组件。
UFT使用Visual Basic脚本编辑器来注册测试过程和对象控制。UFT与Mercury Business Process Testing和Mercury Quality Center集成。它通过与诸如Jenkins等CI工具的集成来支持CI。
证书:商业
4.Watir
Watir 是一个基于 Ruby 库的开源的网页自动化测试工具。Watir 支持跨浏览器测试,包括 Firefox,Opera,无头浏览器和 IE。它同样支持数据驱动测试和集成 BBD 工具,比如 RSpec,Cucumber 和 Test/Unit。
证书:开源
5.IBM Rational Functional Tester
IBM RFT是一个数据驱动测试的框架可以进行功能测试以及回归测试。它可以测试的应用更广泛,比如:.net, Java, SAP, Flex和Ajax。
RTF支持Visual Basic、.net和Java做为测试脚本语言。
RFT可以和IBM公司的管理整个软件生命周期的软件进行良好的集成,比如IBM Rational Team Concert以及Rational Quality Manager。
(注:Rational Functional Tester 功能强大,容易架设框架、容易扩展,但对用户的要也比较高。)
证书:商业
6.TestComplete
TestComplete是由SmartBear开发的强大的商业的网页、移动和桌面测试工具。TestComplete支持各种脚本语言如 JavaScript,VB,Python 和 C++ 脚本。和Katalon Studio一样,测试员可以用TestComplete部署关键字驱动和数据驱动。这个工具同样提供了容易使用的记录和回放功能。
像UTF,TestComplete 的 GUI 对象识别能力可以自动检测和更新UI对象,以便当AUT改变时减少维护测试脚本的工作。它同样可以在CI过程中集成Jenkins。
证书:商业
7.TestPlant eggPlant
一个基于图像的自动化功能测试工具,可以让测试员像终端用户一样与 AUT 交互。TestPlant eggPlant 和传统的测试工具在方式上完全不同:建模用户的视图而不是测试员经常看到的测试脚本视图。这让测试员只需要学习少量的编程技巧就能直观地部署自动化测试。这个工具支持各种平台如网页,移动应用和 POS 系统。它同样提供实验室管理和 CI 集成。
证书:商业
8.Tricentis Tosca
Tricentis Tosca是一个基于模型的测试自动化工具,它为持续测试提供了相当广泛的特性,包括dashboards、分析和集成,支持敏捷和DevOps方法。
“Tricentis Tosca”帮助用户优化测试资产的可重用性。与许多其他的测试自动化工具一样,它支持广泛的技术和应用程序,如web、mobile和API。Tosca还具有集成管理、风险分析和分布式执行的特性。
证书:商业
9.Ranorex
Ranorex是一个相当全面的商业自动化工具,用于web、移动和桌面测试。该工具具有高级的GUI识别、可重复使用测试脚本和记录/回放功能。Codeless测试创建也是一个非常有用的特性,它允许新的自动化测试人员学习并将测试自动化应用到他们的项目中。
该工具支持web应用测试的Selenium集成。测试人员可以在使用Selenium grid的跨平台和浏览器上分发测试。Ranorex给企业提供了一个低价模式。
证书:商业
10.Robot framework
Robot Framework是一个开源的自动化框架,它实现了用于验收测试和验收测试驱动开发(ATDD)的关键字驱动方法。Robot Framework为不同的测试自动化需求提供框架。但是它的测试功能可以通过使用Python和Java实现额外的测试库来进一步扩展。Selenium WebDriver是一个广泛应用于Robot Framework的外部库。
测试工程师可以利用Robot Framework作为一个自动化框架,不仅用于web测试,而且用于Android和iOS测试自动化。对于熟悉关键字驱动测试的测试人员来说,可以很容易地学习机器人框架。
证书:开源
总结:
从上面可以看出Selenium风头正劲,Katalon Studio听起来也非常不错,一个工具可以做所有的测试,值得研究研究!
从这些工具支持的脚本语言来看,Java无疑是最普遍被支持的语言,选择Java语言,尝试其它工具的时候也比较容易。
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660