[发明专利]测试案例生成方法及装置在审
申请号: | 202110551853.4 | 申请日: | 2021-05-20 |
公开(公告)号: | CN113157590A | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 杨伦;漆英;刘林新;胡文涛 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 孙乳笋;周永君 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 案例 生成 方法 装置 | ||
本发明提供了一种测试案例生成方法及装置,可用于金融领域或其他领域。所述方法包括:根据待生成测试案例的程序,获取所述程序的调用链路中多个程序函数,并在所述程序函数中放入预设的出入口函数;利用加入出入口函数的各程序函数,运行预设测试数据,并通过所述出入口函数采集各程序函数的调用信息;根据各程序函数的调用信息,生成所述程序的测试案例。本发明通过对程序调用链设置出入口函数,录制调用信息,从而生成高质量的测试案例,解决了人为手工编写测试案例的高成本、低效率,难以维护的问题。
技术领域
本发明涉及测试案例技术领域,尤指一种测试案例生成方法及装置。
背景技术
传统的测试案例主要由输入、函数调用、输出与预期值比较三个部分构成,是对于程序的真实调用。而对于使用Mockito框架的项目,通常会Mock外应用服务,并通过记录、重放来排除服务间的依赖,是服务函数的模拟调用。
目前两种测试案例各有利弊。传统测试案例优势在于代码简单且为真实调用,而缺点是比较依赖外部环境,难以维护,且不灵活,不符合单元测试的思想。而使用Mockito的测试案例,虽然不依赖环境,比较容易维护,但是在编写阶段需要模拟各函数调用的输入输出,同样需要花费大量的时间成本。
而随着科技产品的不断更新,项目的研发周期不断缩短,缺陷密度也随之增大,高质量的测试脚本必不可少。但是,编写、维护测试案例也会必然会提升开发人员、测试人员的工作量,影响开发效率,而且由于编写代码人员水平参差不齐,测试案例的质量可能达不到要求,没有真正起到守护核心代码的作用。
发明内容
针对现有技术中存在的问题,本发明实施例的主要目的在于提供一种测试案例生成方法及装置,实现生成高质量的测试案例,解决人为手工编写测试案例的高成本、低效率,难以维护的问题。
为了实现上述目的,本发明实施例提供一种测试案例生成方法,所述方法包括:
根据待生成测试案例的程序,获取所述程序的调用链路中多个程序函数,并在所述程序函数中放入预设的出入口函数;
利用加入出入口函数的各程序函数,运行预设测试数据,并通过所述出入口函数采集各程序函数的调用信息;
根据各程序函数的调用信息,生成所述程序的测试案例。
可选的,在本发明一实施例中,所述根据待生成测试案例的程序,获取所述程序的调用链路中多个程序函数包括:
对待生成测试案例的程序进行测试类扫描,并利用反射机制,获取测试类对应的字节码对象;
根据反射机制,获取所述字节码对象对应的多个程序函数,并对所述程序函数进行加标签处理。
可选的,在本发明一实施例中,所述方法还包括:
对所述出入口函数采集到的各程序函数的调用信息进行反编译,得到字节码信息;
根据所述字节码信息,得到各程序函数对应的输入信息及输出信息。
可选的,在本发明一实施例中,所述根据各程序函数的调用信息,生成所述程序的测试案例包括:根据各程序函数对应的输入信息及输出信息,生成所述程序的测试案例。
本发明实施例还提供一种测试案例生成装置,所述装置包括:
出入口函数模块,用于根据待生成测试案例的程序,获取所述程序的调用链路中多个程序函数,并在所述程序函数中放入预设的出入口函数;
调用信息模块,用于利用加入出入口函数的各程序函数,运行预设测试数据,并通过所述出入口函数采集各程序函数的调用信息;
测试案例模块,用于根据各程序函数的调用信息,生成所述程序的测试案例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110551853.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种小区物业绿化管理用草坪修剪装置
- 下一篇:一种具有防磨损功能的水泵用叶轮