软件测试笔记(十七)回归测试的介绍和工具选择

前言

在测试阶段,在每次迭代的时候,咱们须要回归检验下前期完成的功能,来保证新的提交没有致使系统功能的衰退。因此回归测试在整个测试的生命周期中起到了很是重要的做用。javascript

回归测试的定义

在新功能发布后,对已经测试的程序功能进行重复测试,以发现因为正在测试的软件或其余相关或不相关的软件组件的更改而引入或发现的任何缺陷。java

简单地说,咱们经过对新发布后的应用程序功能从新执行测试来进行回归,以评估修改后的代码是否破坏了先前工做的任何东西。每当咱们修改应用程序时,咱们都应该进行回归测试。web

回归测试使开发人员确信,在修改生产代码以后,没有任何功能被破坏。它确保没有意外的反作用。数据库

什么时候去作回归测试?

当生产代码被修改时,咱们都会进行软件回归测试。一般,咱们在如下状况下执行回归测试:编程

  1. 当新功能添加到应用程序时。示例:一个网站有一个登陆功能,容许用户只使用电子邮件登陆。如今,新功能看起来像是“提供了一个新功能,可使用微信登陆”。
  2. 当有变动需求时。示例:从以前可用的登陆页中删除“记住密码”。
  3. 当有缺陷修复时。示例:假设登陆按钮在登陆页面中不起做用,测试人员报告缺陷,指出登陆按钮已损坏。一旦开发人员修复了这个缺陷,测试人员就会测试它,以确保登陆按钮是否按照预期的结果工做。同时测试人员回归测试与登陆按钮相关的其余功能。
  4. 当出现性能问题修复时。示例:加载主页须要5秒钟将加载时间缩短到2秒,咱们须要保证主页相关的回归测试都能正常经过。
  5. 当环境发生变化时。示例:将数据库从MySQL更新为Oracle。
  6. 当有代码重构的时。

咱们已经了解了什么是回归,何时作回归。如今让咱们看看怎么作。api

回归测试如何作?

回归测试一般很是繁琐和耗时。咱们在每次部署后都会进行回归,所以自动化测试用例比每次手动运行测试用例更容易。若是咱们有数千个测试用例,那么最好为咱们在每一个构建上集成所作的自动化测试脚本(回归测试)。浏览器

自动化回归测试是最佳实践,能够节省大量时间并在夜间运行构建。微信

回归测试的工具

Ranorex(付费):

Ranorex Studio是一个集桌面、移动和web于一体的自动化测试工具,受到全球4000多家公司的信赖该应用程序提供了无代码测试自动化,使初学者可以直接测试,以及一个完整的IDE。框架

特色:

1.  可靠的对象标识,即便对于具备动态id的web元素也是如此。
2.  可共享对象存储库。
3.  使用可重用代码模块减小测试维护。
4.  跨平台和跨浏览器测试。
5.  使用内置的Selenium WebDriver在Selenium Grid上并行测试或分发。
6.  可定制,易于阅读的测试报告。
7.  启用视频报告以查看在不从新运行测试的状况下致使测试失败的缘由。
8.  与完整的测试工具链集成:Azure DevOps、Jira、Jenkins、TestRail、Git等等。

Selenium(开源):

Selenium多是Web应用程序最流行的开源测试自动化框架。Selenium起源于2000年代,通过十多年的发展,已经成为Web自动化测试人员的首选自动化框架。Selenium已经成为Katalon Studio、Watir、dragor和Robot framework等其余开源测试自动化工具的核心框架。less

Selenium支持多种系统环境(Windows、Mac、Linux)和浏览器(Chrome、Firefox、IE和Headless浏览器)它的脚本能够用各类编程语言编写,如Java、Groovy、Python、C#、PHP、Ruby和Perl。虽然对测试人员具备灵活性,他们能够编写复杂的测试脚本,以知足不一样级别的复杂性,但它须要提升编程技巧和努力来构建自动化框架和库以知足特定测试需求。

UFT(付费):

UFT(Unified Functional Testing)是著名的商业功能测试工具。它为跨平台的桌面、web和移动应用程序的API、web服务和GUI测试提供了全面的功能集。该工具具备先进的基于图像的对象识别功能、可重用的测试组件和自动化文档。

UFT使用Visual Basic脚本编写测试过程和对象控制。UFT与业务流程测试和质量中心集成,该工具经过与诸如Jenkins之类的CI工具集成来支持CI。

Sahi Pro(付费):

(付费):
Sahi Pro帮助自动化web应用程序的功能测试Sahi Pro默认支持web应用程序和REST API自动化。Sahi Pro很是适合对具备大量AJAX和动态内容的复杂web 2.0应用程序进行跨浏览器/多浏览器测试。Sahi Pro运行在任何支持javascript的现代浏览器上它支持您测试web浏览器、桌面和移动应用程序它是一个面向测试人员的自动化回归测试工具。

特色:

1.  内置的Excel框架,让您的业务分析师和非技术专业人士有助于测试。
2.  简单而强大的api
3.  对象获取器和记录器
4.  自动记录和报告
5.  并行和分布式回放
6.  持续集成
7.  在任何操做系统上测试任何浏览器
8.  测试任何Windows桌面应用程序
9.  测试任何iOS和Android、本机和混合应用程序

TestComplete(付费):

由SmartBear完成的TestComplete是一个强大的商业测试工具,用于web、移动和桌面测试。它支持各类脚本语言,如JavaScript、VBScript、Python和C++脚本。与Katalon Studio同样,测试人员可使用TestComplete执行关键字驱动和数据驱动的测试,该工具还提供了一个易于使用的录制和回放功能。

与UTF同样,TestComplete的GUI对象识别功能能够自动检测和更新UI对象,这有助于减小在AUT更改时维护测试脚本的工做量在CI过程当中,它还与Jenkins集成。

Watir(开源):

Watir是一个基于Ruby库的web自动化测试的开源测试工具。Watir支持跨浏览器测试,包括Firefox、Opera、headless browser和IE。它还支持数据驱动测试,并与诸如RSpec、Cucumber和Test/Unit等BBD工具集成。

IBM Rational Functional Tester(付费):

IBM RFT是一个用于功能和回归测试的数据驱动测试平台。它支持不少的应用程序,如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic.Net和Java做为脚本语言。用户对AUT的操做,经过应用程序屏幕截图以脚本格式记录。

RFT的另外一个有趣的特性是它与IBM Jazz应用程序生命周期管理系统(如ibmrationalteamconcert和Rational Quality Manager)的集成。

总结

这里咱们聊了什么是回归测试,回归测试切入的时间点,以及如何才能高效的去执行咱们的回归测试以及一些基本的回归测试的工具。但愿能够对你们有所帮助,若是你们对于回归测试有什么好的测试想法和测试工具的推荐,请在留言区回复。

相关文章
相关标签/搜索