故障定位中的测试用例分析与子序列提取
在软件开发过程中,故障定位是确保软件质量的关键环节。本文将详细介绍测试用例的编译、分区、公共子序列提取以及相关算法优化等内容,帮助开发者更高效地定位软件中的故障。
1. 程序编译与报告生成
程序编译后可以生成 HTML 或 XML 报告。每条线由包名、类名、方法名、行号以及运行测试用例期间的命中次数表示。通过修改 Coutertura 源代码,能够输出程序执行跟踪报告,以测试用例重放期间触及的程序行序列形式呈现。
2. 测试用例分区
测试用例分区步骤将测试用例分组。每个组中的测试用例因相同原因失败,即属于同一组的所有测试用例在相同位置抛出相同类型的异常。此步骤以执行测试用例产生的日志为输入,根据错误类型和源代码中的错误位置对测试用例进行分组。同时,将所有通过的测试用例分组,以便与测试预言进行比较,从而检测更多故障。
例如,对于一个 GUI 应用程序 Crossword Sage 的测试用例,根据运行这些测试用例发现的两种错误类型(NullPointerException 和 NumberFormatException)进行分组,同时显示与每个错误相关的测试用例数量以及解释这些失败原因的详细页面的超链接。具体信息如下表所示:
| 异常类型 | 位置 | 测试用例数量 |
| — | — | — |
| java.lang.NullPointerException | crosswordsage.Grid at line 33 | 169 |
| java.lang.NumberFormatException | crosswordsage.Grid at lin
超级会员免费看
订阅专栏 解锁全文
96

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



