[发明专利]基于Java虚拟机的黑盒测试方法、装置、终端及存储介质在审
申请号: | 201910432689.8 | 申请日: | 2019-05-23 |
公开(公告)号: | CN110309055A | 公开(公告)日: | 2019-10-08 |
发明(设计)人: | 瞿庆 | 申请(专利权)人: | 深圳壹账通智能科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 黄章辉 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标应用 测试 黑盒测试 代码覆盖率 存储介质 代码覆盖 测试用例运行 软件测试技术 终端 测试请求 测试效率 代码获取 代码运行 监测 更新 | ||
1.一种基于Java虚拟机的黑盒测试方法,其特征在于,所述方法包括下述步骤:
当接收到JVM的用户对目标应用的测试请求时,将所述目标应用的当前测试用例输入到所述JVM,以根据所述当前测试用例对所述目标应用进行黑盒测试,所述目标应用为所述JVM上运行的应用程序;
当所述目标应用根据所述当前测试用例运行时,对所述目标应用的代码运行轨迹进行监测,以得到所述目标应用的已执行代码,根据所述已执行代码获取所述当前测试用例对所述目标应用的当前代码覆盖率;
根据所述当前代码覆盖率和所述已执行代码,生成所述当前测试用例的代码覆盖报告,所述代码覆盖报告包括所述目标应用的当前代码覆盖率和所述目标应用的已执行代码;
根据所述代码覆盖报告对所述当前测试用例进行更新,以继续对所述目标应用进行测试。
2.如权利要求1所述的方法,其特征在于,对所述目标应用的代码运行轨迹进行监测,以得到所述目标应用的已执行代码,根据所述已执行代码获取所述当前测试用例对所述目标应用的当前代码覆盖率的步骤,包括:
在所述目标应用根据所述当前测试用例加载所述目标应用的代码时,确定所述目标应用的待加载class文件;
对所述待加载class文件进行字节码修改,以得到修改后的所述目标应用的待执行class文件;
通过所述待执行class文件获取所述已执行代码;
根据所述已执行代码统计所述当前测试用例的代码覆盖率。
3.如权利要求2所述的方法,其特征在于,确定所述目标应用的待加载class文件的步骤,包括:
接收所述JVM用户选择的所述目标应用的测试范围;
根据所述测试范围确定所述目标应用的待加载class文件。
4.如权利要求1所述的方法,其特征在于,根据所述已执行代码获取所述当前测试用例对所述目标应用的当前代码覆盖率的步骤之后,所述方法还包括:
根据所述已执行代码获取所述当前测试用例的行覆盖率、方法覆盖率和分支覆盖率;
根据当前代码覆盖率和已执行代码,生成当前测试用例的代码覆盖报告的步骤包括:
根据所述当前代码覆盖率、所述行覆盖率、所述方法覆盖率、所述分支覆盖率和所述已执行代码,生成所述当前测试用例的代码覆盖报告。
5.如权利要求1所述的方法,其特征在于,根据所述已执行代码获取所述当前测试用例对所述目标应用的当前代码覆盖率的步骤之后,所述方法还包括:
根据所述已执行代码获取所述目标应用的未执行代码;
根据当前代码覆盖率和已执行代码,生成当前测试用例的代码覆盖报告的步骤包括:
根据所述当前代码覆盖率、所述已执行代码和所述未执行代码,生成所述当前测试用例的代码覆盖报告。
6.一种基于Java虚拟机的黑盒测试装置,其特征在于,所述装置包括:
测试用例输入单元,用于当接收到JVM的用户对目标应用的测试请求时,将所述目标应用的当前测试用例输入到所述JVM,以根据所述当前测试用例对所述目标应用进行黑盒测试;
监测获取单元,用于当所述目标应用根据所述当前测试用例运行时,对所述目标应用的代码运行轨迹进行监测,以得到所述目标应用的已执行代码,根据所述已执行代码获取所述当前测试用例对所述目标应用的当前代码覆盖率;
报告导出单元,用于根据所述当前代码覆盖率和所述已执行代码,生成所述当前测试用例的代码覆盖报告;以及
测试用例更新单元,用于根据所述代码覆盖报告对所述当前测试用例进行更新,以继续对所述目标应用进行测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳壹账通智能科技有限公司,未经深圳壹账通智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910432689.8/1.html,转载请声明来源钻瓜专利网。