软件开发中的测试异味与测试用例优先级研究
在软件开发过程中,测试是确保软件质量的关键环节。然而,测试过程中存在的一些问题,如测试异味和测试用例优先级的确定,一直是开发者关注的重点。本文将探讨测试异味的评估以及如何利用马尔可夫链对软件测试用例进行优先级排序。
测试异味评估
测试异味是指测试代码中存在的一些不良特征,这些特征可能暗示着代码质量问题或潜在的技术债务。研究人员对开源软件项目中开发者引入和移除测试异味的情况进行了研究,旨在确定哪些测试异味代表真正的技术债务。
- toString() 方法使用异味 :研究发现,toString() 方法使用相关的测试用例作为异味的情况较为常见,但开发者似乎并不急于移除这些异味。由于无法区分 toString() 方法的合理使用和不良实践,不同情况下异味的移除模式可能有所不同。
- 达成共识的测试异味 :在 19 种测试异味中,Lazy Test、Eager Test、Unknown Test、Ignored Test 和 Exception Catching Throwing 这 5 种测试异味的标准差最低。这表明在项目中,开发者对这些异味的处理方式存在普遍共识,它们有时会被移除,但更多时候会被保留。
然而,研究也存在一些有效性威胁:
1. 严格的检测规则 :JNose 中对 Default Test、Mystery Guest 和 Resource Optimism 的检测规则过于严格,可能导致这些测试异味的实例被低估。为了避免基于不足的数据得出结论,研
测试异味与马尔可夫链优先级排序
超级会员免费看
订阅专栏 解锁全文
57

被折叠的 条评论
为什么被折叠?



