【技术实现步骤摘要】
一种基于区域划分的自适应随机软件测试方法
[0001]本专利技术涉及测试自动化
,特别涉及一种基于区域划分的自适应随机软件测试方法。
技术介绍
[0002]测试是生产制造过程中的一项常见活动,其结果对产品质量保证起着至关重要的作用。软件测试是一个在软件系统中寻找缺陷的过程,其目标是以最小的代价找到的软件系统中的缺陷。随着越来越多的软件系统的出现,软件系统的可靠性受到越来越多的关注,因此大量的软件测试方法也不断被研究者提出。
[0003]因为随机测试(以下简称“RT”)方法非常简单,RT自从被提出后就一直应用广泛。RT的主要思想是在程序所有可能输入的集合(以下简称“输入域”)中随机找到下一次执行的测试用例,然后在被测软件系统中执行测试用例并分析程序结果,以找出程序中可能的缺陷。RT使用很少的信息,即只考虑程序的输入域,因此生成测试用例的时间非常快,达到以最小的成本在程序中发现缺陷的目标。在现实中,对于许多软件系统程序来说,RT都具有低成本和高效益的特点,甚至它已经成为软件测试策略的基本思想之一。
[0004]然而,一方面,系统的复杂性和智能化对测试人员提出了更高的要求,RT的测试效率不能满足复杂系统的测试要求。另一方面,随着研究的深入,RT也引起了很多争议,如Myers说“可能最糟糕的[测试用例设计]方法是随机输入测试.",因为研究人员发现RT寻找缺陷具有盲目性、冗余性和低效率等问题。
[0005]先前的研究发现,导致错误的输入通常倾向于聚集在一起形成连续的缺陷区域,不导致错误的输入也会聚 ...
【技术保护点】
【技术特征摘要】
1.一种基于区域划分的自适应随机软件测试方法,其特征在于:包括如下步骤:S100:选用公开数据集,公开数据集包括若干个真实系统程序,每个真实系统程序有与其一一对应的输入域;S200:构建自适应随机测试模型M,所述自适应随机测试模型包括组件一、组件二和组件三;所述组件一用于划分系统程序的输入域,所述组件二用于计算测试用例的自适应相对比所述组件三用于计算测试用例的自适应距离所述测试用例为从输入域中选出的值;S300:选取被测程序s,使用现有技术确定s的输入域维度和输入域范围,并从公开数据集中选择P个与s输入域维度相同的真实系统程序组成程序集D,利用组件一确定M的输入域划分比例参数α;S400:定义测试用例使用数量阈值,从s的输入域范围中选择第一个候选测试用例t,且令已使用测试用例数量T=1;S500:将t作为s的输入,当s的输出结果为正确时,则认为没有找到s的缺陷,然后执行下一步;当s的输出结果为错误时,则认为找到s的缺陷,然后输出当前已经输入的测试用例数量F
‑
measure,结束测试;S510:从s的输入域范围中随机选择k个候选测试用例组成候选测试用例集C;S520:从C中选择第i个候选测试用例c
i
,利用组件二计算c
i
的自适应相对比然后利用组件三计算c
i
的自适应距离其中,C={c1,
…
,c
i
,
…
c
k
},i=1,...,k;当时,执行S530;当时,执行S540;exter表示调用函数Exter_func的次数,inter表示调用函数Inter_func的次数;S530:使用函数Exter_func采用曼哈顿距离计算最近邻值采用公式(1)计算算其中,表示自适应距离,E表示所有已经执行但没有找到s中缺陷的测试用例组成的集合,表示自适应相对比,i=1,...,k;将k个进行降序排列,选择其中最大自适应距离值所对应的测试用例作为最佳的候选测试用例,将该最佳的候选测试用例赋给t,且令T=T+1,并执行S600;S540:使用函数Inter_func,采用欧式距离计算最近邻值采用公式(2)计算算将k个进行降序排列,选择其中最大自适应距离值所对应的测试用例作为最
佳的候选测试用例,将该最佳的候选测试用例赋给t,且令T=T+1,并执行S600;S600:当T大于测试用例...
【专利技术属性】
技术研发人员:鄢萌,夏奕胜,孙伟峰,张小洪,杨丹,
申请(专利权)人:重庆大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。