一种加速实现自动化测试的方法、装置、设备、介质与流程

文档序号:31413950发布日期:2022-09-03 11:45阅读:65来源:国知局
一种加速实现自动化测试的方法、装置、设备、介质与流程

1.本发明涉及服务器测试技术领域,具体涉及一种加速实现自动化测试的方法、装置、设备、介质。


背景技术:

2.目前服务器测试采用简单功能设计自动化用例模型,和硬盘交互多,使用场景局限,传统的自动化测试存在以下问题:1.和硬盘交互多,效率低。2.自动化用例设计较简单,适用场景少。3.使用自动化用例时需要加载,并且找用例效率低。4.自动化用例对象需要自己管理,效率低且开发不方便。5.没用应用缓存,以及分层,无法最大化提升效率。


技术实现要素:

3.传统的自动化测试存在以下问题:1.和硬盘交互多,效率低。2.自动化用例设计较简单,适用场景少。3.使用自动化用例时需要加载,并且找用例效率低。4.自动化用例对象需要自己管理,效率低且开发不方便。5.没用应用缓存,以及分层,无法最大化提升效率,本发明提供一种加速实现自动化测试的方法、装置、设备、介质。
4.第一方面,本发明技术方案提供一种加速实现自动化测试的方法,包括如下步骤:
5.创建运行环境;
6.在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;
7.执行运行环境,执行过程中用用例名称去获取用例定义对象;
8.当不受并发影响时,从存放用例对象的拓扑中用用例名称获取用例对象;执行用例。
9.进一步的,执行运行环境,执行过程中用用例名称去获取用例定义对象的步骤之后包括:
10.判断是否受并发影响;
11.若不受并发影响时,执行步骤:从存放用例对象的拓扑中用用例名称取用例对象;执行用例;
12.若受并发影响时,从存放用例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,根据对象执行用例。
13.进一步的,创建运行环境的步骤之前还包括:
14.设计用例对象和用例定义对象。
15.进一步的,设计用例对象和用例定义对象的步骤包括:
16.将一个自动化用例测试抽象成一个用例对象;
17.设计用来描述用例的基本情况的用例定义对象;其中,用例的基本情况包括用例的类型、文件李静、是否是共享用例、用例名称。
18.进一步的,执行运行环境,执行过程中用用例名称去获取用例定义对象的步骤包括:
19.启动运行环境,将对应对象扫描以用例名称的哈希值为key加入到对应拓扑里;
20.执行过程中用用例名称获取用例定义对象。
21.面向对象:把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。
22.基于内存:为了加快运行速度,设计整体需要用到的资源都在内存中而不是硬盘中,加快运行速度,加快效率。
23.多层缓存处理:目前设计两层。
24.第一层是用例定义类型,也是对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),用例名称。
25.第二层是自动化用例测试对象,需要具有的属性和方法。
26.分别在内存中建立两个拓扑,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。
27.第二方面,本发明技术方案提供一种加速实现自动化测试的装置,包括环境创建模块、拓扑创建模块、环境执行模块、用例执行模块;
28.环境创建模块,用于创建运行环境;
29.拓扑创建模块,用于在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;
30.环境执行模块,用于执行运行环境,执行过程中用用例名称去获取用例定义对象;
31.用例执行模块,用于当不受并发影响时,从存放用例对象的拓扑中用用例名称获取用例对象;执行用例。
32.进一步的,该装置还包括判断模块和对象处理模块;
33.判断模块,用于判断是否受并发影响;若不受并发影响时,触发用例执行模块,若受并发影响时,触发对象处理模块;
34.对象处理模块,用于从存放用例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,触发用例执行模块根据对象执行用例。
35.进一步的,该装置还包括对象设计模块,用于设计用例对象和用例定义对象。
36.进一步的,对象设计模块,具体用于将一个自动化用例测试抽象成一个用例对象;设计用来描述用例的基本情况的用例定义对象;其中,用例的基本情况包括用例的类型、文件李静、是否是共享用例、用例名称。
37.进一步的,环境执行模块,具体用于启动运行环境,将对应对象扫描以用例名称的哈希值为key加入到对应拓扑里;执行过程中用用例名称获取用例定义对象。
38.面向对象:把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。
39.基于内存:为了加快运行速度,设计整体需要用到的资源都在内存中而不是硬盘中,加快运行速度,加快效率。
40.多层缓存处理:目前设计两层。
41.第一层是用例定义类型,也是对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),用例名称。
42.第二层是自动化用例测试对象,需要具有的属性和方法。
43.分别在内存中建立两个拓扑,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。
44.第三方面,本发明技术方案还提供一种电子设备,所述电子设备包括:
45.至少一个处理器;以及,
46.与所述至少一个处理器通信连接的存储器;其中,
47.存储器存储有可被至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的加速实现自动化测试的方法。
48.第四方面,本发明技术方案还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的加速实现自动化测试的方法。
49.从以上技术方案可以看出,本发明具有以下优点:将传统的手工测试方式转变为自动化,并且通过客户端上的自动化测试流程动态配置的方式实现自动化测试流程的可配置化,保证了测试流程的动态性、灵活性。
50.1、首先因为效率的提高,压缩测试周期,使产品能够更快推向市场。在不增加测试成本(测试机等)的情况下,测试效率提升;
51.2.因为开发自动化测试更便捷灵活,更容易发现问题,提高产品整体质量,提高产品的竞争力。
52.3.节省测试成本,开发成本和人工成本。
53.4.合理的设计用例对象,适用测试的场景增多。
54.5.更利于开发人员开发自动化测试对象。
55.6.更节省人力资源和测试资源。单个项目使用的测试机数量可进行压缩,节省测试资源。测试周期短,测试依靠快速自动化实现,极大的节省了人力资源。
56.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
57.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
58.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1是本发明一个实施例的方法的示意性流程图。
60.图2是本发明另一个实施例的方法的示意性流程图。
61.图3是本发明一个实施例的装置的示意性框图。
具体实施方式
62.目前服务器测试采用简单功能设计自动化用例模型,和硬盘交互多,使用场景局限,传统的自动化测试存在以下问题:1.和硬盘交互多,效率低。2.自动化用例设计较简单,适用场景少。3.使用自动化用例时需要加载,并且找用例效率低。4.自动化用例对象需要自
己管理,效率低且开发不方便。5.没用应用缓存,以及分层,无法最大化提升效率。面向对象:把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。基于内存:为了加快运行速度,设计整体需要用到的资源都在内存中而不是硬盘中,加快运行速度,加快效率。多层缓存处理:目前设计两层。第一层是用例定义类型,也是对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),用例名称。第二层是自动化用例测试对象,需要具有的属性和方法。分别在内存中建立两个拓扑,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
63.如图1所示,本发明实施例提供一种加速实现自动化测试的方法,包括如下步骤:
64.步骤1:创建运行环境;
65.步骤2:在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;
66.步骤3:执行运行环境,执行过程中用用例名称去获取用例定义对象;
67.步骤4:若不受并发影响,从存放用例对象的拓扑中用用例名称获取用例对象;执行用例;
68.步骤5:若受并发影响,从存放用例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,根据对象执行用例。
69.面向对象:把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。基于内存:为了加快运行速度,设计整体需要用到的资源都在内存中而不是硬盘中,加快运行速度,加快效率。多层缓存处理:目前设计两层。第一层是用例定义类型,也是对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),用例名称。第二层是自动化用例测试对象,需要具有的属性和方法。分别在内存中建立两个拓扑,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。
70.如图2所示,本发明实施例提供一种加速实现自动化测试的方法,包括如下步骤:
71.s1:设计用例对象和用例定义对象;需要说明的是,将一个自动化用例测试抽象成一个用例对象;
72.设计用来描述用例的基本情况的用例定义对象;其中,用例的基本情况包括用例的类型、文件李静、是否是共享用例、用例名称。
73.s2:创建运行环境;
74.s3:在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;
75.s4:执行运行环境,执行过程中用用例名称去获取用例定义对象;启动运行环境,将对应对象扫描以用例名称的哈希值为key加入到对应拓扑里;执行过程中用用例名称获取用例定义对象;
76.s5:判断是否受并发影响;
77.若不受并发影响时,执行步骤s6,若受并发影响时,执行步骤s7;
78.s6:从存放用例对象的拓扑中用用例名称获取用例对象;执行步骤s8;
79.s7:从存放用例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,执行步骤s8;
80.s8:执行用例。
81.面向对象:把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。
82.基于内存:为了加快运行速度,设计整体需要用到的资源都在内存中而不是硬盘中,加快运行速度,加快效率。
83.多层缓存处理:目前设计两层。
84.第一层是用例定义类型,也是对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),用例名称。
85.第二层是自动化用例测试对象,需要具有的属性和方法。
86.分别在内存中建立两个拓扑,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。
87.设计用例对象,把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。设计用例定义对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),名称。设计容器,容器可以理解为上下文环境,创建一个运行环境。在运行环境中创建两个拓扑,分别存放用例定义对象和用例对象,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。启动上下文环境,把对应对象扫描加入到对应拓扑里。执行过程中用用例名称去获取对象。从属性上判断是否是受并发影响的。如不受影响,则从用例拓扑中用名称拿用例对象,进行执行用例。如受影响,则从用例定义拓扑中用名称拿用例对应对象,创建对象,并返回对象。根据对象进行执行用例。
88.如图3所示,本发明实施例提供一种加速实现自动化测试的装置,包括环境创建模块、拓扑创建模块、环境执行模块、用例执行模块;
89.环境创建模块,用于创建运行环境;
90.拓扑创建模块,用于在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;
91.环境执行模块,用于执行运行环境,执行过程中用用例名称去获取用例定义对象;
92.用例执行模块,用于当不受并发影响时,从存放用例对象的拓扑中用用例名称获取用例对象;执行用例。
93.该装置还包括判断模块和对象处理模块;
94.判断模块,用于判断是否受并发影响;若不受并发影响时,触发用例执行模块,若受并发影响时,触发对象处理模块;
95.对象处理模块,用于从存放用例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,触发用例执行模块根据对象执行用例。
96.该装置还包括对象设计模块,用于设计用例对象和用例定义对象。
97.需要说明的是,对象设计模块,具体用于将一个自动化用例测试抽象成一个用例对象;设计用来描述用例的基本情况的用例定义对象;其中,用例的基本情况包括用例的类
型、文件李静、是否是共享用例、用例名称。
98.环境执行模块,具体用于启动运行环境,将对应对象扫描以用例名称的哈希值为key加入到对应拓扑里;执行过程中用用例名称获取用例定义对象。
99.面向对象:把一个自动化用例测试抽象成一个对象,最重要的测试执行方法肯定要有,也有其他属性,比如执行人,执行时间,执行结果,log日志等。
100.基于内存:为了加快运行速度,设计整体需要用到的资源都在内存中而不是硬盘中,加快运行速度,加快效率。
101.多层缓存处理:目前设计两层。
102.第一层是用例定义类型,也是对象,用来描述用例的基本情况,如是什么类型的用例,文件路径,是否是共享用例(是否需要考虑并发),用例名称。
103.第二层是自动化用例测试对象,需要具有的属性和方法。
104.分别在内存中建立两个拓扑,以用例名称的哈希值为key存入,这样可以在一定的空间之内加快查找速度。
105.本发明实施例还提供一种电子设备,所述电子设备包括:处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信。总线可以用于电子设备与传感器之间的信息传输。处理器可以调用存储器中的逻辑指令,以执行如下方法:步骤1:创建运行环境;步骤2:在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;步骤3:执行运行环境,执行过程中用用例名称去获取用例定义对象;步骤4:若不受并发影响时,从存放用例对象的拓扑中用用例名称获取用例对象;执行用例;步骤5:若受并发影响时,从存放用例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,根据对象执行用例。
106.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
107.本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述方法实施例所提供的方法,例如包括:s1:设计用例对象和用例定义对象;需要说明的是,将一个自动化用例测试抽象成一个用例对象;设计用来描述用例的基本情况的用例定义对象;其中,用例的基本情况包括用例的类型、文件李静、是否是共享用例、用例名称。s2:创建运行环境;s3:在运行环境中创建两个拓扑分别存放用例对象和用例定义对象;s4:执行运行环境,执行过程中用用例名称去获取用例定义对象;启动运行环境,将对应对象扫描以用例名称的哈希值为key加入到对应拓扑里;执行过程中用用例名称获取用例定义对象;
108.s5:判断是否受并发影响;若不受并发影响时,执行步骤s6,若受并发影响时,执行步骤s7;s6:从存放用例对象的拓扑中用用例名称获取用例对象;执行步骤s8;s7:从存放用
例定义对象的拓扑中用用例名称取用例对象,创建用例对象,并返回创建的对象,执行步骤s8;s8:执行用例。
109.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1