[发明专利]一种软件测试用例自动生成方法在审
申请号: | 201710803077.6 | 申请日: | 2017-09-08 |
公开(公告)号: | CN107608882A | 公开(公告)日: | 2018-01-19 |
发明(设计)人: | 赵昶宇 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国兵器工业集团公司专利中心11011 | 代理人: | 王雪芬 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 测试 自动 生成 方法 | ||
1.一种软件测试用例自动生成方法,其特征在于,假设软件系统的接口参数个数为n,每个参数ci的取值个数为ti,i=1,2,…,n,且t1≥t2≥…≥tn,n为正整数,构造一个网络,该网络的层数表示接口参数的个数,即网络层数为n,网络的其中一层上的节点个数表示其中一个接口参数的取值个数,节点号表示接口参数的取值序号;从其中一层的第一个节点,即网络的起点出发沿着节点间的路径向前探索,直到网络的终点,形成一条路径,路径上的节点号串表示一条测试用例;
测试用例节点序列的生成顺序为:按网络层次从左到右,每一层从上到下的顺序逐个节点执行,测试用例按照如下步骤自动生成:
步骤1:第1层的每个节点沿着路径按下一层节点号递增的次序给下一层每个节点发送自己的节点号;
步骤2:第2层每个节点每接收到一个节点号,就将自己的节点号追加在这个节点号的后面,形成一个节点号串,并按照接收的顺序将其保存;
步骤3:从第2层的每个节点开始按照如下方法向下一层每个节点发送该节点内形成的节点号,把第i层的第j号节点内的第1个组装好的节点号串,按照j,j+1,…,ti+1,1,2,…,j-1的顺序与其它第i层节点内已经收到的每个节点号串进行比较,如果前面i个位置的相同位置上每有一个节点号串相同,则将该节点的计数器加1;然后从第i层第j个节点开始遍历,找到该层第一个遇到的节点计数器值最小的节点号k,将节点k的节点号追加在节点j的节点号后面;i≥2,1≤j≤ti;计数器初始值为0;
将把第i层的第j+1号节点内的第2个组装好的节点号串,按照k+1,k+2,…,ti+1,1,2,…,k的顺序,从第k+1号节点开始,与其它第i层节点内已经收到的每个节点号串进行比较,如果第i个位置上的节点号串相同,则将该节点的计数器加1;然后从第i层第k个节点开始遍历,找到该层第一个遇到的节点计数器值最小的节点号k,将节点k的节点号追加在节点j+1的节点号后面;依次类推,直到第i+1层下所有节点号都分别追加在第i层下所有节点号后面;1≤k≤ti;
步骤4:按照步骤3的方法,在上述网络中的每一行节点构成了一组节点号串,一组节点号串表示一条测试用例。
2.如权利要求1所述的方法,其特征在于,在步骤4之后还包括:
步骤5:在基于节点号串生成的测试用例中,检查任意两个接口参数的节点号是否被生成的测试用例所覆盖,如果全部覆盖,则输出所有的节点号串作为最终生成的测试用例表,测试用例生成工作完成;否则,输出所有遗漏的接口参数组合项,形成一张遗漏项表,该表的每一列表示接口参数的任意两种组合,每一行表示遗漏项的编号,执行步骤6;
步骤6:从遗漏项表中找出一个遗漏项,产生一个测试用例,使其在相应的参数位置填上相应参数的节点号,其它参数位置上标记为空缺,并从遗漏项表中去掉该遗漏项;
步骤7:分别以步骤6产生的测试用例确定的参数节点号为中心,查找遗漏表,找出相关遗漏项,将参数的节点号填在相应的空缺位置,并将表中的相应的遗漏项删掉;
步骤8:以新填入的参数节点号为中心,执行步骤7相同的搜索,直到步骤6产生的测试用例的各个参数位置没有空缺标记或者从表中找不到相关遗漏项为止;
步骤9:输出步骤6产生的测试用例,若表中还有遗漏项,则返回步骤6;否则,测试用例全部生成完毕。
3.如权利要求1或2所述的方法,其特征在于,若所述节点号串为1-3-2-4,则表示第1个参数取第1个值,第2个参数取第3个值,第3个参数取第2个值,第4个参数取第4个值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710803077.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件开发包的运行控制方法及装置
- 下一篇:软件缺陷描述关键要素的抽取方法