【技术实现步骤摘要】
一种构建软件失效区域模式的方法及系统
本专利技术属于软件测试领域,涉及一种构建软件失效区域模式的方法,明确软件失效区域范围,实现失效区域定位。在明确失效区域模式的情况下,有针对性的选择合适的测试技术,从而提高测试技术的效能。
技术介绍
随着软件工程技术的大力发展,如何确保软件产品质量吸引了越来越多人的注意,而软件测试无疑成为了确保软件质量的重要环节,软件测试主要分为“白盒测试”和“黑盒测试”,而其中针对“黑盒测试”,科研人员提出了很多有效的方法,但是,研究发现,软件测试技术的效能受软件失效区域模式的影响,为此,科研人员针对软件失效区域模式进行了很多的研究。该领域的开创性工作是White和Cohen(1980)所开展的,他们在数值类型的程序上分析了某些类型的程序错误,他们发现,谓词中的某些错误会导致程序采用不正确的计算路径(成为域错误)。这会导致相邻的区域成为失效区域,随后,White和Cohen提出了用于检测这类错误的系统技术。更多的实证研究得出了类似的结论:软件故障会导致出现连续的失效区域趋势。其中Amman和Knight(1998)分析了一些样本数值程序,从而 ...
【技术保护点】
1.一种构建软件失效区域模式的方法,其特征在于,包括如下步骤:步骤1,根据软件系统的输入域,采用高效的ART算法群,获取软件中存在的第一个失效点,即能够使程序异常输出的输入;步骤2,根据第一个失效点,在有限的测试资源下,陆续获得其他的失效区域点;步骤3,利用之前已存在的失效点集合,获得更多的失效区域信息,用于构建失效区域模式。步骤4,采用多维凸包算法,针对步骤2或者步骤3获得的失效点集合,确定失效区域的面积,采用线性规划的方法,确定失效区域的范围,明确失效区域的类型,生成失效区域信息文件。
【技术特征摘要】
1.一种构建软件失效区域模式的方法,其特征在于,包括如下步骤:步骤1,根据软件系统的输入域,采用高效的ART算法群,获取软件中存在的第一个失效点,即能够使程序异常输出的输入;步骤2,根据第一个失效点,在有限的测试资源下,陆续获得其他的失效区域点;步骤3,利用之前已存在的失效点集合,获得更多的失效区域信息,用于构建失效区域模式。步骤4,采用多维凸包算法,针对步骤2或者步骤3获得的失效点集合,确定失效区域的面积,采用线性规划的方法,确定失效区域的范围,明确失效区域的类型,生成失效区域信息文件。2.根据权利要求1所述的一种构建软件失效区域模式的方法,其特征在于,步骤1的具体实现包括如下:步骤1.1,根据程序的输入,采用高效的ART算法,主要采用ART算法中稳定的FSCS_ART,即固定候选测试用例大小的自适应随机算法;步骤1.2,初始化候选测试用例集合的大小为K;步骤1.3,随机生成K个候选的测试用例,组成候选测试用例集合;步骤1.4,针对这K个候选的测试用例,计算每个候选测试用例与已经执行过的测试用例的距离,确定这K个候选的测试用例与已经执行过的测试用例的最短距离;步骤1.5,从这K个最短距离中,选择距离最大的候选测试用例,作为下一个要执行的测试用例;步骤1.6,重复步骤1.3-1.5,直至找到程序的失效点或者测试资源被耗尽。3.根据权利要求1所述的一种构建软件失效区域模式的方法,其特征在于,步骤2的具体实现包括如下:步骤2.1,将步骤1获取的第一个失效点作为输入;步骤2.2,通过第一个失效点,明确算法参数L的取值,其中参数L取第一个失效点与程序输入域在各维度边界的距离的最大值;L指代测试用例扩展的长度;步骤2.3,根据第一个失效点和参数L的取值,任意角度生成M个测试用例点,其中M的大小与被测程序的维度有关;步骤2.4,针对这M个测试用例,如果测试用例是失效测试用例同时不是回缩点,那该测试用例继续以自身原扩展长度扩展;如果测试用例是失效测试用例同时也是回缩点,则该测试用例继续以自身之前要扩展的长度的一半进行扩展;如果测试用例不是失效测试用例同时满足回缩次数小于阈值N,则标记该测试用例为回缩点,同时将自身要扩展的长度变为原长度的一半,进行回缩;如果测试用例不是失效测试用例,同时满足回缩次数大于等于阈值N,则把最后一次是失效测试用例的点作为失效区域临界点;步骤2.5,重复步骤2.3和步骤2.4,直到测试资源耗尽或者达到临界条件,将通过算法获得失效点构成集合。4.根据权利要求1所述的一种构建软件失效区域模式的方法,其特征在于,步骤3的具体实现包括如下:步骤3.1,读取之前已经存在的失效区域信息文件,解析并构造算法输入;步骤3.2,重复执行步骤2.3和步骤2.4,直到测试资源耗尽或者临...
【专利技术属性】
技术研发人员:黄如兵,孙伟峰,陈宗岳,陈锦富,
申请(专利权)人:江苏大学,斯威本科技大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。