什么是回归测试?简短概述

测试经理和QA顾问,Scienceoft

发布:

回归测试通常会使提供者变暗软件测试 及其项目经理。为了消除云,一个PM应该首先深入了解回归测试以及项目意味着什么。

回归测试确保了最近的软件变化没有改变或破坏旧功能。

例如,您开发了一个闹钟移动应用程序。此应用程序只有两个核心功能:设置时间并激活声音以唤醒您。您运行功能测试以确保应用程序工作,获得积极的结果并放心。稍后,您决定该应用程序可能会很好地通知您日历中的重要事件。您添加该功能并测试它。它很好,但这一次你保证您的应用程序的唤醒功能,以确保新功能不会妨碍现有功能。此示例完全说明了回归测试定义。

什么是回归测试

回归测试阶段

回归测试包括多个阶段:

  1. 编译回归测试套件。测试团队选择有效的功能和非功能测试用例,反复发现错误,并在套件中包含它们。
  2. 执行回归测试。
  3. 调试.
  4. 重新测试。测试工程师验证错误是否已修复。如果它没有修复,他们将另一个错误报告返回到开发人员。然后,团队讨论了臭虫来决定它是否值得修复。虽然必须修复严重和重大错误,但用户甚至无法注意到的琐碎错误可能会留在应用程序中。在修复错误时,团队会做出这一决定需要太多时间  extensive efforts.
  5. 回归测试。当所有错误都被解决时,测试团队再次运行回归测试套件,以检查错误修复是否已不会破坏或受阻的应用程序功能。

回归测试和项目方法

回归测试工作的方式也取决于项目方法。要有更清晰的观点,让我们考虑极端情况:瀑布和敏捷中的回归测试。

瀑布中的回归测试

在瀑布项目中,测试在项目的最后阶段开始,项目团队不会修改产品 除非这是至关重要的。这种石墙项目稳定性预先确定了回归测试特性 瀑布。考虑到测试套件的范围,回归测试占1-2个月的漫长过程。但是,这里的主要绊脚石是调试。如果代码是一段时间的,那么开发人员可能会遇到困难。更糟糕的是,一位编写代码的开发人员可能不再在项目中工作,这在长时间的猜测游戏中转动调试。此外,瀑布项目中的更改请求需要在所有项目级别的返工和随后的重新测试,这进一步扩展了时间框架。

敏捷中的回归测试

在敏捷中,软件开发过程落入了持续4 - 6周的短期周期(迭代或冲刺),并导致项目的一部分完全开发。理想情况下,测试工程师应该在每个Sprint的末尾运行回归测试。但是,这很少是这种情况,因为在敏捷项目中必须满足紧张的截止日期和回归测试根本不适合。为了确保质量,敏捷团队遵循两次回归测试方法:全部和部分回归测试。在主要版本之前进行全回归测试。部分回归测试在每次迭代结束时执行。它只涵盖了改变和相邻区域的功能。敏捷团队也使用其他测试优先级化技术:基于风险的方法,协作方法和测试自动化,允许降低测试时间和努力,同时保留产品质量。

回归测试:如何执行?

回归测试可以是手动或自动化的。

手动回归测试

手动回归测试由手动测试工程师执行。在这种情况下,回归测试不需要任何测试工具,除了错误报告(atlassian jira等)。在某些情况下,测试工程师甚至使用Microsoft Excel报告错误。这里的测试过程归结为识别可能受到最近变化影响的软件部分和区域。下一步是使用相关的功能测试用例来检查旧功能是否正常工作。这完全对应于回归测试定义。

自动回归测试

自动化测试通过测试工程师进行特定编程语言的知识和至少一个自动化测试工具的良好命令来执行。工具的选择取决于要测试的软件类型(桌面,Web,移动应用程序或其组合)。自动化工程师不创建测试用例(脚本)。开发测试脚本,他们依靠有效的手动测试用例,重复找到错误。因此,在回归测试中,手动努力通常先于测试自动化。

回归测试成本

根据统计在2018年,测试和QA成本将达到整体项目预算的39%, 此成本的40% - 70%属于回归测试。由于回归测试增加了项目成本,完全消除它似乎是一个诱人的步骤。诱惑,但不是真正有效,因为回归测试是一个门守阻止虫子进入生产。因此,这里的明智策略是使用具体方法允许团队迅速有效地运行回归测试并保护项目质量。

32. 多年来测试和QA的经验,我们进行了应用相关自动化份额的回归测试。