The invention discloses a method for generating a new set of combined test case sets, which belongs to the technical field of software testing. In the invention, there are three kinds of generation methods of the combined test cases: random generation, differential evolution algorithm generation, and greedy algorithm generation. In the initial stage of combination of test suite generation, randomly generated test cases in the test suite; combination of the middle stage of generation, using differential evolution algorithm to generate test cases in the test suite; combination of late stage generated, using the greedy algorithm to generate test cases. This method can not only improve the efficiency of test case generation, but also effectively reduce the number of combined test cases and improve the efficiency of software testing.
【技术实现步骤摘要】
本专利技术涉及一种组合测试用例生成方法,属于软件测试
。
技术介绍
组合测试是一种基于规约的软件测试技术,可以在保证缺陷检测能力的基础上,减少测试用例的规模。组合测试是提高软件测试效率的有效方法,是保证软件质量的重要手段。伴随着软件高度可配置化的发展趋势,组合测试已经成为一种应用广泛的有效测试手段。组合测试用例集的生成是组合测试的关键问题,对于同一强度的组合测试来说,测试用例集的规模越小越好。为了减小所生成的组合测试用例集规模,提高组合测试的效率,提出了本专利技术。
技术实现思路
针对组合测试用例生成问题的特点,本专利技术提出了一种基于差分进化算法的新型组合测试用例生成方法。本专利技术的技术方案如下:定义:组态——软件t个输入项的全部组合构成的集合称为强度为t的组态。假设一个系统共有4个输入项,I1, I2, I3, I4 ;则它的强度为3的组态为{(I1, I2, I3),(I1, I2, I4),(I1,工3,工4),(工2,工3,工4)}。组态表一对于组态中的各个元素,覆盖全部可选值的组合构成的集合称为组态表。假设输入项Ir I2均有两个可选值O和1,则组态元素(I1, I2)的覆盖全部可选值的集合为{(0,0), (O, I), (1,0), (I, I)}。数据存储结构:可选值的存储-用链表存储各个输入项的可选值。使用这种存储方式,可以在可选值与其在链表中的位置之间建立一一对应关系。在优化过程中,设定各个输入项先后顺序的基础上,可以使用可选值在链表中的位置值来替代可选值的具体值,来解决DE中解的实数编码问题。假设系统S有3个 ...
【技术保护点】
一种新型组合测试用例生成方法,其特征在于:第一步:初始化:首先,读取“参数及其可选值数量文件”,将待测问题的参数及各个参数的可选值的数量信息提取出来,并存储于字典Dictionary型的字典dictArgAndValNums中;读取算法配置参数并存储于相应的变量中;然后从配置文件中读取组合强度t,并根据给定的待测功能参数总数及组合强度t,生成参数的所有可能的组态并存储到链表listArgConfig中;最后,根据listArgConfig和dictArgAndValNums生成组态表,并存储于Dictionary,List>>型的字典dictConfigurations中;第二步:随机生成n个测试用例,当测试用例集TR中的用例数量较少时,由于组态表TCon中存在大量未被覆盖的元素,此时采用优化搜索的方式和随机生成的方式生成的个体的适应度几乎没有差别;为了提高效率,在为进行优化生成之前,先随机生成n个测试用例存入TR,n取组态数的0.5%,并从TCon中删除被这n个测试用例覆盖的元素,第三步:使用差分进化算法逐条生成测试用例,第四步:使用一维扩展的贪心算法来生成测试用例;当组态表TCon ...
【技术特征摘要】
1.一种新型组合测试用例生成方法,其特征在于:第一步: 初始化:首先,读取“参数及其可选值数量文件”,将待测问题的参数及各个参数的可选值的数量信息提取出来,并存储于字典Dictionary〈int, int>型的字典diCtArgAndValNums中;读取算法配置参数并存储于相应的变量中;然后从配置文件中读取组合强度t,并根据给定的待测功能参数总数及组合强度t,生成参数的所有可能的组态并存储到链表1istArgConfig中;最后,根据IistArgConfig和dictArgAndValNums生成组态表,并存储于 Dictionary〈List〈int>, List<List<int>>> 型的字典 dictConf igurations中; 第二步:随机生成η个测试用例, 当测试用例集TR中的用例数量较少时,由于组态表TCon中存在大量未被覆盖的元素,此时采用优化搜索的方式和随机生成的方式生成的个体的适应度几乎没有差别;为了提高效率,在为进行优化生成之前,先随机生成η个测试用例存入TR,η取组态数的0.5...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。