[发明专利]通过使用测试用例来执行测试的方法和装置在审
申请号: | 201880014545.4 | 申请日: | 2018-02-28 |
公开(公告)号: | CN110337642A | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 权五升 | 申请(专利权)人: | 搜牌逻有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 王建国;李琳 |
地址: | 韩国*** | 国省代码: | 韩国;KR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 使用测试 方法和装置 源代码 结构化查询语言 数据库交互 符号执行 自动生成 语句 工作量 应用 | ||
1.一种使用测试用例的测试方法,所述测试方法包括:
基于符号执行来生成针对包括结构化查询语言SQL语句的源代码的测试用例;以及
通过将所述测试用例应用于与数据库交互工作的被测系统来执行测试,
其中,所述测试用例包括以下值中的至少一个:所述被测系统的输入值、当在所述被测系统中处理所述输入值时被预测为输出值的预期输出值、针对所述数据库的设置值、以及当所述被测系统与所述数据库交互工作时被预测为要存储在所述数据库中的预期结果值。
2.根据权利要求1所述的测试方法,其中,所述测试用例的生成包括:
确定所述源代码的至少一个程序路径;
根据所述至少一个程序路径来执行所述符号执行;以及
使用针对根据所述符号执行而生成的逻辑表达式的求解器来生成所述测试用例。
3.根据权利要求2所述的测试方法,其中,所述至少一个程序路径的确定包括:
解析所述源代码来生成抽象语法树AST;
基于所生成的抽象语法树来生成控制流图CFG;以及
基于所述控制流图来确定所述至少一个程序路径。
4.根据权利要求2所述的测试方法,其中,所述符号执行的执行包括:当SQL语句被包括在所述至少一个程序路径中时,根据所述源代码的SQL语句和宿主变量来映射所述数据库中所包括的表的列。
5.根据权利要求4所述的测试方法,其中,所述映射包括:
解析所述SQL语句以识别所述表;
使用所述数据库的元数据来获取构成所识别的表的列;以及
将所获取的列映射到所述源代码的宿主变量。
6.根据权利要求1所述的测试方法,还包括:在生成所述测试用例之后,以XML格式和JSON格式中的一种来存储所生成的测试用例。
7.根据权利要求1所述的测试方法,其中,当所述被测系统是模块时,所述测试用例的执行包括:
将所述设置值应用于所述数据库;
利用所述输入值来配置所述被测系统的输入参数;
利用所配置的输入参数来调用所述被测系统的函数;以及
将作为调用所述函数的结果而获得的所述被测系统的输出值与所述预期输出值进行比较,以及将存储在所述数据库中的结果值与所述预期结果值进行比较。
8.根据权利要求1所述的测试方法,其中,当所述被测系统为中间件服务时,所述测试用例的执行包括:
使用所述测试用例来生成输入文档;
调用与所述被测系统交互工作的中间件的服务,并将所述输入文档发送到所述中间件;以及
从所述中间件接收测试结果文档。
9.根据权利要求8所述的测试方法,其中,所述中间件被配置为:
从所述输入文档中识别所述测试用例的数据库设置值;
使用所标识的数据库设置值来对所述数据库执行初始设置;
从所述输入文档中识别所述测试用例的输入值;以及
通过输入所述输入值作为所述被测系统的输入参数来执行所述被测系统。
10.根据权利要求1所述的测试方法,其中,当在每次执行所述被测系统时所述被测系统的输出值改变时,从所述测试用例中排除所述预期输出值,或者由宏、引用或脚本中的一个来确定所述预期输出值。
11.一种用于生成测试用例的装置,所述装置包括执行至少一个指令的处理器和存储所述至少一个指令的存储器,其中,当执行所述至少一个指令时,所述处理器被配置为:
基于符号执行来确定包括结构化查询语言SQL语句的源代码的至少一个程序路径;
根据所述至少一个程序路径来执行所述符号执行;以及
通过使用针对根据所述符号执行而生成的逻辑表达式的求解器来生成测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于搜牌逻有限公司,未经搜牌逻有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880014545.4/1.html,转载请声明来源钻瓜专利网。