【技术实现步骤摘要】
本专利技术属于软件测试领域,具体涉及一种基于AP-PSO算法的组合测试用例生成方法。
技术介绍
软件测试是软件工程中保证软件质量的至关重要的环节,理想的软件测试方法需要同时具有高错误检测能力、低成本消耗和广泛的适用性等特点。组合测试作为一种基于规约的软件测试方法,旨在从待测软件面临的庞大组合空间中,选取少量但有效的测试用例,生成覆盖程度高、揭错能力强的测试用例集。粒子群算法作为一种较新的启发式搜索算法,具有易理解、易实现、全局搜索能力强等特点,目前也被应用于该领域中。目前,在利用粒子群优化生成覆盖表的相关研究中,主要实现了两两组合覆盖测试用例生成,并未考虑更高覆盖力度以及交互力度不统一的情况。同时,参数的选取对算法性能有很大影响,绝大多数研究工作通常选取一组经验参数,没有考虑到参数选择在不同覆盖表上的特殊性。因此,在粒子群算法具有良好的鲁棒性的前提下,将one-test-at-a-time策略和自适应粒子群算法相结合,根据粒子的优劣对惯性权重进行自适应调整,提出了一种可处理任意覆盖强度的组合测试用例生成方法。该算法能使该算法在覆盖表生成上具有更强的适用能力,在测试用例集规模和执行时间上均具有一定的优势。
技术实现思路
本专利技术的目的是对原始PSO算法进行改进,增加优先级度量函数和惯性权值的自适应调整策略,提供一种更加有效的组合测试用例生成方法。本专利技术解决其技术问题所采用的技术方案如下:定义:测试用例——假设一个待测软件系统(SUT)受到n个独立因素的影响,这些因素形成一个有限集合F={f1,f2,…,fk
【技术保护点】
一种基于AP‑PSO算法的组合测试用例生成方法,其特征在于,包括如下步骤:1)对输入空间进行建模,获取各因素及其取值范围;2)通过对约束条件和覆盖强度的分析,获取需覆盖的所有因素的取值组合,即组合覆盖集;3)构造一个优先级度量函数,对组合覆盖集中的每个取值组合进行优先级度量,选取权值最大的取值组合用于单个测试用例的生成;4)步骤3)选取的取值组合可对应于一条仅有部分取值确定的测试用例,采用自适应粒子群算法给缺省的参数选取合适的取值;根据粒子的当前状态来对每个粒子的惯性权重进行自适应调整,得到覆盖组合数量最多的单条测试用例,存入测试用例集TS中;从组合覆盖集中剔除已覆盖的组合,得到新的组合覆盖集,5)重复步骤3)~4),直到组合覆盖集为空,输出测试用例集TS。
【技术特征摘要】
1.一种基于AP-PSO算法的组合测试用例生成方法,其特征在于,包括如下步骤:1)对输入空间进行建模,获取各因素及其取值范围;2)通过对约束条件和覆盖强度的分析,获取需覆盖的所有因素的取值组合,即组合覆盖集;3)构造一个优先级度量函数,对组合覆盖集中的每个取值组合进行优先级度量,选取权值最大的取值组合用于单个测试用例的生成;4)步骤3)选取的取值组合可对应于一条仅有部分取值确定的测试用例,采用自适应粒子群算法给缺省的参数选取合适的取值;根据粒子的当前状态来对每个粒子的惯性权重进行自适应调整,得到覆盖组合数量最多的单条测试用例,存入测试用例集TS中;从组合覆盖集中剔除已覆盖的组合,得到新的组合覆盖集,5)重复步骤3)~4),直到组合覆盖集为空,输出测试用例集TS。2.根据权利要求1所述的一种基于AP-PSO算法的组合测试用例生成方法,其特征在于所述的优先级度量函数:rk=Σ...
【专利技术属性】
技术研发人员:包晓安,杨亚娟,张娜,张唯,滕赛娜,
申请(专利权)人:浙江理工大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。