CN113419954B - 云操作系统的自动化用例的执行方法、系统及相关组件 - Google Patents

云操作系统的自动化用例的执行方法、系统及相关组件 Download PDF

Info

Publication number
CN113419954B
CN113419954B CN202110712811.4A CN202110712811A CN113419954B CN 113419954 B CN113419954 B CN 113419954B CN 202110712811 A CN202110712811 A CN 202110712811A CN 113419954 B CN113419954 B CN 113419954B
Authority
CN
China
Prior art keywords
test case
queue
class
case class
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110712811.4A
Other languages
English (en)
Other versions
CN113419954A (zh
Inventor
郑维栋
冯振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Inspur Yingxin Technology Co Ltd
Original Assignee
Shaanxi Inspur Yingxin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Inspur Yingxin Technology Co Ltd filed Critical Shaanxi Inspur Yingxin Technology Co Ltd
Priority to CN202110712811.4A priority Critical patent/CN113419954B/zh
Publication of CN113419954A publication Critical patent/CN113419954A/zh
Application granted granted Critical
Publication of CN113419954B publication Critical patent/CN113419954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种云操作系统的自动化用例的执行方法,包括:当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列;为每一个测试用例类设置各自的优先级,并按照优先级从高到低的规则对默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列;执行第一队列中的各个测试用例类,并得到测试结果。应用本申请的方案,可以按照合适的顺序执行云操作系统的自动化用例,从而有利于降低开发和维护的复杂度,也有利于保证自动化用例的稳定性和可控性。本申请还提供了一种云操作系统的自动化用例的执行系统及相关组件,具有相应技术效果。

Description

云操作系统的自动化用例的执行方法、系统及相关组件
技术领域
本发明涉及服务器技术领域,特别是涉及一种云操作系统的自动化用例的执行方法、系统及相关组件。
背景技术
目前,云操作系统通常使用的是原生的TestNg(Testing Next Generation,下一代测试技术)框架,采用TestNg执行自动化测试用例类时,执行顺序所依赖的规则是不可控的,即基于TestNg执行自动化测试用例类时,会按照各个自动化测试用例类的类名Hash进行排序加载。
由于基于各个自动化测试用例类的类名Hash进行排序,通常不是最优的执行顺序,随着处理器的云操作系统功能的不断增加,自动化测试用例也越来越多,完整跑完一次全量用例的耗时也越来越长,使得无法进行排序调整的弊端体现得越来越明显,增加了开发和维护的复杂度,且问题也不好定位,不利于保证自动化用例的稳定性和可控性。
综上所述,如何有效地按照合适的顺序执行云操作系统的自动化用例,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种云操作系统的自动化用例的执行方法、系统及相关组件,以有效地按照合适的顺序执行云操作系统的自动化用例。
为解决上述技术问题,本发明提供如下技术方案:
一种云操作系统的自动化用例的执行方法,包括:
当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列;
为每一个所述测试用例类设置各自的优先级,并按照优先级从高到低的规则对所述默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列;
执行所述第一队列中的各个所述测试用例类,并得到测试结果。
优选的,在得到将各个测试用例类按照第一顺序排序的第一队列之后,还包括:
确定出各个预设了追加注释的测试用例类;
针对任意1个预设了追加注释的测试用例类,按照该测试用例类的追加注释中携带的对应于该测试用例类的目标测试用例类,将该测试用例类的排序调整到紧跟在对应于该测试用例类的目标测试用例类的后面;
完成了各个预设了追加注释的测试用例类的调整之后,得到将各个测试用例类按照第二顺序排序的第二队列;
相应的,所述执行所述第一队列中的各个所述测试用例类,并得到测试结果,具体为:
执行所述第二队列中的各个所述测试用例类,并得到测试结果。
优选的,在得到将各个测试用例类按照第二顺序排序的第二队列之后,还包括:
将所述第二队列中预设了分组注释的各个测试用例类进行提取,剩余的作为按照第三顺序排序的第三队列;
将分组注释相同的各个测试用例类合并至同一组中,并且针对任意1个分组,该分组的组首和组尾分别为初始化测试用例和清理测试用例,以使该分组中的各个测试用例类复用同一初始化测试用例和同一清理测试用例;
基于预设的合并规则,将得到的各个分组置入所述第三队列中,得到将各个测试用例类按照第四顺序排序的第四队列;
相应的,所述执行所述第二队列中的各个所述测试用例类,并得到测试结果,具体为:
执行所述第四队列中的各个所述测试用例类,并得到测试结果。
优选的,针对任意1个分组,按照优先级从高到低的规则,对该分组中的各个测试用例类进行组内排序,并按照各个预设了追加注释的测试用例类进行该分组内的排序调整。
优选的,预设的合并规则为:
针对任意1个分组,将该分组中优先级最高的测试用例类的优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入所述第三队列中的相应位置。
优选的,预设的合并规则为:
针对任意1个分组,将该分组中的各个测试用例类的平均优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入所述第三队列中的相应位置。
优选的,在得到测试结果之后,还包括:
输出测试报告。
一种云操作系统的自动化用例的执行系统,包括:
默认队列获取模块,用于当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列;
第一队列生成模块,用于为每一个所述测试用例类设置各自的优先级,并按照优先级从高到低的规则对所述默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列;
执行模块,用于执行所述第一队列中的各个所述测试用例类,并得到测试结果。
一种云操作系统的自动化用例的执行设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述任一项所述的云操作系统的自动化用例的执行方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的云操作系统的自动化用例的执行方法的步骤。
应用本发明实施例所提供的技术方案,可以对云操作系统的各个测试用例类进行顺序设置,具体的,当执行自动化全量用例时,可以获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列,本申请为每一个测试用例类设置了各自的优先级,并按照优先级从高到低的规则对默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列,可以看出,通过对各个测试用例类各自的优先级的设置,便可以使得本申请得到的第一队列是所需要的合适的执行顺序。得到了第一队列之后,便可以执行第一队列中的各个测试用例类,并得到测试结果。由于本申请的方案可以对云操作系统的各个测试用例类进行顺序设置,使得可以按照合适的顺序执行云操作系统的自动化用例,从而有利于降低开发和维护的复杂度,也有利于保证自动化用例的稳定性和可控性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种云操作系统的自动化用例的执行方法的实施流程图
图2为本发明中一种云操作系统的自动化用例的执行系统的结构示意图。
具体实施方式
本发明的核心是提供一种云操作系统的自动化用例的执行方法,可以按照合适的顺序执行云操作系统的自动化用例,从而有利于降低开发和维护的复杂度,也有利于保证自动化用例的稳定性和可控性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种云操作系统的自动化用例的执行方法的实施流程图,该云操作系统的自动化用例的执行方法可以包括以下步骤:
步骤S101:当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列。
具体的,本申请在需要执行自动化全量用例时,需要获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列,从而使得后续能对默认队列进行排序上的调整。
在获取默认队列时,可以通过拦截器实现,例如针对TestNg框架时,可以采用TestNg框架提供的I Method Interceptor拦截器。当然,在其他实施方式中,还可以有其他具体实现方式,只要能够达到本申请的目的即可。
云操作系统的将各个测试用例类按照默认顺序排序的默认队列,通常是按照各个测试用例类的类名Hash进行排序所得到的默认队列。
步骤S102:为每一个测试用例类设置各自的优先级,并按照优先级从高到低的规则对默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列。
本申请的方案中,需要为每一个测试用例类设置各自的优先级,在实际应用中,可以通过优先级注释实现各个测试用例类的优先级设定,优先级注释可以表示为@Priority注释,也就是说,各个测试用例类均具有自身的@Priority注释,以表示自身的优先级。例如一种具体场合中,@Priority注释的默认值为0,且数值越大,优先级越高。
各个测试用例类各自的优先级可以由工作人员根据实际需要进行预先设定,并且可以根据实际情况进行调整。此外,在实际应用中,如果由于漏操作等原因,导致某个测试用例类未设置优先级,则可以将该测试用例类的优先级设置为默认值,默认值例如可以设置为0或者是其他数值,根据需要进行设定即可。
按照优先级从高到低的规则对默认队列进行重新排序,重新排序之后的队列即为第一队列,第一队列中的各个测试用例类的排列顺序,便称为第一顺序。按照优先级从高到低的规则对默认队列进行重新排序,表示的是优先级越高,越靠近第一队列的队首,即越能够被优先执行,反之,优先级越低,越靠近第一队列的队尾,即越会被靠后执行。此外,对于优先级相同的两个或者多个测试用例类,可以是随机排序,也可以选择按照类名Hash进行排序等排序方式,根据需要进行设定即可,并不影响本发明的实施。
步骤S103:执行第一队列中的各个测试用例类,并得到测试结果。
按照优先级对默认队列进行重新排序,得到了第一队列之后,便可以执行第一队列中的各个测试用例类,例如一种具体场合中,可以将第一队列加入TestNg框架的Suite的上下文中,从而按照第一队列的顺序执行各个测试用例类,得到测试结果。
需要说明的是,本申请描述的是调整在队列中的各个测试用例类的排序,而每一个测试用例类当中,通常包括多个具体的测试用例方法,例如在实际应用中,每个测试用例类当中可能会存在几十甚至上百个测试方法。当执行某一个测试用例类时,需要按照该测试用例类中的测试方法的排序,依次执行该测试用例类中的各个测试方法。
进一步的,在本发明的一种具体实施方式中,得到测试结果之后,还可以自动输出测试报告,有利于提高相关工作人员的工作效率。
在本发明的一种具体实施方式中,在步骤S102中描述的得到将各个测试用例类按照第一顺序排序的第一队列之后,还可以包括:
步骤一:确定出各个预设了追加注释的测试用例类;
步骤二:针对任意1个预设了追加注释的测试用例类,按照该测试用例类的追加注释中携带的对应于该测试用例类的目标测试用例类,将该测试用例类的排序调整到紧跟在对应于该测试用例类的目标测试用例类的后面;
步骤三:完成了各个预设了追加注释的测试用例类的调整之后,得到将各个测试用例类按照第二顺序排序的第二队列;
相应的,该种实施方式中的步骤S103具体为:
执行第二队列中的各个测试用例类,并得到测试结果。
该种实施方式中,按照优先级的高低得到了第一队列之后,考虑到部分测试用例类之间具有较强的关联性,需要按顺序先后执行以保障自动化测试用例具有较好的执行效果,因此,对第一队列进一步地进行排序调整,得到第二队列。第二队列中的各个测试用例类的顺序,便称为第二顺序。
具体的,可以对1个或者多个测试用例类预设追加注释,追加注释可以表示为@NextClass注释。对于任意1个预设了追加注释的测试用例类而言,该测试用例类的追加注释中携带了对应于该测试用例类的目标测试用例类,即表示该测试用例类需要紧跟在目标测试用例类的后面执行,因此,本申请会将该测试用例类的排序调整到紧跟在对应于该测试用例类的目标测试用例类的后面。
可以理解的是,工作人员在预先进行追加注释的设置时,应当使得各个追加注释中携带的目标测试用例类互不相同,以避免两个测试用例类追加到同一个目标测试用例类后面的异常情况,此外,也应避免其他异常情况,例如测试用例类A追加到测试用例类B后面,测试用例类B追加到测试用例类C后面,测试用例类C却又追加到测试用例类A后面。当然,在实际应用中,由于是按照实际需要为部分测试用例类设置了追加注释,因此出现追加注释异常的概率极低。
进一步的,在本发明的一种具体实施方式中,在上述步骤三中描述的得到将各个测试用例类按照第二顺序排序的第二队列之后,还可以包括:
步骤四:将第二队列中预设了分组注释的各个测试用例类进行提取,剩余的作为按照第三顺序排序的第三队列;
步骤五:将分组注释相同的各个测试用例类合并至同一组中,并且针对任意1个分组,该分组的组首和组尾分别为初始化测试用例和清理测试用例,以使该分组中的各个测试用例类复用同一初始化测试用例和同一清理测试用例;
步骤六:基于预设的合并规则,将得到的各个分组置入第三队列中,得到将各个测试用例类按照第四顺序排序的第四队列;
相应的,该种实施方式中的步骤S103具体为:
执行第四队列中的各个测试用例类,并得到测试结果。
如前文的描述,每一个测试用例类当中,通常包括多个具体的测试用例方法。并且,在传统的方案中,每个测试用例类当中,均需要具有该测试用例类的初始化方法和清理方法。
本申请的该种实施方式中,考虑到很多测试用例类可以采用同一初始化方法以及同一清理方法,即可以进行初始化测试用例方法和清理测试用例方法的复用,因此,该种实施方式中,得到了第二队列之后,还会进一步地进行排序的调整。
具体的,本申请会将第二队列中预设了分组注释的各个测试用例类进行提取,剩余的作为按照第三顺序排序的第三队列,例如一种场合中,第二队列按照队首至队尾可以表示为:测试用例类A—测试用例类B—测试用例类D—测试用例类C—测试用例类F—测试用例类E—测试用例类X—测试用例类Y—测试用例类Z。
分组注释可以表示为@ClassGroup注释,例如测试用例类D和测试用例类E的分组注释是相同的,测试用例类X和测试用例类Z的分组注释是相同的,则可以提取测试用例类D和测试用例类E作为1个分组,提取测试用例类X和测试用例类Z作为另1个分组,剩余的则作为按照第三顺序排序的第三队列,该种例子中,得到的第三队列便是:测试用例类A—测试用例类B—测试用例类C—测试用例类F—测试用例类Y。
针对任意1个分组,该分组的组首和组尾分别为初始化测试用例和清理测试用例,以使该分组中的各个测试用例类复用同一初始化测试用例和同一清理测试用例,也就是说,该种实施方式中,对于任意1个分组而言,该分组中的各个测试用例类实现了初始化测试用例和清理测试用例的复用,有利于节约方案的执行耗时,也有利于降低代码数量,也就便于工作人员的开发和维护工作。
此外需要说明的是,传统的方案中,各个测试用例类均具有自身的初始化测试用例和清理测试用例,该种实施方式中,同组的各个测试用例类复用的是同一个初始化测试用例和同一个清理测试用例,至于该复用的初始化测试用例和清理测试用例具体来源于该组的哪一个测试用例类,可以根据需要进行设定。例如在本发明的一种具体实施方式中,每一个分组中均会有1个测试用例类具有@IsConfig注释,即配置注释,从而选取具有配置注释的该测试用例类的初始化测试用例和清理测试用例,作为该组的初始化测试用例和清理测试用例。
此外,针对任意1个分组,该分组内部的各个测试用例类的排序规则,可以根据需要进行设定和调整,例如在本发明的一种具体实施方式中,针对任意1个分组,可以按照优先级从高到低的规则,对该分组中的各个测试用例类进行组内排序,并按照各个预设了追加注释的测试用例类进行该分组内的排序调整。
也就是说,该组实施方式中,针对任意1个分组内部的各个测试用例类的排序,可以按照前文实施例中的@Priority注释和@NextClass注释实现,具体原理与上文相同,此处就不再重复说明。
得到了各个分组之后,需要基于预设的合并规则,将得到的各个分组置入第三队列中,得到将各个测试用例类按照第四顺序排序的第四队列;
预设的合并规则可以根据需要进行设定和调整,例如一种简单的方式是按照各个分组的类别名,依次将各个分组添加在第三队列的队尾,又如按照各个分组的类别名,依次将各个分组添加在第三队列的队首。并且可以理解的是,将得到的各个分组置入第三队列中,每一个分组可以视为一个整体,即后续在执行某一个分组时,需要按照该分组中的各个测试用例类的顺序,将该分组中的各个测试用例类依次执行完毕。
在本发明的一种具体实施方式中,考虑到除了具有追加注释的测试用例类之外,第三队列中的各个测试用例类是按照优先级顺序设置的,因此,将各个分组置入第三队列时,也应该符合优先级的要求。
而由于需要将一个分组中的各个测试用例类作为一个整体,该分组的优先级的确定方式也可以有多种,例如在本发明的一种具体实施方式中,预设的合并规则可以具体为:针对任意1个分组,将该分组中优先级最高的测试用例类的优先级作为该分组的优先级;基于各个分组的优先级,将各个分组置入第三队列中的相应位置。
例如前述的具体例子中,得到的第三队列是:测试用例类A—测试用例类B—测试用例类C—测试用例类F—测试用例类Y。
测试用例类D和测试用例类E构成分组1,测试用例类X和测试用例类Z的构成分组2,则该种实施方式中,基于各个分组的优先级,将各个分组置入第三队列之后,得到的第四队列可以表示为:测试用例类A—测试用例类B—分组1—测试用例类C—测试用例类F—分组2—测试用例类Y。
此外可以理解的是,在基于各个分组的优先级,将各个分组置入第三队列中的相应位置时,应当忽略掉第三队列中具有追加注释的各个测试用例类,即按照前文的描述,对于任意1个具有追加注释的测试用例类,需要按照追加注释的要求将其紧跟在相应的目标测试用例类后面,将各个分组置入第三队列中的相应位置时,不能与各个测试用例类的追加注释矛盾。
在将各个分组置入第三队列中的相应位置时,将每个分组视为一个整体,忽略掉第三队列中具有追加注释的各个测试用例类,将其余各个测试用例类与各个分组按照优先级排序,便完成了将各个分组置入第三队列中的相应位置的操作。
该种实施方式将分组中优先级最高的测试用例类的优先级作为该分组的优先级,操作简单方便。
在本发明的一种具体实施方式中,预设的合并规则为:
针对任意1个分组,将该分组中的各个测试用例类的平均优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入第三队列中的相应位置。
该种实施方式中,考虑到当分组中的测试用例类的数量较多时,将该分组中优先级最高的测试用例类的优先级作为该分组的优先级,可能会使得该分组的优先级较高,进而该分组中大量的优先级较低的测试用例类会较早地得到执行,因此,该种实施方式是将该分组中的各个测试用例类的平均优先级作为该分组的优先级,这样能够较好地反映出该分组的总体的优先级情况。
应用本发明实施例所提供的技术方案,可以对云操作系统的各个测试用例类进行顺序设置,具体的,当执行自动化全量用例时,可以获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列,本申请为每一个测试用例类设置了各自的优先级,并按照优先级从高到低的规则对默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列,可以看出,通过对各个测试用例类各自的优先级的设置,便可以使得本申请得到的第一队列是所需要的合适的执行顺序。得到了第一队列之后,便可以执行第一队列中的各个测试用例类,并得到测试结果。由于本申请的方案可以对云操作系统的各个测试用例类进行顺序设置,使得可以按照合适的顺序执行云操作系统的自动化用例,从而有利于降低开发和维护的复杂度,也有利于保证自动化用例的稳定性和可控性。
相应于上面的方法实施例,本发明实施例还提供了一种云操作系统的自动化用例的执行系统,可与上文相互对应参照。
参见图2所示,为本发明中一种云操作系统的自动化用例的执行系统的结构示意图,包括:
默认队列获取模块201,用于当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列;
第一队列生成模块202,用于为每一个测试用例类设置各自的优先级,并按照优先级从高到低的规则对默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列;
执行模块203,用于执行第一队列中的各个测试用例类,并得到测试结果。
在本发明的一种具体实施方式中,在得到将各个测试用例类按照第一顺序排序的第一队列之后,还包括:
追加注释确定模块,用于确定出各个预设了追加注释的测试用例类;
第二队列生成模块,用于针对任意1个预设了追加注释的测试用例类,按照该测试用例类的追加注释中携带的对应于该测试用例类的目标测试用例类,将该测试用例类的排序调整到紧跟在对应于该测试用例类的目标测试用例类的后面;完成了各个预设了追加注释的测试用例类的调整之后,得到将各个测试用例类按照第二顺序排序的第二队列;
相应的,执行模块203,具体用于:
执行第二队列中的各个测试用例类,并得到测试结果。
在本发明的一种具体实施方式中,在得到将各个测试用例类按照第二顺序排序的第二队列之后,还包括:
分组提取模块,用于将第二队列中预设了分组注释的各个测试用例类进行提取,剩余的作为按照第三顺序排序的第三队列;
复用模块,用于将分组注释相同的各个测试用例类合并至同一组中,并且针对任意1个分组,该分组的组首和组尾分别为初始化测试用例和清理测试用例,以使该分组中的各个测试用例类复用同一初始化测试用例和同一清理测试用例;
第四队列生成模块,用于基于预设的合并规则,将得到的各个分组置入第三队列中,得到将各个测试用例类按照第四顺序排序的第四队列;
相应的,执行模块203,具体用于:
执行第四队列中的各个测试用例类,并得到测试结果。
在本发明的一种具体实施方式中,针对任意1个分组,按照优先级从高到低的规则,对该分组中的各个测试用例类进行组内排序,并按照各个预设了追加注释的测试用例类进行该分组内的排序调整。
在本发明的一种具体实施方式中,预设的合并规则为:
针对任意1个分组,将该分组中优先级最高的测试用例类的优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入第三队列中的相应位置。
在本发明的一种具体实施方式中,预设的合并规则为:
针对任意1个分组,将该分组中的各个测试用例类的平均优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入第三队列中的相应位置。
在本发明的一种具体实施方式中,还包括:
测试报告输出模块,用于输出测试报告。
相应于上面的方法和系统实施例,本发明实施例还提供了一种云操作系统的自动化用例的执行设备以及一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的云操作系统的自动化用例的执行方法的步骤,可与上文相互对应参照。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
该云操作系统的自动化用例的执行设备可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现上述任一实施例中的云操作系统的自动化用例的执行方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (9)

1.一种云操作系统的自动化用例的执行方法,其特征在于,包括:
当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列;
为每一个所述测试用例类设置各自的优先级,并按照优先级从高到低的规则对所述默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列;
执行所述第一队列中的各个所述测试用例类,并得到测试结果;
在得到将各个测试用例类按照第一顺序排序的第一队列之后,还包括:
确定出各个预设了追加注释的测试用例类;
针对任意1个预设了追加注释的测试用例类,按照该测试用例类的追加注释中携带的对应于该测试用例类的目标测试用例类,将该测试用例类的排序调整到紧跟在对应于该测试用例类的目标测试用例类的后面;
完成了各个预设了追加注释的测试用例类的调整之后,得到将各个测试用例类按照第二顺序排序的第二队列;
相应的,所述执行所述第一队列中的各个所述测试用例类,并得到测试结果,具体为:
执行所述第二队列中的各个所述测试用例类,并得到测试结果;
其中,对于任意1个预设了追加注释的测试用例类,该测试用例类的追加注释中携带了对应于该测试用例类的目标测试用例类,以表示该测试用例类紧跟在对应于该测试用例类的目标测试用例类的后面执行。
2.根据权利要求1所述的云操作系统的自动化用例的执行方法,其特征在于,在得到将各个测试用例类按照第二顺序排序的第二队列之后,还包括:
将所述第二队列中预设了分组注释的各个测试用例类进行提取,剩余的作为按照第三顺序排序的第三队列;
将分组注释相同的各个测试用例类合并至同一组中,并且针对任意1个分组,该分组的组首和组尾分别为初始化测试用例和清理测试用例,以使该分组中的各个测试用例类复用同一初始化测试用例和同一清理测试用例;
基于预设的合并规则,将得到的各个分组置入所述第三队列中,得到将各个测试用例类按照第四顺序排序的第四队列;
相应的,所述执行所述第二队列中的各个所述测试用例类,并得到测试结果,具体为:
执行所述第四队列中的各个所述测试用例类,并得到测试结果。
3.根据权利要求2所述的云操作系统的自动化用例的执行方法,其特征在于,针对任意1个分组,按照优先级从高到低的规则,对该分组中的各个测试用例类进行组内排序,并按照各个预设了追加注释的测试用例类进行该分组内的排序调整。
4.根据权利要求2所述的云操作系统的自动化用例的执行方法,其特征在于,预设的合并规则为:
针对任意1个分组,将该分组中优先级最高的测试用例类的优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入所述第三队列中的相应位置。
5.根据权利要求2所述的云操作系统的自动化用例的执行方法,其特征在于,预设的合并规则为:
针对任意1个分组,将该分组中的各个测试用例类的平均优先级作为该分组的优先级;
基于各个分组的优先级,将各个分组置入所述第三队列中的相应位置。
6.根据权利要求1至5任一项所述的云操作系统的自动化用例的执行方法,其特征在于,在得到测试结果之后,还包括:
输出测试报告。
7.一种云操作系统的自动化用例的执行系统,其特征在于,包括:
默认队列获取模块,用于当执行自动化全量用例时,获取云操作系统的将各个测试用例类按照默认顺序排序的默认队列;
第一队列生成模块,用于为每一个所述测试用例类设置各自的优先级,并按照优先级从高到低的规则对所述默认队列进行重新排序,得到将各个测试用例类按照第一顺序排序的第一队列;
执行模块,用于执行所述第一队列中的各个所述测试用例类,并得到测试结果;
在得到将各个测试用例类按照第一顺序排序的第一队列之后,还包括:
追加注释确定模块,用于确定出各个预设了追加注释的测试用例类;
第二队列生成模块,用于针对任意1个预设了追加注释的测试用例类,按照该测试用例类的追加注释中携带的对应于该测试用例类的目标测试用例类,将该测试用例类的排序调整到紧跟在对应于该测试用例类的目标测试用例类的后面;完成了各个预设了追加注释的测试用例类的调整之后,得到将各个测试用例类按照第二顺序排序的第二队列;
相应的,执行模块,具体用于:
执行第二队列中的各个测试用例类,并得到测试结果;
其中,对于任意1个预设了追加注释的测试用例类,该测试用例类的追加注释中携带了对应于该测试用例类的目标测试用例类,以表示该测试用例类紧跟在对应于该测试用例类的目标测试用例类的后面执行。
8.一种云操作系统的自动化用例的执行设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的云操作系统的自动化用例的执行方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的云操作系统的自动化用例的执行方法的步骤。
CN202110712811.4A 2021-06-25 2021-06-25 云操作系统的自动化用例的执行方法、系统及相关组件 Active CN113419954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110712811.4A CN113419954B (zh) 2021-06-25 2021-06-25 云操作系统的自动化用例的执行方法、系统及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110712811.4A CN113419954B (zh) 2021-06-25 2021-06-25 云操作系统的自动化用例的执行方法、系统及相关组件

Publications (2)

Publication Number Publication Date
CN113419954A CN113419954A (zh) 2021-09-21
CN113419954B true CN113419954B (zh) 2023-03-31

Family

ID=77717673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110712811.4A Active CN113419954B (zh) 2021-06-25 2021-06-25 云操作系统的自动化用例的执行方法、系统及相关组件

Country Status (1)

Country Link
CN (1) CN113419954B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2023054550A1 (zh) * 2021-10-01 2023-04-06

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776334A (zh) * 2016-12-28 2017-05-31 北京奇虎科技有限公司 基于注释生成测试用例方法及装置
CN110716869A (zh) * 2019-09-18 2020-01-21 平安科技(深圳)有限公司 测试用例生成方法、装置、电子设备及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208064B2 (en) * 2011-08-09 2015-12-08 Red Hat, Inc. Declarative testing using dependency injection
US8839035B1 (en) * 2011-09-14 2014-09-16 Amazon Technologies, Inc. Cloud-based test execution
CN103699475B (zh) * 2012-09-27 2016-09-28 西门子公司 对模糊测试中的测试用例进行优化的方法,装置和系统
CN105975397A (zh) * 2016-07-18 2016-09-28 浪潮(北京)电子信息产业有限公司 一种基于TestNG的集成测试方法及系统
US10558553B2 (en) * 2016-11-30 2020-02-11 International Business Machines Corporation Enabling non-blocking runtime application debugging for a single threaded server environment
CN109165158B (zh) * 2018-08-03 2022-11-04 北京奇虎科技有限公司 测试用例的调度方法、装置、计算设备及计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776334A (zh) * 2016-12-28 2017-05-31 北京奇虎科技有限公司 基于注释生成测试用例方法及装置
CN110716869A (zh) * 2019-09-18 2020-01-21 平安科技(深圳)有限公司 测试用例生成方法、装置、电子设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑春一 等.面向对象类测试方法分析.《微机发展》.2003,第2003年卷(第01期),全文. *

Also Published As

Publication number Publication date
CN113419954A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN107608860B (zh) 一种错误日志分类存储的方法、装置、设备
CN109800936B (zh) 基于树状搜寻的调度方法与使用该方法的电子装置
CN106980571B (zh) 一种测试用例集的构建方法和设备
US20150046478A1 (en) Hardware implementation of a tournament tree sort algorithm
CN109189758B (zh) 运维流程设计方法、装置和设备、运行方法、装置和主机
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
CN113419954B (zh) 云操作系统的自动化用例的执行方法、系统及相关组件
CN111258774A (zh) 流程处理方法、装置、计算机设备及存储介质
CN111984426A (zh) 任务调度方法、装置、电子设备及存储介质
WO2022042397A1 (zh) 逻辑综合方法、设备和存储介质
CN109298924A (zh) 定时任务的管理方法、计算机可读存储介质和终端设备
CN111680085A (zh) 数据处理任务分析方法、装置、电子设备和可读存储介质
US9948570B2 (en) Stream data processing method and stream data processing device
CN112114903A (zh) 文件加载方法及装置
CN109165201B (zh) 日志的归并方法及终端设备
CN113886590A (zh) 数据汇总方法、装置、计算机设备及存储介质
CN109063846B (zh) 机器学习的运行方法、装置、设备及存储介质
CN109359093A (zh) 一种规则文件更新方法和系统
CN108985341A (zh) 一种神经网络模型的训练集评估方法及系统
CN114238349A (zh) 数据校验方法、装置、设备及介质
US11323385B2 (en) Communication system and communication method
CN111309475B (zh) 一种检测任务执行方法及设备
US9665795B2 (en) Method and apparatus for identifying root cause of defect using composite defect map
CN112052147A (zh) 监控方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant