[发明专利]一种基于AP-PSO算法的组合测试用例生成方法有效
申请号: | 201611097859.4 | 申请日: | 2016-12-03 |
公开(公告)号: | CN106598849B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 包晓安;杨亚娟;张娜;张唯;滕赛娜 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 郑海峰 |
地址: | 310018 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ap pso 算法 组合 测试 生成 方法 | ||
本发明公开了一种基于AP‑PSO算法的组合测试用例生成方法,属于软件测试领域。本发明包括:通过静态分析获得需覆盖的组合级;调整one‑test‑at‑a‑time策略,将随机选取一个组合改为构造一个优先级度量函数,对每个组合进行优先级度量,选取优先级最高的组合;采用自适应粒子群算法生成单条测试用例,以种群粒子优劣为依据对惯性权重进行自适应调整,对粒子的最大速度进行控制,采用离散化方式对每个粒子的速度进行取整运算,并使用反射墙策略对粒子位置进行边界处理,防止飞出有效的搜索空间。本发明可适用于不同覆盖强度的覆盖表生成,有效缩减了组合测试用例集的规模,并大幅度提升了组合测试用例的生成效率。
技术领域
本发明属于软件测试领域,具体涉及一种基于AP-PSO算法的组合测试用例生成方法。
背景技术
软件测试是软件工程中保证软件质量的至关重要的环节,理想的软件测试方法需要同时具有高错误检测能力、低成本消耗和广泛的适用性等特点。组合测试作为一种基于规约的软件测试方法,旨在从待测软件面临的庞大组合空间中,选取少量但有效的测试用例,生成覆盖程度高、揭错能力强的测试用例集。
粒子群算法作为一种较新的启发式搜索算法,具有易理解、易实现、全局搜索能力强等特点,目前也被应用于该领域中。目前,在利用粒子群优化生成覆盖表的相关研究中,主要实现了两两组合覆盖测试用例生成,并未考虑更高覆盖力度以及交互力度不统一的情况。同时,参数的选取对算法性能有很大影响,绝大多数研究工作通常选取一组经验参数,没有考虑到参数选择在不同覆盖表上的特殊性。
因此,在粒子群算法具有良好的鲁棒性的前提下,将one-test-at-a-time策略和自适应粒子群算法相结合,根据粒子的优劣对惯性权重进行自适应调整,提出了一种可处理任意覆盖强度的组合测试用例生成方法。该算法能使该算法在覆盖表生成上具有更强的适用能力,在测试用例集规模和执行时间上均具有一定的优势。
发明内容
本发明的目的是对原始PSO算法进行改进,增加优先级度量函数和惯性权值的自适应调整策略,提供一种更加有效的组合测试用例生成方法。
本发明解决其技术问题所采用的技术方案如下:
定义:
测试用例——假设一个待测软件系统(SUT)受到n个独立因素的影响,这些因素形成一个有限集合F={f1,f2,…,fk},其中第i个因素fi拥有li个可选取值,则其对应的有效取值集可表示为Di={1,2,…,li}。那么,可以称n元组test=(x1,x2,…,xn)(x1∈D1,x2∈D2,…,xn∈Dn)为SUT的一条测试用例。
固定力度覆盖表——CA(N;t,k,v)表示一个N×k的矩阵,每列可选取值个数为v,任意的N×t子矩阵包含了在v值域上的所有t元组。
可变力度覆盖表——VSCA(N;t,k,v,C)在CA(N;t,k,v)基础上,还满足包含一个或多个子矩阵C,并且C的覆盖强度大于t。
one-test-at-a-time策略:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611097859.4/2.html,转载请声明来源钻瓜专利网。