UCov:一种用于测试用例意图验证的用户自定义覆盖准则
软件工程
2014-07-14 v1
摘要
回归测试的目标是确保现有代码的行为不会因新的程序变更而改变。回归测试的主要重点应放在与以下方面相关的代码上:a) 早期的错误修复;以及 b) 测试人员认为重要的特定应用场景。现有的覆盖准则无法实现这种聚焦,例如,100% 分支覆盖并不能保证给定的错误修复得到执行或给定的应用场景得到测试。因此,需要一种补充性的覆盖准则,允许用户定义表征待覆盖行为的测试需求,而不是从预定义的通用程序元素池中进行选择。我们提出了 UCov,这是一种用户自定义覆盖准则,其中测试需求是程序元素和谓词的執行模式。我们提出的准则并非旨在取代现有准则,而是作为补充,因为它将测试聚焦于否则可能被遗漏的重要代码模式。UCov 支持测试用例意图验证。例如,在错误修复之后,测试团队可能会将揭示该错误的测试用例添加到回归测试套件中。然而,由于与该错误无关的代码修改,该测试用例可能会变得过时。但如果用户定义了表征该错误的执行模式,UCov 将判定测试用例意图验证失败。我们在 Java 平台上实现了该方法论,并将其应用于两个现实生活中的案例研究。我们的实现包括:1) 一个 Eclipse 插件,允许用户轻松指定非平凡的测试需求;2) 能够在给定程序的后续版本之间交叉引用测试需求;以及 3) 能够检查用户自定义的测试需求是否得到满足,即测试用例意图验证。
引用
@article{arxiv.1407.3091,
title = {UCov: a User-Defined Coverage Criterion for Test Case Intent Verification},
author = {Rawad Abou Assi and Fadi A. Zaraket and Wes Masri},
journal= {arXiv preprint arXiv:1407.3091},
year = {2014}
}
备注
30 pages