基于模型的组合测试套件过滤与设计缺陷分类新方法
在软件测试和维护领域,组合测试套件的过滤以及设计缺陷的分类与处理是两个重要的研究方向。下面我们将详细探讨相关的技术和方法。
组合测试套件过滤技术
在组合测试中,当没有剩余的过滤键时,整个测试模式会被展开以生成最终的测试用例。例如,一次展开可能会生成6个测试用例,但其中只有3个是有效的。最终有效的测试用例数量可能取决于随机选择的前缀。这些测试用例会经过动态执行,以剔除无效的测试用例,从而生成经过过滤的测试套件。这种方法明显优化了测试用例生成过程,在某些情况下,只需完全展开126个测试用例,而标准过程可能需要展开720个。
实验结果示例
以 EPurseExample 为例,它展开后会生成155,520个测试用例。工具能够完成前两个步骤(转换为TSLT和生成outob文件),但将outob XML文件转换为JUnit文件时,由于内存不足(使用了高达1.5GB的RAM)而崩溃。即便转换成功,编译JUnit文件也可能会崩溃。为了解决这些问题,引入了过滤键对模式进行重新定义,得到 EPurseExampleUsingKeys 。
使用增量过程,需要四次迭代来移除三个过滤键并展开模式。该模式在175秒内完全展开并动态执行,最终155,520个测试用例中只有6496个是有效的。增量过程仅展开和执行了16,512个测试用例,使用了标准过程所需资源的10%,并使测试套件足够小,避免了工具崩溃。具体迭代结果如下表所示:
| 迭代次数 | 展开的测试用例数量 | 接受的测试用例数量 |
| ---- | ---- | ---- |
超级会员免费看
订阅专栏 解锁全文
2613

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



