基于静态分析结果的测试用例自动生成方法

文章介绍了在软件测试中,如何利用约束求解法生成高质量的自动测试用例,并结合静态缺陷检测发现通用缺陷,通过不同方法的组合以达到测试目标。在无法满足目标时,会使用随机法生成额外的用例,如有需要,则通过人工补充用例以确保测试覆盖率。
摘要由CSDN通过智能技术生成

        自动生成用例的方法有多种,主要包括随机法、遗传算法、等价类划分法、约束求解法等。各种方法的适用范围、性能及生成的用例质量各不相同,具体见表1。从表1可以看出,约束求解法效率高,生成的用例质量也高,所以本项目中采用约束求解法作为主要的自动用例生成方法。另外,从表中也可以看出,受限于求解器的能力,约束求解法并不能适用于所有的模块,因此需要同其它方法配合共同生成用例集。

序号

方法名称

适用范围及特点

1

随机

适用范围广、效率低,用例质量较低

2

遗传

适用范围窄、效率低,用例质量较低

3

等价类划分

适用范围窄、性能高,用例具有针对性.

4

约束求解

适用范围受限于约束求解器的能力和数据流分析能力,效率高。用例质量高。

                  表1 自动生成用例方法特点表

        在静态分析阶段,除了进行普通的静态分析,还可以进行静态缺陷检测。静态缺陷检测是一种以在传统静态分析的技术基础上,数据流分析为基础,以路径遍历为手段,以发现尽量多的“通用缺陷”为目标的技术手段。将静态缺陷检测同用例自动生成、静态仿真、自动化测试等技术相结合,“通用缺陷”同项目的具体设计无关,比如著名的除0、越界访问、缓冲区溢出等。发现通用缺陷后,结合所在模块的输入数据的取值范围,可以自动生成对应于所发现缺陷的特定用例。具体用例生成的过程如下:

        第一步:通过静态缺陷检测生成通用缺陷用例集

        第二步:如果满足测试要求(覆盖率达标)的话则用例生成完毕。否则的话如应用约束求解法得到约束求解用例集。

        第三步:如果通用缺陷用例集和约束求解用例集的并集能够满足测试目标的话,则用例生成完毕,如果不能满足目标的话,则为用例生成设定的测试资源没有耗尽的前提下,应用随机法生成随机用例集。

        第四步:如果通用缺陷用例集、约束求解用例集、随机用例集的并集能够满足目标的话,用例生成完毕。否则的话,人工补充用例,直到测试要求得到满足,这部分称为补充用例集。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plstudio1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值