[发明专利]一种基于排斥区域的自适应随机测试的方法有效
申请号: | 201310238825.2 | 申请日: | 2013-06-17 |
公开(公告)号: | CN103279422A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 李必信;兰阳阳;王璐璐;陶传奇;刘力;陈艺 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 211189 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 排斥 区域 自适应 随机 测试 方法 | ||
技术领域
本发明提出了一种分割的自适应随机测试方法,用于测试用例的生成,属于软件测试自动化的技术领域。
背景技术
随着软件系统在各个领域的应用越来越重要,软件质量保证成为了一个重要的研究焦点。虽然现在有代码审查、形式化验证等手段,但是软件测试仍然是最主要的软件质量保障的手段。软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和品质的过程,这里的软件可能是某个函数,模块或者软件本身。测试用例的生成是软件测试中重要一步,其有效性对测试的结果有重要影响。随机测试是目前被广泛应用的测试用例生成技术,其特点是简单、自动化程度高并且易于操作。但是完全的随机测试发现错误的概率的只与输入域中引起错误的输入所占的比例相关。为了弥补上诉的缺陷,提高测试的效率,人们对此做了深入的研究并提出了自适应随机测试(Adaptive random testing,ART)。ART的思想是使生成的测试用例尽量均匀的分布在输入域来提高测试的效率,它继承了随机测试的自动化的优点,并且减少了测试所需的测试用例数量,降低了测试的开销。
发明内容
技术问题:本发明提供一种用于降低随机测试中测试用例生成的盲目性,同时消弱边界效应带来的问题,能够更有效地生成测试用例,提高随机测试性能的基于排斥区域的自适应随机测试的方法。
技术方案:本发明的基于排斥区域的自适应随机测试的方法,包括如下步骤:
步骤1)根据被测函数或程序的接口获取其输入域{Ik}的取值范围和输入域的中心点C的坐标向量,其中k为{1,2,…,n},n是输入域的维数,输入域第k维的取值范围(ikmin,ikmax),中心点的坐标向量的第k维的值是(ikmax+ikmin)/2,然后采用下式计算输入域中顶点与中心点的距离:
步骤2)建立空链表,链表项的数据结构抽象为Item={Point,DistToCen,Next},其中Point表示程序的输入向量,格式为Point=(p1,p2,...,pn),DistTCen表示Point到输入空间的中心的距离,Next表示链表中该项的下一项;初始化链表中元素的个数Num为0,设定排斥区域在空间中的基础比例Ratio为50%;
步骤3)根据输入域的第k维的范围(ikmin,ikmax),在该范围中随机生成一个值,作为输入向量第k维的值,将所述输入向量作为程序的参数来运行程序,如果程序的运行结果与预期不符,则转至步骤9),否则转至步骤4);
步骤4)将输入向量和根据下式计算输入向量到中心点的距离然后将输入向量到中心点的距离与输入向量一同保存到链表的头部,同时令Num=Num+1;
步骤5)根据下式计算当前排斥区域的基础半径:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310238825.2/2.html,转载请声明来源钻瓜专利网。