软件的回归是指某个事件(例如,一个软件补丁或升级)发生后出现的一个缺陷。回归测试则确保了最近变更的代码不会影响其他代码,从而防止软件回归。
变更是回归测试中的关键概念。变更的原因通常分为四大类:
●新的功能。这是运行回归测试最常见的原因,新旧代码必须完全兼容。当开发人员开发新的代码时,他们不会完全专注于兼容现有代码,这就需要利用回归测试来找出潜在的问题
●功能修改。有时候,开发人员会修改现有功能、丢弃或修改某些特性。在这样的情况下,回归测试可以检查相关特性是否被删除或修改,确保不会损害其他功能
●集成。在这种情况下,回归测试确保软件产品在与其他产品集成后可以完美工作
●错误修复。令人惊讶的是,开发人员努力修补发现的错误可能会产生更多的错误。因为修复错误需要修改源代码,这就需要重新测试和回归测试
了解这两种测试之间的差异很重要。重新运行功能测试用例,然后产生错误报告。测试工程师再次执行它们以检查错误状态(已修复、未修复等)。如果错误仍然存在,开发团队会收到一个错误报告以进一步排错。排错完成后,测试团队运行回归测试来确保应用程序仍可正确工作。
回归测试类型
根据测试目的的不同,回归测试可分为三种类型:
新错误修复:验证最近发现的错误是否修复成功;
旧错误修复:确保一个错误一旦被发现并修复,就不会再出现;
副作用:验证最近的错误修复没有破坏旧的功能;