【技术实现步骤摘要】
并发服务的测试用例处理方法及装置
本申请涉及自动化测试领域,尤其涉及一种并发服务的测试用例处理方法、装置、电子设备及计算机可读存储介质。
技术介绍
随着业务的高速发展,要满足业务高性能高可用的要求,业务程序会引入各种并发处理或异步处理的方式来解决问题。在并发服务中,例如在区块链业务中,为了提高区块内的交易集的有效性校验,会引入多线程并发的方式来提高验证效率,而为了提高集群内的共识效率和海量数据的存储性能,会引入异步通信和投票等待方式。然而,由于各种高性能并发处理方式会割裂区块链对于区块或者交易处理的全程,因此,难以快速地获取其数据处理的全流程,并把不同场景的流程处理整合在一起分析挖掘出更多的路径测试场景。
技术实现思路
本申请实施例提供一种并发服务的测试用例处理方法、装置、电子设备及计算机可读存储介质,能够为并发服务提供更加全面的测试用例,从而保证测试的准确性。本申请实施例的技术方案是这样实现的:本申请实施例提供一种并发服务的测试用例处理方法,包括:通过在并发服务的不同处理 ...
【技术保护点】
1.一种并发服务的测试用例处理方法,其特征在于,所述方法包括:/n通过在并发服务的不同处理部分注入的代码,跟踪所述不同处理部分在执行目标场景的测试用例时所形成的函数调用链路;/n对所述不同处理部分的函数调用链路进行整合,得到对应所述目标场景的全函数调用链路;/n将所述目标场景的全函数调用链路、以及所述目标场景的并发场景的全函数调用链路进行合并,得到全维度的函数调用链路;/n对所述全维度的函数调用链路进行遍历处理,确定出区别于所述全函数调用链路的新函数调用链路,并基于所述新函数调用链路生成对应的新测试用例。/n
【技术特征摘要】
1.一种并发服务的测试用例处理方法,其特征在于,所述方法包括:
通过在并发服务的不同处理部分注入的代码,跟踪所述不同处理部分在执行目标场景的测试用例时所形成的函数调用链路;
对所述不同处理部分的函数调用链路进行整合,得到对应所述目标场景的全函数调用链路;
将所述目标场景的全函数调用链路、以及所述目标场景的并发场景的全函数调用链路进行合并,得到全维度的函数调用链路;
对所述全维度的函数调用链路进行遍历处理,确定出区别于所述全函数调用链路的新函数调用链路,并基于所述新函数调用链路生成对应的新测试用例。
2.根据权利要求1所述的方法,其特征在于,所述通过在并发服务的不同处理部分注入的代码,跟踪所述不同处理部分在执行目标场景的测试用例时所形成的函数调用链路,包括:
在所述并发服务的不同处理部分对应的源代码的编译期注入代码,或者,在所述并发服务的不同处理部分对应的源代码的运行期注入代码,以使
所述注入的代码被执行时,跟踪所述不同处理部分在执行目标场景的测试用例时所形成的函数调用链路。
3.根据权利要求2所述的方法,其特征在于,所述在所述并发服务的不同处理部分对应的源代码的编译期注入代码,包括:
在所述并发服务的不同处理部分对应的源代码的编译期,基于编译器进行代码注入;
所述在所述并发服务的不同处理部分对应的源代码的运行期注入代码,包括:
在所述并发服务的不同处理部分对应的源代码的运行期,通过插桩和字节码操控框架结合的方式进行代码注入。
4.根据权利要求1所述的方法,其特征在于,所述跟踪所述不同处理部分在执行目标场景的测试用例时所形成的函数调用链路,包括:
获取所述不同处理部分在执行目标场景的测试用例时所调用的函数、以及每个所述函数被调用的先后顺序;
根据每个所述函数被调用的先后顺序,将各处理部分在执行目标场景的测试用例时所调用的函数进行组合,得到对应的函数调用链路。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述并发服务的不同处理部分的入口函数进行代码注入;
所述对所述不同处理部分的函数调用链路进行整合,包括:
当在所述入口函数中被注入的代码被执行时实现以下操作:
通过反射机制获取所述函数调...
【专利技术属性】
技术研发人员:周勇钧,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。