[发明专利]测试用例自动生成的方法、装置、计算机设备及存储介质有效
申请号: | 201711227912.2 | 申请日: | 2017-11-29 |
公开(公告)号: | CN107885663B | 公开(公告)日: | 2021-01-22 |
发明(设计)人: | 王剑亮;李冬;刘奕宏 | 申请(专利权)人: | 中国电子产品可靠性与环境试验研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 黄晓庆 |
地址: | 511300 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 自动 生成 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及一种测试用例自动生成的方法、装置、计算机设备及存储介质。一种测试用例自动生成的方法、装置、计算机设备及存储介质,在执行程序语句的过程中,当程序语句中的分支语句为非线性逻辑表达式时,调用预设结果值取代非线性逻辑表达式中的变量值,预设结果值为与非线性逻辑表达式对应程序处理测试数据得到的结果值;当程序语句中的分支语句为外部调用函数时,调用预设运行结果取代调用函数,预设运行结果为与调用函数对应的函数处理测试数据得到的运行结果。本方案解决了符号执行无法针对非线性逻辑表达式和外部调用函数执行的问题。
技术领域
本发明涉及软件测试领域,特别是涉及一种测试用例自动生成的方法、装置、计算机设备及存储介质。
背景技术
随着全球信息化的快速发展,人们越来越重视各工控系统、信息系统等软件的可靠性、安全性问题。软件测试是提高软件的可靠性、安全性的主要技术。其中,如何通过提高软件测试的自动化程度来提高软件的安全性、可靠性等问题已成为当今学术界研究的热点。
测试用例的自动化生成是软件测试自动化程度的重要体现。现阶段,一般采用基于符号执行法的测试用例生成技术,该方法首先分析程序的执行路径,然后用符号替换,然后按照程序的路径静态执行相应的符号表达式,当路径执行完毕后生成测试用例。然而这个方法存在无法针对非线性逻辑表达式和外部调用函数执行的缺陷。
发明内容
基于此,有必要针对符号执行存在无法针对非线性逻辑表达式和外部调用函数执行的问题,提供一种测试用例自动生成的方法、装置、计算机设备及存储介质。
一种测试用例自动生成的方法,包括以下步骤:
加载被测程序,接收测试数据;
根据测试数据执行被测程序中的当前程序语句,检测分支语句;
若分支语句为非线性逻辑表达式,则调用预设结果值取代非线性逻辑表达式中的变量值,预设结果值为与非线性逻辑表达式对应程序处理测试数据得到的结果值;
若分支语句为调用函数,则调用预设运行结果取代调用函数,预设运行结果为与调用函数对应的函数处理测试数据得到的运行结果;
更新被测程序对应路径,在ture的分支语句中执行被测程序的下一程序语句,将下一程序语句作为当前程序语句,返回根据测试数据执行被测程序中的当前程序语句的步骤;
当对应路径执行完毕时,生成测试用例。
在其中一个实施例中,加载被测程序的步骤前还包括:
在被测程序中插桩进行符号执行的函数。
在其中一个实施例中,接收测试数据的步骤前还包括:
接收并符号化处理原始数据,生成测试数据。
在其中一个实施例中,在被测程序中插桩进行符号执行的函数的步骤前还包括:
构建被测程序的函数调用关系图。
在其中一个实施例中,检测分支语句的步骤前还包括:
判断程序语句是否为程序末语句;
当程序语句不为程序末语句时,根据程序语句执行结果更新符号值并进入检测分支语句的步骤;
当程序语句为程序末语句时,判断被测程序中的所有路径是否执行完毕。
在其中一个实施例中,当对应路径执行完毕时,生成测试用例的步骤之后,还包括:
判断被测程序中所有路径是否执行完毕。
在其中一个实施例中,判断被测程序中的所有路径是否执行完毕的步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子产品可靠性与环境试验研究所,未经中国电子产品可靠性与环境试验研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711227912.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种方舱升降机构和自装卸式消防方舱
- 下一篇:新型移动传媒车装置