揭示变化交互误差的回归测试-Regression Tests to Expose Change Interaction Errors
Regression Tests to Expose Change Interaction Errors
Böhme M, Oliveira B C S, Roychoudhury A. Regression tests to expose change interaction errors[C]//Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. ACM, 2013: 334-344.
Background
代码的变更经常引入程序错误,因此最近的软件测试文献集中于生成强调变更的测试。改变不能被当作通过测试来强调的孤立的程序工件。相反,是跨多个更改的复杂依赖关系导致了细微的错误。此外,需要使用复杂的依赖结构来暴露这些错误,从而确保即使在经过良好测试和部署的软件中也未发现它们。
Problem
即使对经过良好测试的软件项目的更改也可能引入各种严重程度的微妙bug,这些bug可能仅在数年后暴露出来。在已部署的软件中,这种基于更改的错误有两种形式。(1)修复一个Bug可能会引入新的bug。(2)各种变化之间的“交互”可能会引入难以发现的错误。
Motivating Example
程序中有C.1和C.2两处改变,单独测试C.1和单独测试C.2都是不对的(虚线部分),C.1和C.2的交互(实线部分)可能会产生新的问题。