[发明专利]构建测试用例和代码测试的方法、装置、设备及介质在审
申请号: | 202210259900.2 | 申请日: | 2022-03-16 |
公开(公告)号: | CN114579466A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 张淏然 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 邓菊香 |
地址: | 101116 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 构建 测试 代码 方法 装置 设备 介质 | ||
本发明实施例涉及一种构建测试用例和代码测试的方法、装置、设备及介质,涉及计算机技术领域,该构建测试用例的方法包括:获取待测对象的源代码,所述源代码包括条件语句,根据所述条件语句确定预期运行的条件分支和所述条件分支下的执行语句;基于所述条件分支和所述条件分支下的执行语句,构建测试用例,其中,所述测试用例包括所述条件分支与所述条件分支下的执行语句之间的映射关系;该代码测试的方法包括:获取待测对象的源代码;运行预先构建的测试用例,得到实际运行结果,其中,所述测试用例中通过条件‑断言映射对的形式描述预期运行结果;通过对比所述实际运行结果和所述预期运行结果来校验所述源代码的正确性。
技术领域
本发明涉及计算机技术领域,尤其涉及一种构建测试用例和代码测试的方法、装置、设备及介质。
背景技术
在软件开发过程中,目前多利用单元测试(Unit Testing)来对源代码程序模块的最小单位进行正确性检验,通常需构建测试用例(case)来进行测试,而针对包含许多复杂的条件判断的语句的源代码,在编写测试用例时,一个测试用例(case)只能测试条件语句所包含的一种情况,因此在进行单元测试时需编写多个case来覆盖全部情况,导致编写测试用例所需的编码量巨大且包含大量冗余代码,会带来巨大的工作量。
在实现本发明的过程中,发明人发现相关技术中至少存在如下技术问题:
相关技术中为了减少单元测试代码冗余以实现编写单元测试代码的方便,通过重构源代码(业务代码)的方式来替代程序中的条件语句,然而重构代码需进行复杂、大量的改动,仍会带来巨大的工作量并会为业务引入诸多不可控风险。因此,在不改动源代码的情况下,如何构建测试用例使得在既能实现测试源代码的条件语句的同时还能够减少单元测试代码冗余,成为亟待解决的问题。
发明内容
第一方面,本发明的实施例提供了一种构建测试用例的方法,包括:获取待测对象的源代码,上述源代码包括条件语句,根据上述条件语句确定预期运行的条件分支和上述条件分支下的执行语句;基于上述条件分支和上述条件分支下的执行语句,构建测试用例,其中,上述测试用例包括上述条件分支与上述条件分支下的执行语句之间的映射关系。
根据本发明的实施例,上述基于上述条件分支和上述条件分支下的执行语句,构建测试用例,包括:对于每一条件分支,以该条件分支下的执行语句作为断言,构建条件-断言映射对;将上述条件-断言映射对存储至供上述测试用例调用的预设的第一字典。
第二方面,本发明的实施例提供了一种代码测试方法,包括:获取待测对象的源代码;运行预先构建的测试用例,得到实际运行结果,其中,上述测试用例中通过条件-断言映射对描述预期运行结果;通过对比上述实际运行结果和上述预期运行结果来校验上述源代码的正确性。
根据本发明的实施例,上述源代码包括条件语句,在运行预先构建的测试用例之前,上述方法还包括:根据上述源代码的条件语句确定预期运行结果,上述预期运行结果包括预期运行的条件分支和上述条件分支下的执行语句;基于上述预期运行结果,预先构建测试用例,其中,通过条件-断言映射对的形式来描述上述预期运行的条件分支和上述条件分支下的执行语句。
根据本发明的实施例,上述基于上述预期运行结果,预先构建测试用例,包括:初始化测试用例;基于上述预期运行的条件分支和上述条件分支下的执行语句,对于每一条件分支,以该条件分支下的执行语句作为断言,构建条件-断言映射对;将上述条件-断言映射对存储至供上述测试用例调用的预设的第一字典。
根据本发明的实施例,上述运行预先构建的测试用例,得到实际运行结果,包括:运行上述测试用例并调用上述第一字典,遍历上述第一字典中的条件-断言映射对,得到上述条件-断言映射对对应的实际运行结果;其中,对于每一条件-断言映射对,运行上述测试用例,得到上述测试用例执行该条件-断言映射对的实际运行结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210259900.2/2.html,转载请声明来源钻瓜专利网。