【技术实现步骤摘要】
一种基于迭代区域均分与定位的自适应随机测试方法
本专利技术提出了一种基于迭代区域均分与定位的自适应随机测试方法,用于测试用例的生成,属于测试自动化的
技术介绍
随着软件市场的不断扩大,导致软件规模日趋增大,软件功能日益复杂,如何确保软件产品的质量成为了一个重要的研究热点,而软件测试无疑成为了确保软件质量的重要环节。针对软件测试,科研人员提出了许多软件测试技术,而其中,随机测试由于其概念简单且可自动化,受到了越来越多的关注,现有的随机测试流程如图1所示。随机测试可以检测出人们无法预料到的错误(而这种错误的检测看起来只能由随机测试做到),但是,对于随机测试的争议自始至终存在,而这种争议主要是由于,随机测试只是盲目的随机产生测试用例,从不考虑已经执行过的测试用例的信息,所以,科研人员对于随机测试的效能产生了极大的争议性。同时,Chan等人发现,软件测试的表现受软件失效模式的影响,所谓失效模式就是指软件失效区域的分布模式。他们发现,软件失效区域往往呈现连续型分布。Chan等人总结提出了三种失效模式:(i)块状模式,如图3的a所示。(ii)条状模式,如图3的b所示 ...
【技术保护点】
1.一种基于迭代区域均分与定位的自适应随机测试方法,其特征在于,包括如下步骤:步骤1,根据被测程序,确定输入域的维度和范围;步骤2,初始化区域R,初始化链表L、TestRegion、TempRegion,其中链表项抽象为Region={Point,Length,Testcase},其中Point为区域R的左下角点的坐标点,Length指代区域R在每个维度的长度,Testcase指代后续算法中位于该区域R的已经执行过的测试用例;步骤3,在整个输入域R中随机产生第一个测试用例,如果测试用例检测到程序错误,则测试结束,否则转到步骤4;步骤4,将已经执行过的测试用例添加到区域R中, ...
【技术特征摘要】
1.一种基于迭代区域均分与定位的自适应随机测试方法,其特征在于,包括如下步骤:步骤1,根据被测程序,确定输入域的维度和范围;步骤2,初始化区域R,初始化链表L、TestRegion、TempRegion,其中链表项抽象为Region={Point,Length,Testcase},其中Point为区域R的左下角点的坐标点,Length指代区域R在每个维度的长度,Testcase指代后续算法中位于该区域R的已经执行过的测试用例;步骤3,在整个输入域R中随机产生第一个测试用例,如果测试用例检测到程序错误,则测试结束,否则转到步骤4;步骤4,将已经执行过的测试用例添加到区域R中,同时将区域R添加到TestRegion中。步骤5,如果链表L不为空,则转到步骤6,否则转到步骤8;步骤6,在链表L中随机选择一个区域R,针对该区域运行设置的算法,生成测试用例,如果测试用例检测到错误,则测试结束,否则,将该测试用例添加到区域R中,转到步骤7;步骤7,将区域R添加到TestRegion链表中,如果链表L不为空,转到步骤6,否则转到步骤8;步骤8,针对TestRegion链表的每个链表项,进行区域划分,转到步骤5。2.根据权利要求1所述的一种基于迭代区域均分与定位的自适应随机测试方法,其特征在于,所述步骤1的具体实现包括如下:步骤1.1,根据前期的软件设计文档,确定软件的输入域范围,即具有合理输入的集合,产生二维正方形的输入域,输入域在每个维度上的范围都为0—1;步骤1.2,根据步骤1.1确定的输入域,确定软件的维度,维度和输入域相关,由于该输入域涉及两个参数,设置维度为2;步骤1.3,根据步骤1.1产生的输入域,求得输入域的面积,设为D,在输入域中随机产生一个正方形的、面积为a*D的失效域。3.根据权利要求1所述的一种基于迭代区域均分与定位的自适应随机测试方法,其特征在于,所述步骤3的具体实现包括如下:步骤3.1,根据输入域的维度和每个维度的范围值,随机产生第一个测试用例。步骤3.2,判断该测试用例是否在失效区域中,如果不在失效区域中,认为没有发现错误,转到步骤4,如果位于失效区域中,认为存在错误,测试结束。4.根据权利要求1所述的一种基于迭代区域均分与定位的自适应随机测试方法,其特征在于,所述步骤6的具体实现包括如下:所述步骤6的具体步骤...
【专利技术属性】
技术研发人员:黄如兵,孙伟峰,陈锦富,
申请(专利权)人:江苏大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。