保证DevOps与持续交付质量的九大测试工具

译文
开发 测试
本文将罗列出九种能够在软件开发的生命周期中实现持续交付的自动测试工具。在整个应用程序开发的生命周期中,DevOps是一套强调协作、沟通和自动化的实践集。而持续交付(Continuous Delivery)则允许团队一旦完成了持续测试后,就能及时地发布出新的版本。

[[233389]]

【51CTO.com快译】在整个应用程序开发的生命周期中,DevOps是一套强调协作、沟通和自动化的实践集。而持续交付(Continuous Delivery)则允许团队一旦完成了持续测试后,就能及时地发布出新的版本。

可见,这两种方法都指向的是同一个目标:在计划阶段,从不同团队那里获得大量的反馈,以便更好地关注细节,从而在尽可能短的周期内成功地发布应用程序。

可以说,只有保证软件持续且可重复的发布,能够确保向最终用户快速地交付出具有稳定质量的软件。因此,自动化在DevOps和持续交付中起着至关重要的作用。另外,通过自动化DevOps和持续交付,您的组织还能够降低业务的风险。

可见,我们需要快速和定制化的测试,以符合DevOps与持续交付的目标。而传统的测试方法和工具显然无法满足DevOps和持续交付的标准。我们需要通过对各种功能的评估,根据端到端的自动化测试要求,选择出适合于敏捷开发环境的自动化测试工具。

下面我为您列出了一系列能够有助于按时转化代码,并能够保证软件交付质量的自动化测试工具。

1. 带Robot Framework的Selenium

Selenium无疑是最受欢迎的Web自动化测试工具。其开源的特性是被广泛使用的原因之一。您可以使用不同的语言在Selenium中实施各种框架,从而为自动化测试提供更多的功能。

Selenium能够支持多种操作系统(Windows、Mac、Linux)和多种浏览器(Chrome、火狐、IE和Headless类型浏览器)。我们可以运用多种语言(如Java、Groovy、Python、C#、PHP、Ruby和Perl)来开发出不同的测试脚本。

Selenium内置了许多工具和框架,您可以启用它们来进行持续测试。Robot Framework是Selenium用来进行持续测试的一种最常用的框架。通过Robot,您可以运行各种自动化测试,包括由Selenium Webdriver所提供的、基于UI元素和API的测试。

Selenium既可以使用关键字驱动的方法进行验收测试,也可以进行验收测试驱动式的开发(Acceptance Test-Driven Development,ATDD)。通过使用Python和Java所实现的附加测试库,其测试功能得到了进一步扩展。而Robot Framework不仅可以用于Web应用的测试,也可被用来测试Android和iOS的应用。

但是,Selenium本身并不能满足所有的持续测试需求。它需要与大量的工具相集成,以满足在软件开发生命周期(SDLC)中的不同目的。此外,Selenium还需要使用者具有高级的编程技能,并愿意花费专门的时间与精力,来构建自动化框架,以满足其特定的测试需求。

更多信息请浏览:https://www.seleniumhq.org/

2. Testsigma

Testsigma是一个统一的、以AI驱动测试的自动化平台。它采用Shift-Left方法,将持续测试集成到了端到端的持续交付生态系统之中。Testsigma通过减少自动化测试技术中的复杂性,为功能和自动化团队带来了更多的灵活性。

功能测试人员可以轻松地使用自然语言,编写出简化的代码,来进行自动化测试。Testsigma 通过可重用的步骤组合、与集中对象存储库(Centralized Object Repository)最大限度地提高了测试代码的重用性。同时它通过使用AI,来大幅降低了与测试有关的维护开销。

Testsigma能够与各种开源的或第三方工具相集成。它支持上千种不同“设备+浏览器+操作系统”组合的云端测试环境,以不断满足各种的动态测试需求。

Testsigma能为企业级的自动化测试、和持续测试提供所有必需的功能,其中包括:数据驱动测试、跨浏览器测试、可重用性测试套件、测试计划与数据管理、电子邮件与Slack通知、并行测试执行、集中对象/元素存储库、综合报告、与CI工具的集成、以及自动化Bug报告等。

作为一款基于云端的自动化测试工具,Testsigma为Web、移动Web、Android、iOS应用、以及RESTful服务提供了各种类型的应用支持。

更多信息请浏览:https://testsigma.com/

3. IBM Rational Functional Tester

RFT是另一种能够进行功能、API、性能和回归测试的工具。Rational Functional Tester使用记录和回放来创建自动化的功能测试,并将预期结果与执行时系统所产生的实际结果相比较。

IBM支持广泛的应用程序,并能够与IBM Rational Quality Manager等工具相集成。另外,IBM Rational Test Workbench还支持在API级别、用户界面级别、以及整个系统级别进行回归测试,以实现在DevOps或持续交付生命周期内的各种测试目标。

更多信息请浏览:https://www.ibm.com/in-en/marketplace/rational-functional-tester

4. Tricentis Tosca

Tricentis Tosca是一个持续测试的平台。它能够加速测试,并跟上敏捷开发与DevOps的节奏。Tricentis Tosca通过运用基于模型的测试方法,来简化脚本的维护。Tosca能够全天候地持续执行多种测试。

Tricentis Tosca使用了基于风险的测试设计,并通过有效的测试用例,来识别出每个测试用例的风险占比。它通过基于模型的自动化测试,既最大化了可重用性,又提高了可维护性。

通过服务虚拟化,Tosca能够访问处于软件开发生命周期(SDLC)中早期的系统,从而执行完全、可靠和持续的测试。

同时,Tricentis Tosca能够无缝地与常见的企业软件环境、和持续集成的开发工作流相互进行集成。

更多信息请浏览:https://www.tricentis.com/software-testing-tools/

5. UFT

统一功能测试(Unified Functional Test,UFT)是一款流行的跨平台自动化测试工具。您可以使用关键字和手动脚本来执行测试。它支持与CI工具的集成,提供了对Web、移动和API的测试功能,并具有智能对象的识别能力。

UFT 使用VBScript来作为其脚本语言。它通过可重用的测试组件,来减少冗长的测试步骤。您可以轻松地将手动测试转换为遵从Shift-Left的自动化测试,并在多台电脑和设备上执行。

更多信息请浏览:https://software.microfocus.com/en-us/products/unified-functional-automated-testing/overview

6. Parasoft

该工具能够让用户执行Shift-Left测试工作,并加快软件的开发周期(SDLC),以满足市场对软件应用的日益增长需求。

此持续测试平台允许用户通过Web界面来创建、管理和部署虚拟的测试环境,并将其与持续集成的系统相集成。同时,通过与端到端测试的整合、该测试管理环境降低了时间与成本,从而有助于提供可靠的软件产品。

Parasoft可以随时提供对现实测试环境的访问。通过在早期阶段发现并消除缺陷,它保证了更好的项目质量。

更多信息请浏览:https://www.parasoft.com/

7. TestComplete

TestComplete使测试人员能够为Windows、Web、Android和iOS的应用创建自动化的测试。它使用关键字驱动的操作,来记录和编写脚本、手动创建测试,并自动回放错误记录。

前面提到的Selenium只能在浏览器(和使用Appium的移动应用)中执行测试,但是TestComplete却能支持Windows的各种应用。

通过对自定义扩展和插件的支持,您能够按需扩展TestComplete的各种函数。在保持开发和部署节奏的同时,您的团队将不需要为质量、速度和成本而彼此纠结。

更多信息请浏览:https://smartbear.com/product/testcomplete/overview/

8. SeaLights

SeaLights是一个能够用来持续发布软件产品的平台。他们极致地缩短了软件的发布周期,并在提高可靠性的同时,简化整体测试。

SeaLights有利于量化回归、API和集成测试的代码覆盖率。同时,它能自动地在所有的测试工具和环境中,维护与测试相关的状态与质量指标。另外,它也有助于识别出代码黑洞,即一些未经测试的、或高风险的单位和功能代码,从而确保了那些未经测试和验证的代码流入生产环境。

更多信息请浏览:https://www.sealights.io/

9. Watir

Watir仅限于Web版本的应用,而且只能在Windows上执行一些简单且易于维护的测试。

Watir是一款开源的、基于Ruby库的Web自动化测试工具。Watir支持跨浏览器的测试,包括火狐、Opera、IE和headless类型。同时,它也支持数据驱动的测试,能够与诸如RSpec、Cucumber和Test/Unit等BBD工具相集成。

集成了Cucumber和CI工具的Watir框架,将有助于您实现在DevOps和持续交付生命周期中的各种测试目标。

更多信息请浏览:http://watir.com/

您的选择

DevOps和持续交付(CD)源于敏捷开发,它们不但改变了软件的交付方式,也是对持续集成(CI)的实践与扩展。上面提到的各种自动化测试工具,旨在改进软件的交付过程,并确保软件发布的可靠性。它们通过系统的、可重复的和更频繁的发布方式,向最终用户保证了软件的质量。

在当今不断变化的业务需求环境中,我们需要具备敏捷开发的思维和流程,以保证DevOps和持续交付的落地。因此,只有选择正确的自动化测试工具,我们才能跟踪项目的进度,保持较短的发布周期,并持续将可操作的反馈提供给组织的内部团队。

原文标题:Best Automated Testing Tools(Top 10)forDevOpsand Continuous Delivery,作者:Lavanya C 

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2019-11-14 09:00:00

前端测试工具框架

2020-03-12 11:17:18

模糊测试工具漏洞网络安全

2016-08-09 09:12:55

云计算

2010-07-06 11:00:33

RationalJazz测试管理

2020-06-23 10:41:08

云计算DevOps持续集成

2023-03-14 16:35:52

2022-03-29 09:21:21

DevOps开发

2015-06-26 16:20:01

ZDNet软件频道

2017-08-19 14:54:34

DevOps持续交付IT

2024-05-24 09:57:34

2022-12-13 07:38:56

DevOps持续集成版本

2017-08-13 08:30:06

DevOps持续交付IT

2019-11-26 17:58:47

系统运维架构

2019-01-16 09:00:00

DevOps性能测试软件

2017-02-27 18:24:34

交付开发工具

2012-08-01 10:50:48

性能测试测试架构

2017-02-27 18:50:42

运维持续交付

2014-06-17 09:50:03

2022-03-09 10:01:18

DevOps微服务架构

2023-10-19 14:01:12

七重门质量保证
点赞
收藏

51CTO技术栈公众号