[发明专利]一种软件测试用例自动生成方法在审
申请号: | 201710803077.6 | 申请日: | 2017-09-08 |
公开(公告)号: | CN107608882A | 公开(公告)日: | 2018-01-19 |
发明(设计)人: | 赵昶宇 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国兵器工业集团公司专利中心11011 | 代理人: | 王雪芬 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 测试 自动 生成 方法 | ||
技术领域
本发明涉及软件测试技术领域,具体涉及一种软件测试用例自动生成方法。
背景技术
软件测试用例的选择与生成技术是软件测试中的一个重要的环节,在软件测试中占很大比重。软件测试用例的生成包含选定被测任务、分析输入数据、确定其取值并分析对应的输出数据。测试用例选取的一个中心原则,就是以用最少的测试用例找到尽可能多的错误。如果该过程能自动实现,则会极大地减少软件开发的周期和费用。
当前测试用例的生成主要靠手工完成,而且要求软件测试人员具有一定的经验和较高的专业水平。因而,测试过程往往带有很大盲目性,致使测试效率低下,软件成本居高不下,软件质量也很难保证。此外,软件测试工具在测试数据自动生成上虽有所涉及,但更多情况还是由人工研究被测应用程序的每个模块,然后赋值合适的测试数据。这样的工作量极大,还存在数据不够完整充足,或者有些测试工具采用随机算法生成大量测试数据,这样的方式会带来冗余数据等问题,仍不能准确高效地对模块进行测试。
为提高软件测试的质量,降低软件测试成本和测试人员的工作量,提高软件测试效率,需要设计一种软件测试用例自动生成方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提高设计和生成测试用例的效率。
(二)技术方案
为了解决上述技术问题,本发明提供了一种软件测试用例自动生成方法,假设软件系统的接口参数个数为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的方法,在上述网络中的每一行节点构成了一组节点号串,一组节点号串表示一条测试用例。
优选地,在步骤4之后还包括:
步骤5:在基于节点号串生成的测试用例中,检查任意两个接口参数的节点号是否被生成的测试用例所覆盖,如果全部覆盖,则输出所有的节点号串作为最终生成的测试用例表,测试用例生成工作完成;否则,输出所有遗漏的接口参数组合项,形成一张遗漏项表,该表的每一列表示接口参数的任意两种组合,每一行表示遗漏项的编号,执行步骤6;
步骤6:从遗漏项表中找出一个遗漏项,产生一个测试用例,使其在相应的参数位置填上相应参数的节点号,其它参数位置上标记为空缺,并从遗漏项表中去掉该遗漏项;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710803077.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件开发包的运行控制方法及装置
- 下一篇:软件缺陷描述关键要素的抽取方法