[发明专利]一种测试用例生成方法在审
| 申请号: | 202111187584.4 | 申请日: | 2021-10-12 |
| 公开(公告)号: | CN113886255A | 公开(公告)日: | 2022-01-04 |
| 发明(设计)人: | 董冬梅;吴武华;李凌 | 申请(专利权)人: | 北京机电工程研究所 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100074 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 测试 生成 方法 | ||
本发明提供一种测试用例生成方法,包括以下步骤:确定测试参数和测试参数之间的约束关系;转换成禁止关系;获得一个两两覆盖组合对集;按照最优原则选取第一个参数及参数值,将剩下的参数随机排列,按照次优原则选择参数对应的参数值,直至所有的参数都被加入;判断生成的测试用例是否在禁止元组中,若在则舍弃,不再则放入到测试用例候选集中;获得完整的测试用例候选集;在测试用例候选集中确定最优的测试用例,并将其放入到测试用例集中;判断两两覆盖组合对集中的元素是否为空,若为空,则测试用例集完成,若不为空,循环步骤四到八。本发明实现了对测试空间的等概率覆盖,提高测试的覆盖性和充分性,测试用例的数量减小,节约测试的成本。
技术领域
本发明属于软件测试技术领域,具体涉及一种测试用例生成方法。
背景技术
飞行控制软件算法复杂,影响结果的因素多且复杂,如何在巨大的输入空间中,使所选择的测试输入最大可能的满足测试的覆盖性和充分性,一直以来都是对测试的一个挑战。在常见的软件测试中采用两种方法选择测试的输入,一种方式是采用各个参数及其相互间组合,只要求覆盖,但不能做到等概率覆盖;另外一种方式是采用正交试验设计,该方式依赖于正交表,但正交表构造还存在很多未解决的问题,这给该方法的使用带来一定的限制。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种测试用例生成方法。本发明方案能够解决上述现有技术中存在的问题之一。
本发明的技术解决方案:
一种测试用例生成方法,包括以下步骤:
步骤一,确定测试参数和测试参数之间的约束关系;
步骤二,根据测试参数之间的约束关系转换成禁止关系形成禁止元组;
步骤三,将测试参数两两组合,获得一个两两覆盖组合对集uncover,该两两覆盖组合对集中包括所有参数和参数之间参数值的两两组合对;
步骤四,在两两覆盖组合对集uncover中按照最优原则选取第一个参数及参数值,将剩下的参数随机排列,按照次优原则选择参数对应的参数值,直至所有的参数都被加入,形成一个完整的测试用例;
步骤五,判断生成的测试用例是否在禁止元组中,若在则舍弃,不再则放入到测试用例候选集中;
步骤六,循环M次生成完整测试用例和判断是否在禁止元组中的步骤,获得完整的测试用例候选集;
步骤七,在测试用例候选集中确定最优的测试用例,并将其放入到测试用例集中;
步骤八,判断两两覆盖组合对集uncover中的元素是否为空,若为空,则测试用例集完成,若两两覆盖组合对集uncover中的元素不为空,进行步骤九;
步骤九,循环步骤四到步骤八。
进一步的,所述的最优原则为:其中的参数和参数值在两两覆盖组合对集uncover中出现的次数最多。
进一步的,所述的次优原则为:假设已经确定了前j个参数f1,f2,...,fj上的特征值分别为v1,v2,...,vj,现在要确定第j+1个参数fj+1上的参数值v,则根据已经确定的参数和参数值来进行选择,即选择的参数值和已确定的参数值v1,v2,...,vj之间存在最多的未被覆盖对,则可以挑选出最优的测试值,作为参数fj+1上的参数值vj+1。
进一步的,所述的最优的测试用例是指覆盖两两覆盖组合对集uncover中组合对集最多的用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京机电工程研究所,未经北京机电工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111187584.4/2.html,转载请声明来源钻瓜专利网。





