[发明专利]一种软件测试用例自动生成方法有效
申请号: | 201810190656.2 | 申请日: | 2018-03-08 |
公开(公告)号: | CN108170613B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 王博;张琨;尹魏昕;吴倩;林星辰;张家旺;徐建;蔡颖;牟甲鹏 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;南京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 100012*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 测试 自动 生成 方法 | ||
本发明提出了一种软件测试用例自动生成方法,包括以下步骤:步骤1、根据软件结构,分别生成包级、类级软件网络;步骤2、分别计算类级、包级软件网络中各节点的综合重要度;步骤3、分别根据类级、包级软件网络结构,计算各网络中节点间的依赖强度,进而确定状态概率及转移概率;步骤4、根据隐马尔可夫模型,为软件自动生成测试用例。本发明的软件测试用例自动生成方法,借鉴复杂网络相关技术,提供一种从节点重要性角度出发,综合考虑图拓扑结构的软件测试用例自动生成方法,且结果具有较高的可信度。
技术领域
本发明涉及软件测试技术领域,特别是一种软件测试用例自动生成方法。
背景技术
面向对象软件由于具有封装性、多态性和继承性等特点,在软件测试技术上与传统的面向过程软件有很大区别。其中,类的集成测试是在类单元测试完成的基础上,对类集成过程的测试。由于类的测试顺序关系到软件缺陷发现的时间和设计测试桩造成的测试成本,类的集成测试顺序成为集成测试中的一个重要问题。
目前,针对类间集成测试顺序的生成方法主要有两类:(1)基于遗传算法的类间集成测试顺序生成方法。该方法首先初始化一个种群代表类的测试顺序,然后对其进行选择、交叉、变异操作,从而得到一个满足预定条件的类间集成测试顺序;(2)基于图论的启发式类间集成测试顺序生成算法。该方法从类中提取依赖关系,依据打破最多环路、不同类型边的权重等标准移除有环结构的关联边,对类图进行拓扑排序,从而得到类间集成测试顺序。
类间集成测试顺序问题在国内的研究相对较少。陈建勋等(陈建勋,肖亦然.基于动态依赖的类间测试顺序研究[J].传感技术学报,2014(1):64-69.)分析了对象关系图中的类间依赖关系,运用边删除规则去除环路,通过有向无环图的拓扑序列给出类的测试顺序,有效减少了测试桩的数量。柴玉梅等(冯秋燕.基于UML模型和OCL约束的类间交互测试用例生成方法研究[D].郑州大学,2012.)对UML模型的顺序图添加了对象约束语言,给出一种测试路径生成算法。姜淑娟等(姜淑娟,张艳梅,李海洋,等.一种基于耦合度量的类间集成测试序的确定方法[J].计算机学报,2011,34(6):1062-1074.)以降低测试桩复杂度为优化目标,提出一种基于耦合度量的类间集成测试顺序的确定方法。上述方法在解决类间测试排序问题时,仅仅考虑了减少测试桩数目和降低测试桩复杂度两个方面,忽略了重要的类和错误传播概率较大的类应尽早被测试的问题。
发明内容
本发明提出了一种软件测试用例自动生成方法,解决现有技术类间测试排序不准确的问题。
实现本发明的技术解决方案为:一种软件测试用例自动生成方法,具体步骤为:
步骤1、根据软件软件系统的结构,分别生成包级、类级软件网络;
步骤2、分别计算类级、包级软件网络中各节点的综合重要度;
步骤3、分别根据类级、包级软件网络结构,计算各网络中节点间的依赖强度,确定类级软件网络节点间的状态概率及包级软件网络节点间的转移概率;
步骤4、根据类级软件网络节点间的状态概率及包级软件网络节点间的转移概率构建隐马尔可夫模型,利用隐马尔可夫模型为软件自动生成测试用例。
本发明与现有技术相比,其显著优点为:(1)将节点重要性纳入状态概率和转移概率的确定因素中,综合考虑了节点在软件网络中的局部和全局位置及影响力。(2)将隐马尔科夫模型应用到自动生成软件测试用例的过程中,简化了测试用例的生成过程,从马尔科夫链开始到结束状态的路径就是测试路径。(3)使用隐马尔可夫模型生成测试用例,符合软件测试的随机性,同时重要性越高的类越容易被测试到,因此可以有效保证测试资源不被浪费,算法更加高效。
下面结合附图对本发明做进一步详细的描述。
附图说明
图1为本发明一种软件测试用例自动生成方法的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;南京理工大学,未经国家计算机网络与信息安全管理中心;南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810190656.2/2.html,转载请声明来源钻瓜专利网。