[发明专利]一种测试用例的生成方法和装置有效
申请号: | 201810175548.8 | 申请日: | 2018-03-02 |
公开(公告)号: | CN108446220B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 马立新;李春;李群英;孔祥靖;王之一;刘立明;许劭庆;郝成亮;陈明;颜佳;潘建宏;田健;杨爽;孙伟;刘洪波;刘超;曹源;郑磊;李黎滨;王佳 | 申请(专利权)人: | 国网吉林省电力有限公司信息通信公司;国家电网公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 陈宙 |
地址: | 130021 吉林*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试 生成 方法 装置 | ||
本发明公开了一种测试用例的生成方法和装置,所述方法包括:输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;对于每条状态间转换路径,确定该条状态间转换路径所涉及的状态间的转换动作中的参数是否包含预设的参数组合情况;若是,筛选出该条状态间转换路径;将筛选出的状态间转换路径生成对应的测试用例。应用本发明可以保证测试效率的同时缩减测试用例数量,减小软件测试执行的代价。
技术领域
本发明涉及软件测试技术领域,特别是指一种测试用例的生成方法和装置。
背景技术
在软件工程中的测试用例(test case)是由测试者用于确定应用或软件系统是否正确工作的一组条件或变量。设计测试用例对于测试编写者来说可以是非常耗时的工作。用于设计测试用例的常见方法是手动编码来准备输入和预期输出,以及做出关于测试框架所提供的功能是否适合所选对象的决定。
为提高测试者的工作效率,目前有一种基于模型的测试(MBT)方法,MBT的一般操作流程为,首先在系统需求或者规约文档的基础上建立某种形式的模型,模型说明了系统所有的潜在行为意图。接下来需要定义测试用例的选择要求,形成测试用例规约;编写算法将其应用于模型之上来生成测试用例。然后在被测系统(SUT,System Under Test)环境中真正执行所有测试用例,可以利用测试脚本来自动化执行测试,最终得到测试结果。
虽然,相比于编写测试用例脚本,按照此方法,可以更为便捷的生成测试用例;但此方法遇到的问题是,生成的用例中存在过多冗余用例,导致软件测试执行的代价增加。
发明内容
有鉴于此,本发明的目的在于提出一种测试用例的生成方法和装置,保证测试效率的同时缩减测试用例数量,减小软件测试执行的代价。
基于上述目的本发明提供一种测试用例的生成方法,包括:
输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;
根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;
对于每条状态间转换路径,在确定该条状态间转换路径所涉及的状态间的转换动作中的参数是否包含预设的参数组合情况时,筛选出该条状态间转换路径;
将筛选出的状态间转换路径生成对应的测试用例。
其中,所述输入被测系统的状态转换关系,具体包括:
基于转换的模型以图形化的方式输入被测系统的状态转换关系:所述系统的各种状态以圆形节点表示,状态间的转换动作以圆形节点间的弧线表示。
其中,所述遍历算法具体为:广度优先遍历算法或者深度优先遍历算法。
其中,所述预设的参数组合情况具体为:预设的参数配对组合情况。
其中,所述状态间的转换动作包括:逻辑单元token,或由多个逻辑单元token的序列组成的函数;以及
所述将筛选出的状态间转换路径生成对应的测试用例,具体包括:
将所述状态间转换路径所涉及的状态间的转换动作中所包括的token所对应的方法,序列化为可扩展标记语言文件;
利用XML解析器将所述文件生成测试用例。
本发明还提供一种测试用例的生成装置,包括:
状态转换关系输入模块,用于输入被测系统的状态转换关系;其中,所述状态转换关系中包括所述系统的各种状态,以及状态间的转换动作;
路径遍历模块,用于根据所述系统的状态转换关系,利用遍历算法找到多条状态间转换路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网吉林省电力有限公司信息通信公司;国家电网公司,未经国网吉林省电力有限公司信息通信公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810175548.8/2.html,转载请声明来源钻瓜专利网。