软件测试基础回顾(十一)-什么是回归测试?测试用例,工具和示例

什么是回归测试?

回归测试定义为一种软件测试,用于确认最近的程序或代码更改未对现有功能产生负面影响。

回归测试只是完全或部分选择已执行的测试用例,这些测试用例会重新执行以确保现有功能正常工作。

进行此测试是为了确保新代码更改不会对现有功能产生副作用。它确保旧代码在新代码更改完成后仍然有效。

需要回归测试

  

当有a时,需要进行回归测试

  • 根据要求修改要求和代码的变更
  • 新功能已添加到软件中
  • 缺陷修复
  • 性能问题修复 

 

回归测试技术

软件维护是一项活动,包括增强功能,错误更正,优化和删除现有功能。这些修改可能导致系统无法正常工作。因此,回归测试变得必要。回归测试可以使用以下技术进行:

什么是回归测试? 测试用例,工具和示例

                              

重新测试全部

  • 这是回归测试的方法之一,其中应重新执行现有测试桶或套件中的所有测试。这非常昂贵,因为它需要大量的时间和资源。

回归测试选择

  • 不要重新执行整个测试套件,最好选择要运行的测试套件的一部分
  • 选择的测试用例可分为1)可重复使用的测试用例2)过时的测试用例。
  • 可重用的测试用例可用于后续的回归周期。
  • 过时的测试用例不能用于后续循环。

测试用例的优先级

  • 根据业务影响,关键和常用功能确定测试用例的优先级。基于优先级选择测试用例将大大减少回归测试套件。

选择用于回归测试的测试用例

这是从行业数据发现,相当数量的客户报告的缺陷是由于在最后一刻bug修复产生副作用,因此选择测试用例进行回归测试是一门艺术,而不是那么容易。有效的回归测试可以通过选择以下测试用例来完成 -

  • 经常出现缺陷的测试用例
  • 用户更容易看到的功能
  • 测试用于验证产品核心功能的案例
  • 功能性测试案例经历了更多和最近的变化
  • 所有集成测试用例
  • 所有复杂的测试案例
  • 边界值测试用例
  • 成功测试用例的示例
  • 失败测试用例样本

回归测试工具

  

如果您的软件经常更改,回归测试成本将会升级。

在这种情况下,手动执行测试用例会增加测试执行时间和成本。

 

在这种情况下,回归测试用例的自动化是明智的选择。  

自动化程度取决于连续回归周期仍可重复使用的测试用例数。 

 

以下是用于功能和回归测试的最重要工具:

Selenium这是一个用于自动化Web应用程序的开源工具。Selenium可用于基于浏览器的回归测试。

Quick Test Professional(QTP) HP Quick Test Professional是一款自动化软件,旨在自动化功能和回归测试用例。它使用 VBScript语言进行自动化。它是一种基于数据驱动的关键字工具。 

Rational Functional Tester(RFT): IBM的理性功能测试程序是一个Java工具,用于自动化软件应用程序的测试用例。这主要用于自动化回归测试用例,并且还与Rational Test Manager集成。 

回归测试和配置管理

回归测试期间的配置管理在敏捷环境中变得势在必行,在敏捷环境中,代码不断被修改。要确保有效的回归测试,请遵守以下内容:

  • 被回归测试的代码应该在配置管理工具下
  • 在回归测试阶段,不得对代码进行任何更改。回归测试代码必须不受开发人员更改的影响。
  • 必须隔离用于回归测试的数据库。不允许更改数据库

重新测试和回归测试之间的区别:

重新测试意味着再次测试功能或错误以确保代码是固定的。如果没有修复,则需要重新打开缺陷如果修复,则关闭缺陷。

回归测试意味着在对软件应用程序进行代码更改时对其进行测试,以确保新代码不会影响软件的其他部分。

另外,请在此处查看完整的差异列表

 

回归测试中的挑战:

什么是回归测试? 测试用例,工具和示例

 以下是进行回归测试的主要测试问题:

  • 通过连续的回归运行,测试套件变得相当大。由于时间和预算的限制,整个回归测试套件无法执行
  • 最小化测试套件同时实现最大测试覆盖率仍然是一个挑战
  • 确定回归测试的频率,即在每次修改或每次构建更新之后或在一堆错误修复之后,都是一个挑战。

 

结论:

一种有效的回归策略,可以节省组织的时间和金钱。根据银行业领域的案例研究,回归可以节省高达60%的错误修复时间(这可能是通过回归测试得到的)和40%的资金      

 

posted @ 2018-07-24 15:36  (时光)光阴飞逝  阅读(902)  评论(0)    收藏  举报