[发明专利]测试方法、装置、电子设备和计算机可读存储介质有效
申请号: | 201910811371.0 | 申请日: | 2019-08-29 |
公开(公告)号: | CN110532185B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 杨洋;潘丽丽;田燕红;付新丽 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 鄢功军 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 方法 装置 电子设备 计算机 可读 存储 介质 | ||
本公开提供了一种测试方法,包括:对目标被测程序的源代码进行分析,确定源代码的程序逻辑和源代码中的程序变量的属性;根据源代码的程序逻辑和源代码中的程序变量的属性生成测试代码和测试程序逻辑断言;获取用于目标被测程序的测试数据文件;以及基于测试数据文件执行测试代码和测试程序逻辑断言,以便对目标被测程序进行测试。本公开还提供了一种测试装置、一种电子设备和一种计算机可读存储介质。
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种测试方法、一种测试装置、一种电子设备和一种计算机可读存储介质。
背景技术
目前,单元测试生成工具一般仅支持JAVA类型,对于Web框架模型而言,通常采用手工编写测试案例的方式对Web框架模型的程序进行单元测试。然而,手工编写测试案例会增加输入错误的风险,增加开发人员单元测试的编码量。因此,在相关技术中,至少对于Web框架模型的程序而言,手工编写单元测试的测试案例的方式存在测试效率低的问题。
发明内容
有鉴于此,本公开提供了一种测试方法、一种测试装置、一种电子设备和一种计算机可读存储介质。
本公开的一个方面提供了一种测试方法,包括:对目标被测程序的源代码进行分析,确定上述源代码的程序逻辑和上述源代码中的程序变量的属性;根据上述源代码的程序逻辑和上述源代码中的程序变量的属性生成测试代码和测试程序逻辑断言;获取用于上述目标被测程序的测试数据文件;以及基于上述测试数据文件执行上述测试代码和测试程序逻辑断言,以便对上述目标被测程序进行测试。
根据本公开的实施例,根据上述源代码的程序逻辑和上述源代码中的程序变量的属性生成测试代码和测试程序逻辑断言包括:根据上述源代码的程序逻辑获取上述源代码中的正常分支流程、异常分支流程、以及程序返回值的类型和内容;根据上述源代码中的正常分支流程调用固定逻辑模板,以生成固定逻辑分支测试代码;根据上述源代码中的异常分支流程调用异常流程模板,以生成异常分支测试代码;以及根据上述源代码中的程序返回值的类型和内容生成上述测试程序逻辑断言。
根据本公开的实施例,基于上述测试数据文件执行上述测试代码和测试程序逻辑断言,以便对上述目标被测程序进行测试包括:根据上述目标被测程序的源代码的类型确定目标测试框架;以及基于上述目标测试框架和上述测试数据文件执行上述测试代码和测试程序逻辑断言。
根据本公开的实施例,基于上述目标测试框架和上述测试数据文件执行上述测试代码和测试程序逻辑断言包括:根据上述目标测试框架的类型确定是否需要调用框架接口;以及响应于需要调用上述框架接口,通过调用上述框架接口获取上述目标测试框架的内容,以便基于上述目标测试框架的内容和上述测试数据文件执行上述测试代码和测试程序逻辑断言。
根据本公开的实施例,根据上述目标测试框架的类型确定是否需要调用框架接口包括:根据上述目标测试框架的类型判断用于执行上述测试代码和测试程序逻辑断言的框架执行器是否支持上述目标测试框架,以确定是否需要调用上述框架接口。
本公开的另一方面提供了一种测试装置,包括:确定模块,用于对目标被测程序的源代码进行分析,确定上述源代码的程序逻辑和上述源代码中的程序变量的属性;生成模块,用于根据上述源代码的程序逻辑和上述源代码中的程序变量的属性生成测试代码和测试程序逻辑断言;获取模块,用于获取用于上述目标被测程序的测试数据文件;以及执行模块,用于基于上述测试数据文件执行上述测试代码和测试程序逻辑断言,以便对上述目标被测程序进行测试。
根据本公开的实施例,上述生成模块包括:获取单元,用于根据上述源代码的程序逻辑获取上述源代码中的正常分支流程、异常分支流程、以及程序返回值的类型和内容;第一生成单元,用于根据上述源代码中的正常分支流程调用固定逻辑模板,以生成固定逻辑分支测试代码;第二生成单元,用于根据上述源代码中的异常分支流程调用异常流程模板,以生成异常分支测试代码;以及第三生成单元,用于根据上述源代码中的程序返回值的类型和内容生成上述测试程序逻辑断言。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910811371.0/2.html,转载请声明来源钻瓜专利网。