我相信这对于任何进入具有现有测试基础的项目的质量保证来说都是一个常见问题。

我进入的项目具有很多针对现有功能的单元测试和FIT测试。当我测试某些缺陷或添加到现有功能的新子功能时,我也会尝试了解现有测试是否很好地覆盖了应用程序域。很难追踪。到目前为止,尚无测试管理软件在使用中,并且许多测试都包含没有高级描述的详细数据(“此测试的目标是...”或“我们通过变量X改变XML输入文件...”) 。好的是测试用例的目录和文件名具有很强的描述性。

我有两个互补的想法可以理解测试范围:


系统化:测试中的功能,我创建了可能的测试用例的矩阵(例如,可能的输入变量的组合),并将其与现有测试所覆盖的空间进行比较。
即席:我想到了关于可能缺少的测试的想法检索现有的测试基础。

但是,这两个想法都难以应用且耗时,原因有两个:


可能变量的域很复杂而且很多变量是相互关联的。 />您有什么方法可以了解覆盖范围?

#1 楼

测试是否至少按产品,功能分类,并按单元/集成/功能分开?如果没有,那将是一个开始尝试尝试确定它们提供的覆盖范围的好地方。

一种可能性是在执行测试时在您的产品上运行代码覆盖率。这可以为您很好地说明测试的内容和不包括的内容。然后,您可以运行新的测试矩阵,看看有什么区别。

在寻找等效测试方面不会有多大帮助(多个测试是不必要的,因为它们只是在行使行为。已经通过其他测试进行过的测试)。但是,您可以执行一个测试,并查看该测试的代码覆盖率,并将其与整体测试或其他测试进行比较。我不确定要使用哪种代码覆盖率工具来做到这一点。

虽然这可能是一个很大的项目,但我愿意打赌,它会在很大的范围内测试,花一些时间来理解和减少它最终会节省您的时间,潜在地节省很多痛苦(您不想依靠没有提供您实际需要的测试的测试)并且值得努力。