📜  软件工程 |回归测试

📅  最后修改于: 2022-05-13 01:57:00.418000             🧑  作者: Mango

软件工程 |回归测试

回归测试是对代码的修改部分以及可能因修改而受到影响的部分进行测试的过程,以确保在进行修改后没有在软件中引入新的错误。 Regression 意味着某物的回归,在软件领域,它指的是 Bug 的回归。

什么时候做回归测试?

  • 当向系统添加新功能并且代码已被修改以吸收该功能并将其与现有代码集成时。
  • 当在软件中发现某些缺陷并调试代码以修复它时。
  • 当修改代码以优化其工作时。

回归测试的过程:
首先,每当我们出于任何原因(如添加新功能、优化等)对源代码进行一些更改时,我们的程序在执行时会在先前设计的测试套件中失败,原因很明显。失败后,对源代码进行调试,以识别程序中的错误。在识别源代码中的错误后,进行适当的修改。然后从已经存在的测试套件中选择适当的测试用例,该套件涵盖了源代码的所有修改和受影响的部分。如果需要,我们可以添加新的测试用例。最后,使用选定的测试用例执行回归测试。

回归测试的测试用例选择技巧:

  • 选择所有测试用例:在这种技术中,所有测试用例都是从现有的测试套件中选择的。这是最简单和最安全的技术,但效率不高。
  • 随机选择测试用例:在这种技术中,测试用例是从现有的测试套件中随机选择的,但只有在所有测试用例的故障检测能力都相同的情况下才有用,这是非常罕见的。因此,在大多数情况下不使用它。
  • 选择修改遍历测试用例:在这种技术中,只选择那些覆盖和测试源代码的修改部分的测试用例,以及受这些修改影响的部分。
  • 选择更高优先级的测试用例:在这种技术中,根据测试套件的每个测试用例的错误检测能力、客户需求等分配优先级代码。分配优先级代码后,为流程选择具有最高优先级的测试用例的回归测试。
    具有最高优先级的测试用例具有最高等级。例如,优先级代码为 2 的测试用例不如优先级代码为 1 的测试用例重要。

回归测试的工具:在回归测试中,我们通常从现有的测试套件本身中选择测试用例,因此,我们不需要计算它们的预期输出,因此可以很容易地自动化。自动化回归测试过程将非常有效且节省时间。
回归测试最常用的工具是:

  • Selenium
  • WATIR(Ruby 中的 Web 应用程序测试)
  • QTP(快速测试专家)
  • RFT(理性功能测试器)
  • 赢家
  • 丝绸测试

回归测试的优点:

  • 它确保在向系统添加新功能后没有引入新的错误。
  • 由于回归测试中使用的大多数测试用例都是从现有的测试套件中选择的,我们已经知道它们的预期输出。因此,它可以很容易地被自动化工具自动化。
  • 它有助于保持源代码的质量。

回归测试的缺点:

  • 如果不使用自动化工具,可能会耗费时间和资源。
  • 即使在代码中进行了非常小的更改后,它也是必需的。