System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 多进程并行测试方法、装置、设备、程序产品以及介质制造方法及图纸_技高网

多进程并行测试方法、装置、设备、程序产品以及介质制造方法及图纸

技术编号:40607916 阅读:3 留言:0更新日期:2024-03-12 22:14
本发明专利技术提供了一种多进程并行测试方法,包括:根据执行顺序对所述目标代码进行拆分,得到至少两个测试用例,通过确定每一个测试用例对应的目标进程;通过多进程广播组件,将每一个测试用例发送至对应的目标进程中;通过同步锁控制组件控制至少两个测试用例的逻辑执行顺序;通过单元测试框架执行器组件,执行相应的测试用例,得到多进程并行测试结果。本发明专利技术还提供了多进程并行测试装置、电子设备、程序产品以及存储介质。本发明专利技术能够提升多进程并行测试的效率和覆盖度。

【技术实现步骤摘要】

本专利技术涉及多进程并行测试技术,尤其涉及多进程并行测试方法、装置、电子设备、程序产品以及存储介质。


技术介绍

1、相关技术在进行代码的自动化测试时,传统的android test实现的测试用例代码,如果遇到多进程架构的应用程序,由于测试代码只会被测试架构中创建的instrumentation thread组件来运行,无法跨进程实现测试用例的自动化测试,因此不得不采用人工测试的方式。人工测试是采用人工的方式对被测应用的每一个界面进行多进程并行测试,极大的消耗人力,并且效率低下,容易漏测容易出错。这样不但导致了测试效率低下,而且严重影响了测试效率与测试的准确性。


技术实现思路

1、有鉴于此,本专利技术实施例提供一种多进程并行测试方法、装置、电子设备、程序产品以及存储介质,能够自动适配不同的多进程并行测试的环境,同时提升多进程并行测试的测试效率以及覆盖率,减少测试的成本,提升测试的准确性。

2、本专利技术实施例的技术方案是这样实现的:

3、本专利技术实施例提供了一种多进程并行测试方法,包括:

4、获取待测试的目标代码;

5、根据执行顺序对所述目标代码进行拆分,得到至少两个测试用例,其中,至少两个测试用例分别对应主进程和至少一个子进程;

6、为每一个目标进程分别配置支撑开发工具包,其中,所述支撑开发工具包包括:多进程广播组件、同步锁控制组件以及单元测试框架执行器组件;

7、确定每一个测试用例对应的目标进程;

<p>8、通过所述多进程广播组件,将每一个测试用例发送至对应的目标进程中;

9、通过所述同步锁控制组件控制所述至少两个测试用例的逻辑执行顺序;

10、通过所述单元测试框架执行器组件,执行相应的测试用例,得到多进程并行测试结果。

11、本专利技术实施例还提供了一种多进程并行测试装置,所述装置包括:

12、信息传输模块,用于获取待测试的目标代码;

13、信息处理模块,用于根据执行顺序对所述目标代码进行拆分,得到至少两个测试用例,其中,至少两个测试用例分别对应主进程和至少一个子进程;

14、所述信息处理模块,用于为每一个目标进程分别配置支撑开发工具包,其中,所述支撑开发工具包包括:多进程广播组件、同步锁控制组件以及单元测试框架执行器组件;

15、所述信息处理模块,用于确定每一个测试用例对应的目标进程;

16、所述信息处理模块,用于通过所述多进程广播组件,将每一个测试用例发送至对应的目标进程中;

17、所述信息处理模块,用于通过所述同步锁控制组件控制所述至少两个测试用例的逻辑执行顺序;

18、所述信息处理模块,用于通过所述单元测试框架执行器组件,执行相应的测试用例,得到多进程并行测试结果。

19、上述方案中,所述信息处理模块,用于获取每一个目标进程的标识信息,

20、所述信息处理模块,用于将所述测试用例和标识信息封装为广播信息;

21、所述信息处理模块,用于通过每一个目标进程的多进程广播组件,将所述广播信息向关联的目标进程进行广播,以达到每一个目标进程都获得对应的测试用例的效果。

22、上述方案中,所述信息处理模块,用于通过所述同步锁控制组件获取每一个测试用例的执行流程;

23、所述信息处理模块,用于当所述同步锁控制组件接收到关联目标进程的执行结果回调时,控制所述执行流程的触发,直至所述每一个测试用例的执行流程结束执行。

24、上述方案中,所述信息处理模块,用于获取测试用例所包括的目标代码;

25、所述信息处理模块,用于通过所述单元测试框架执行器组件,对所述测试用例所包括的目标代码进行解析;

26、所述信息处理模块,用于当解析到注解测试用例的目标代码时,通过所述单元测试框架执行器组件控制所述目标代码中所有公共逻辑的执行流程,以达到每一个测试用例的执行流程进行完整执行的效果。

27、上述方案中,所述信息处理模块,用于当所述被测试函数所包含的参数类型为块代码类型参数时,调用与所述块代码类型对应的定义信息;

28、所述信息处理模块,用于在所述与所述中间表现形式相对应的测试用例中添加相应的块代码类型对应的定义信息,形成与所述中间表现形式相对应的测试用例。

29、上述方案中,所述信息处理模块,用于当所述被测试函数所包含的参数类型为协议类型参数时,调用与所述协议类型参数相对应的控制代码;

30、所述信息处理模块,用于对所述中间表现形式相对应的测试用例所包括的协议类型进行控制,形成与所述中间表现形式相对应的测试用例。

31、上述方案中,

32、所述信息处理模块,用于当所述被测试函数所包含的参数类型包括块代码类型参数和协议类型参数时,调用相应的异步等待代码,以达到在相应的异步测试用例中实现异步等待功能的效果。

33、本专利技术实施例还提供了一种电子设备,所述电子设备包括:

34、存储器,用于存储可执行指令;

35、处理器,用于运行所述存储器存储的可执行指令时,实现前序的多进程并行测试方法。

36、本专利技术实施例还提供了一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现前序的多进程并行测试方法。

本文档来自技高网
...

【技术保护点】

1.一种多进程并行测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述通过所述多进程广播组件,将每一个测试用例发送至对应的目标进程中,包括:

3.根据权利要求1所述的方法,其特征在于,所述通过所述同步锁控制组件控制所述至少两个测试用例的逻辑执行顺序,包括:

4.根据权利要求1所述的方法,其特征在于,所述通过所述单元测试框架执行器组件,执行相应的测试用例,得到多进程并行测试结果,包括:

5.根据权利要求1所述的方法,其特征在于,所述根据执行顺序对所述目标代码进行拆分,得到至少两个测试用例,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述被测试函数所包含的参数类型对所述中间表现形式进行处理,形成与所述中间表现形式相对应的测试用例,包括:

7.根据权利要求5所述的方法,其特征在于,所述根据所述被测试函数所包含的参数类型对所述中间表现形式进行处理,形成与所述中间表现形式相对应的测试用例,包括:

8.根据权利要求5所述的方法,其特征在于,所述方法还包括:

9.一种多进程并行测试装置,其特征在于,所述装置包括:

10.一种电子设备,其特征在于,所述电子设备包括:

11.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至8任一项所述的多进程并行测试方法。

12.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至8任一项所述的多进程并行测试方法。

...

【技术特征摘要】

1.一种多进程并行测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述通过所述多进程广播组件,将每一个测试用例发送至对应的目标进程中,包括:

3.根据权利要求1所述的方法,其特征在于,所述通过所述同步锁控制组件控制所述至少两个测试用例的逻辑执行顺序,包括:

4.根据权利要求1所述的方法,其特征在于,所述通过所述单元测试框架执行器组件,执行相应的测试用例,得到多进程并行测试结果,包括:

5.根据权利要求1所述的方法,其特征在于,所述根据执行顺序对所述目标代码进行拆分,得到至少两个测试用例,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述被测试函数所包含的参数类型对所述中间表现形式进行处理,形成与所述中间表...

【专利技术属性】
技术研发人员:黄耀钦
申请(专利权)人:深圳市腾讯网络信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1