降低基于模型测试成本:通过测试用例多样性
1. 引言
基于模型的测试(MBT)旨在通过系统分析规格模型(如UML状态机),依据测试策略(如覆盖准则)生成可执行测试用例,以覆盖模型的特定特征。MBT虽有诸多优势,但也带来了额外的建模成本。同时,存在两个显著增加MBT成本的因素:一是缺乏自动化测试预言(如评估视频会议系统中媒体质量的主观感受);二是测试用例执行成本高(如在实际硬件或受限访问网络上进行测试)。在这些情况下,测试套件需尽可能小,同时保留其发现故障的能力。然而,对于实际规模的模型,MBT技术通常会生成大量测试用例,因此需要一种基于模型的技术来选择最优的测试用例子集,这通常是一个NP难题。
相似性测试用例选择的核心思想是根据相似性度量来使所选测试用例多样化。研究表明,在基于UML状态机的测试(SMBT)中,将测试用例表示为一组触发 - 保护条件,并使用Jaccard指数作为相似性函数的相似性度量,在故障检测率(FDR)方面最为有效。
本文深入探讨了测试用例多样化的理念,研究了为何基于相似性选择的测试用例在发现故障方面如此有效,并研究了在给定相似性度量和测试套件的情况下,可用于选择测试套件子集的不同策略。实验结果清晰表明,奖励多样性是有效的,不同的测试用例属于基于相似性度量的不同集群,且在不同的选择策略中,遗传算法(GAs)是基于相似性的测试用例选择中最具成本效益的技术。
2. 相似性测试用例选择
与基于覆盖的选择不同,基于覆盖的选择旨在通过所选测试用例最大化测试模型的覆盖率(如SMBT中的转换覆盖),以增加检测故障的机会;而相似性选择技术则是最大化所选子集之间的多样性。多样性通过测试用例对之间的(不)相似性度量来计算。在测试环境中,
超级会员免费看
订阅专栏 解锁全文
33

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



