[发明专利]一种软件测试用例的生成方法在审
申请号: | 202210166764.2 | 申请日: | 2022-02-23 |
公开(公告)号: | CN114579435A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 张媛;彭茂;卢长娜 | 申请(专利权)人: | 南京信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/16 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 田凌涛 |
地址: | 210000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 测试 生成 方法 | ||
本发明涉及一种软件测试用例的生成方法,首先基于覆盖阵列问题的转换,应用进化算法获得覆盖向量组,然后引入矩阵循环模加方法,构造满足参数要求的覆盖阵列,最后经转化获得覆盖预设k+1种软件类型、且各种软件类型分别包括v+1个可选测试软件的软件测试用例方案,整个设计是在分析覆盖阵列的数学结构基础上,提出一类在覆盖强度等于2的情况下的测试用例生成方案。与纯数学构造方法相比,本方法的适用性更广,与直接的启发式方法相比,本方法只需搜索初始向量组,即可实现软件测试用例方案的生成,减少程序运行时间,提高搜索效率。
技术领域
本发明涉及一种软件测试用例的生成方法,属于软件测试技术领域。
背景技术
伴随着计算机技术向社会各行业的不断渗透,软硬件系统的功能日益强大,当前软件的功能和运行环境正变得日益复杂,社会越来越依赖安全和高质量的软硬件系统。测试成为保证这些系统质量和效率的关键手段,也是系统开发的一个重要而且昂贵的环节。然而对于一个大型的软件系统,影响系统运行的因素有很多,需要检测各个因素之间相互作用对系统产生的影响?
一方面,为了全面测试一个大型软件或硬件系统,要尝试各种可能影响系统的因素,需要大量的时间和资源,通常认为,开发一个软件系统,测试费用至少在开发总成本的50%以上,而开发一个硬件系统的测试成本往往更高。
另一方面,如果测试不足带来的后果可能是灾难性的。一个极端的例子是1996年,亚利安五号Ariane 5运载火箭首次测试发射,由于控制火箭飞行的软件故障,主处理器和备用处理器同时发生溢出而造成关闭,致使整台火箭在发射后37秒自身毁灭,这件事可以说是历史上损失最惨重的软件故障事件。
为了设计适合的测试系统,以较少的实验次数实现对系统的科学有效的测试,人们通常将需要考虑的因素分为有限的类,每一类包含有限种可能配置,从不同类中分别选择可能的配置进行组合测试。有证据表明,在大多数情况下,软件冲突的出现只与很少的几类交叉配置有关,所以在通常情况下,高质量的测试只需要检查系统中任意几类因素之间的关系和对系统性能的相互影响,同时又尽可能的减少测试次数。
组合测试是软件测试中的一种重要方法,2003年Cohen等人(Cohen MB,GibbonsPB,Mugridge WB,Colbourn CJ.Constructing test suites for interactiontesting.In:Dillon L,Tichy W,eds.Proc.ofthe Int’l Conf.on Software Engineering(ICSE).Loa Alamitos:IEEE Press,2003.38-48.)采用覆盖阵列(Covering Array)的数学结构来描述测试用例集合,为降低测试软件成本,便只需考虑构造行数较少的覆盖阵列。
假设有k类影响系统的因素,每一类中有v种可能的配置,定义覆盖阵列CAλ(N;t,k,v)为一个N×k的矩阵,满足对任意的N×t阶子矩阵,每一个t排列至少出现λ次,其中,t称为交叉覆盖的强度。当λ=1时,覆盖阵列可简记为CA(N;t,k,v)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京信息工程大学,未经南京信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210166764.2/2.html,转载请声明来源钻瓜专利网。