[发明专利]软件测试方法、电子设备及存储介质在审
申请号: | 202111324919.2 | 申请日: | 2021-11-10 |
公开(公告)号: | CN114090431A | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 苏耿槟;夏勇;刘建波 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 侯艳华;张颖玲 |
地址: | 518052 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 测试 方法 电子设备 存储 介质 | ||
本申请公开了一种软件测试方法、电子设备及存储介质,应用于第一设备的软件测试方法包括:在执行第一测试用例之前,激活第一测试用例相关的所有Mock方法;每个Mock方法中包括第一声明,且第一声明的格式与Mock方法对应的第一Java方法的第二声明的格式相同;在执行第一测试用例的过程中,向第二设备发送第一测试指令;在执行完第一测试用例的情况下,对已激活的所有Mock方法进行去激活;第一测试指令用于指示第二设备调用被测试的第一源码文件中的第一Java方法进行测试;第一Java方法中设有第一字节码;第一字节码用于指示第二设备在调用对应的第一Java方法进行测试之前,反射调用对应的Mock方法进行测试。
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件测试方法、电子设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的技术,例如,区块链(Blockchain)、大数据、分布式等技术被应用在金融领域,传统金融业正在逐步向金融科技转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。在金融科技领域下,在进行软件测试的过程中,当需要排除一些外部因素的干扰时,通常利用Mock技术创建虚拟的Mock对象,来替代不容易构造或不容易获得的对象进行测试。
相关技术中,通过修改被测源码中的Java方法的字节码,构造出Mock对象,并对被测源码完成测试之后,将修改的Java方法恢复为原样。但构造Mock对象涉及的Mock语法较复杂,构造Mock对象的效率较低且容易出错,导致软件测试效率较低。
发明内容
有鉴于此,本发明实施例提供一种软件测试方法、电子设备及存储介质,以解决相关技术中构造Mock对象的效率较低且容易出错的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
本申请实施例提供了一种软件测试方法,应用于第一设备,所述方法包括:
在执行第一测试用例之前,激活所述第一测试用例相关的所有Mock方法;其中,每个Mock方法中包括第一声明,且第一声明的格式与Mock方法对应的第一Java方法的第二声明的格式相同;
在执行所述第一测试用例的过程中,向第二设备发送第一测试指令;
在执行完所述第一测试用例的情况下,对已激活的所有Mock方法进行去激活;其中,
第一测试指令用于指示所述第二设备调用被测试的第一源码文件中的第一Java方法进行测试;第一Java方法中设有第一字节码;第一字节码用于指示所述第二设备在调用对应的第一Java方法进行测试之前,反射调用第一Java方法在所述第一测试用例中对应的Mock方法进行测试。
上述方案中,每个Mock方法还包括关于Mock方法的第一注解;在所述激活所述第一测试用例相关的所有Mock方法之前,所述方法还包括:
基于第一测试用例的源码中包括的第一注解,识别出第一测试用例相关的Mock方法;
基于识别出的Mock方法的第一注解和第一声明,从第一测试用例对应的第一源码文件中确定出Mock方法对应的第一Java方法;基于确定出的第一Java方法,向运行对应的第一源码文件中的源码的第二设备发送第一指令;其中,所述第一指令用于指示第二设备在第一源码文件中的对应第一Java方法中增加第一字节码。
上述方案中,所述识别出第一测试用例相关的Mock方法,包括以下至少之一:
解析出第一测试用例所属的测试类,以及基于预先缓存的测试类和Mock方法之间的对应关系,确定出第一测试用例相关的第一类Mock方法;第一类Mock方法的访问控制符为private;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111324919.2/2.html,转载请声明来源钻瓜专利网。