开发团队执行回归测试,以验证软件应用程序中的代码更改(修复错误或添加新功能)不会导致引入其他错误或破坏现有系统的任何功能。
对于许多(如果不是大多数)嵌入式系统,团队将在生命周期结束时执行回归测试,以确定每个软件版本的稳定性。这是一个反复的过程,一直持续到项目达到开发结束或维护结束为止。
在其他工作流程中,回归测试是开发人员日常工作。实际上,可以说在迭代和敏捷过程中,大多数测试是回归测试。在继续进行之前,让我们看一下什么是回归测试以及为什么它在软件开发实践中占如此重要的地位。
什么是回归测试?
回归是“趋势或向低于或低于完美状态的转变”,这是我们在开发软件时都力求避免的事情。回归测试有助于发现缺陷,这些缺陷在我们添加新功能、修复错误以及对测试用例本身进行更改时会渗入我们的软件中。
作为大多数软件开发过程的一部分,开发人员在对软件进行更改后执行回归测试。这些测试确定新的更改是否对软件的现有操作有影响。
当然,回归测试是必要的,但是它们仅表明最近的代码更改并未导致测试失败。无法保证所做的更改会自动生效。此外,激发进行回归测试需求的变更的性质可能会超出当前应用程序的范围,包括硬件、操作系统和操作环境的变更。
为什么嵌入式系统中的回归测试很重要
由于嵌入式系统往往具有对安全性至关重要的约束,因此开发团队对系统或子系统进行回归测试。测试可以说在系统或子系统的每个迭代生命周期的结尾进行。这意味着必须执行为先前软件系统或子系统版本定义的所有单元测试用例,以及为验证新功能而添加的新单元测试用例,以便在软件中显示回归。
如果先前的单元测试用例通过但现在失败了,则可能已经确定了潜在的回归。新功能可能会导致故障。如果是这种情况,则可能需要考虑输入和输出值的更改来更新测试用例。
了解回归测试不仅仅意味着单元测试用例,