在图 7 中的实例中,组 S3、S4 和 S5 不唯一地覆盖 S1 和 S2 所覆盖的任何方法,然而,通过运行它们,团队可以确定它们可以运行触及部分变更的每一个测试。
最显著的是,橙色区域 —— 没有被绿色覆盖的部分 —— 在图中表示根本没有被回归套件中的测试覆盖到的变更。因此团队需要将他们工作的重点集中于撰写提供此覆盖的测试,为了完全测试变更并且将错过潜在缺陷的风险减少到其最低可能的值。幸运的是,CTA 方法给团队时间来开发这些所需的测试。
心理转变
这不是新技术或一种根本的新样式。背后的思想在最初设想代码覆盖时就出现了。技术提供的东西,尽管,从测试团队的观点来看是一组直觉上正确的思想,但这仍旧表示对许多内容强调的基本变化。只运行测试的子集去掉了“做一些有价值的事情”的兴奋感觉,这是运行整个回归套件的传统实践提供的感觉。该新方法还需要来自于项目管理团队对不再朝着基于风险的 100%的运行目标,而只对每次构建运行恰当的测试的了解和支持。这没有去掉将团队着重于调试测试失败或撰写新测试的需求,但这样做可以为做重要的工作赢得额外的时间!
注释
1 发现缺陷的时间(Time to defect):将缺陷引入到产品代码中和将缺陷报告分配给进行确定的开发人员期间经过的时间。
原文转自:http://www.uml.org.cn/Test/200610251.htm