CN116263743A - 测试方法及设备 - Google Patents
测试方法及设备 Download PDFInfo
- Publication number
- CN116263743A CN116263743A CN202111539669.4A CN202111539669A CN116263743A CN 116263743 A CN116263743 A CN 116263743A CN 202111539669 A CN202111539669 A CN 202111539669A CN 116263743 A CN116263743 A CN 116263743A
- Authority
- CN
- China
- Prior art keywords
- event
- atomic
- target
- atomic event
- events
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 101
- 238000010998 test method Methods 0.000 title claims description 14
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000009471 action Effects 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000523 sample Substances 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本公开实施例提供一种测试方法及设备,涉及自动化测试技术领域。该方法包括:将目标软件的测试需求文本拆分为至少两个描述词;若原子事件库中不存在第一描述词,则将第一描述词对应的第一原子事件的属性信息增加到原子事件库中,属性信息包括:原子事件的描述词、原子事件的标识和原子事件的操作属性;根据第一原子事件的标识和所述第二原子事件的标识,生成目标组合事件的配置信息,第二原子事件为除第一原子事件之外的原子事件;根据目标组合事件的配置信息和目标原子事件的属性信息,在目标版本的目标软件中执行目标组合事件。本公开实施例将原子事件的属性信息单独配置,组合事件中仅指定包括的原子事件的标识,以降低配置成本和维护成本。
Description
技术领域
本公开实施例涉及自动化测试技术领域,尤其涉及一种测试方法及设备。
背景技术
在计算机软件技术领域中,为了保证发布的软件可以正常运行,需要在发布之前对软件进行测试。例如,在应用程序发布之前,需要对应用程序的安装、启动、运行过程进行全面测试,以确定用户可以正常使用该应用程序。在一些复杂的软件中,可以将多个事件组合起来进行测试。例如,在应用程序中可以将两个事件“拍摄”和“发布”组合起来进行测试。
在上述测试场景中,需要预先配置组合事件,也就是指定多个事件构成一个组合事件。从而,如何降低组合事件的配置成本和维护成本是亟待解决的问题。
发明内容
本公开实施例提供一种测试方法及设备,可以降低组合事件的配置成本和维护成本。
第一方面,本公开实施例提供一种测试方法,所述方法包括:
将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;
若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性;
根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件;
根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
第二方面,本公开实施例提供一种测试装置,所述装置包括:
测试需求文本拆分模块,用于将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;
属性信息添加模块,用于若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性;
配置信息生成模块,用于根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件;
组合事件执行模块,用于根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如第一方面所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如第一方面所述的方法。
第五方面,本公开实施例提供一种计算机程序,所述计算机程序用于实现如第一方面所述的方法。
本公开实施例提供了一种测试方法及设备,该方法包括:将目标软件的测试需求文本拆分为至少两个描述词,每个描述词对应一个目标原子事件;若原子事件库中不存在至少两个描述词中的至少一个第一描述词,则将第一描述词对应的第一原子事件的属性信息增加到原子事件库中,原子事件库用于存储原子事件的属性信息,该属性信息包括:原子事件的描述词、原子事件的标识和原子事件的操作属性;根据第一原子事件的标识和所述第二原子事件的标识,生成测试需求文本对应的目标组合事件的配置信息,第二原子事件为至少两个目标原子事件中除第一原子事件之外的原子事件;根据目标组合事件的配置信息和目标原子事件的属性信息,在目标版本的目标软件中执行目标组合事件。本公开实施例可以将原子事件的属性信息和组合事件解耦合,也就是原子事件的属性信息是单独的配置,组合事件中仅指定包括的原子事件的标识。这样,原子事件仅需要配置一次,降低了配置成本。此外,在修改原子事件时,仅需要修改该原子事件的单独的配置,而不需要再每个组合事件中均进行修改,降低了维护成本。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例适用的测试过程和开发过程之间的一种关系示意图;
图2是本公开实施例提供的测试方法的一种步骤流程图;
图3是本公开实施例提供的基于测试需求文本的测试过程示意图;
图4是本公开实施例提供的测试装置的一种结构框图;
图5是本公开实施例提供的电子设备的一种结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例可以应用于软件的自动化测试场景中。软件的自动化测试过程通过是在软件被开发出来之后进行的。在实际应用中,开发过程通常是多轮迭代或并行进行的。图1是本发明实施例适用的测试过程和开发过程之间的一种关系示意图。参照图1所示,软件模块S1和软件模块S2是两个独立的模块,在实际开发过程中,可以独立进行开发,并且对S1进行测试过程T1,对S2进行测试过程T2,测试过程T1和测试过程T2也可以是独立的。在软件模块S1和S2测试通过之后,可以将两者合并,并进行测试过程T3。在T3测试通过之后,可以将模块S1和S2合并得到的软件发布出去。
本发明可以应用于任一上述测试过程,该测试过程中使用的组合事件需要预先配置。
现有技术中,组合事件的配置中包括每个原子事件的所有信息,例如,原子事件所在的界面、原子事件的动作类型、原子事件的操作控件、原子事件对应的操作控件。这样,如果多个组合事件之间存在相同原子事件时,该原子事件需要被配置多次,导致配置成本较高。另外,如果该修改该原子事件的属性时,需要在多个组合事件中修改该原子事件,导致维护成本较高。
为了解决上述问题,本公开实施例可以将原子事件的属性信息和组合事件解耦合,也就是原子事件的属性信息是单独的配置,组合事件中仅指定包括的原子事件的标识。这样,原子事件仅需要配置一次,降低了配置成本。此外,在修改原子事件时,仅需要修改该原子事件的单独的配置,而不需要再每个组合事件中均进行修改,降低了维护成本。
下面以具体地实施例对本公开实施例的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开实施例进行描述。
图2是本公开实施例提供的测试方法的一种步骤流程图。图2所示的方法可以应用在电子设备中。参照图2所示,该测试方法包括:
S101:将目标软件的测试需求文本拆分为至少两个描述词,每个描述词对应一个目标原子事件。
其中,目标软件可以是需要测试的任一软件,包括应用程序、网页。本公开实施例对其不加以限制。
测试需求文本用于通过文本描述测试需求,例如,测试需求文本可以为“登录后拍摄视频并发布”。可以看出,测试需求文本对应一个测试用例,该测试用例用于通过一个或多个原子事件对目标软件进行测试,这里的原子事件是测试需求文本中描述词对应的原子事件。原子事件是最小的可执行的连续事件。例如,当测试用例用于测试目标软件的拍摄功能时,那么对应的原子事件可以为拍摄事件。又例如,当测试用例用于测试登录后拍摄并发布的功能时,那么对应的原子事件可以为登录事件、拍摄事件和发布事件。
可以看出,上述多个原子事件之间是有执行顺序的。
对于上述通过多个原子事件对目标软件进行测试的测试用例,需要在将其包括的多个原子事件组成为一个组合事件之后,根据该组合事件的配置信息才能执行该测试用例。从而,对于已有测试用例,其对应的组合事件的配置信息已存在,也就可以直接执行该测试用例。但对于新增测试用例,需要先创建该新增测试用例对应的组合事件的配置信息,然后再执行该测试用例。
可以理解的是,本公开实施例中将测试需求文本中的描述词对应的至少两个原子事件称为目标原子事件,方便后续引用,并不构成对原子事件的限制。
S102:若原子事件库中不存在上述至少两个描述词中的至少一个第一描述词,则将第一描述词对应的第一原子事件的属性信息增加到原子事件库中,原子事件库用于存储原子事件的属性信息,属性信息包括:原子事件的描述词、原子事件的标识和原子事件的操作属性。
可以理解的是,第一描述词是至少两个描述词中不存在于原子事件库中的描述词,也就是该第一描述词对应的第一原子事件未配置。此时,需要手动对第一原子事件的属性信息进行设置,并将设置的第一原子事件的属性信息添加到原子事件库中,以实现对该第一原子事件的配置。
当然,至少两个目标原子事件中也可以不存在上述第一原子事件,也就是说,每个目标原子事件的描述词均已存在于原子事件库中,从而不需要对测试需求文本的测试用例配置原子事件,而只需要为测试需求文本的测试用例配置组合事件。在这种情况下,最大程度的降低了测试用例的配置成本。
前述原子事件的属性信息可以包括但不限于以下至少一种:公共属性和操作属性,公共属性包括以下至少一种:原子事件的标识、原子事件的描述词和原子事件的类型,操作属性与原子事件的类型对应。
其中,原子事件的标识用于唯一表示一个原子事件,可以是的数字或字符串。原子事件的标识用于对原子事件进行搜索,以及生成组合事件,组合事件中包括原子事件的标识。
原子事件的描述词是原子事件的文本描述,例如,“登录”。
原子事件的类型可以包括但不限于以下至少一种:操作事件、屏蔽事件、黑名单事件、白名单事件、跳转事件。不同原子事件的类型对应的操作属性不同。
当原子事件的类型为操作事件时,表示该原子事件用于对界面进行操作。操作事件可以包括但不限于:对界面中的操作控件进行操作、对界面的滑动操作。从而该原子事件的操作属性包括:原子事件所在的界面、原子事件的动作类型、原子事件对应的操作控件。
其中,原子事件所在的界面用于表示该操作是在哪个界面中进行的,界面通常可以用界面的唯一标识表示,例如,activity名称。
原子事件的动作类型可以包括但不限于:点击、长按、滑动等。
原子事件对应的操作控件可以用操作控件在界面中的路径表示,例如,可以通过xpath表示。操作控件可以存在也可以不存在。当该操作控件存在,且原子事件的动作类型为点击时,原子事件可以是对界面中操作控件的点击。当该操作控件不存在,且原子事件的动作类型为滑动时,原子事件可以是对界面的滑动。
本公开实施例可以通过操作事件,测试目标软件中的各个界面的各个操作控件是否正常,用于测试目标软件的基本功能,可以保证目标软件的基本功能正常。
当原子事件的类型为屏蔽事件时,表示该原子事件用于对界面中的操作控件进行屏蔽,也就是说不允许对该界面中的该操作控件进行操作。从而,该原子事件的操作属性包括:原子事件屏蔽的界面、原子事件对应的操作控件。
其中,原子事件屏蔽的界面也可以用界面的唯一标识表示,例如,activity名称。
原子事件对应的操作控件是不进行操作的操作控件,可以用操作控件在界面中的路径表示,例如,可以通过xpath表示。
本公开实施例可以通过屏蔽事件,测试不允许对某些界面的某些控件进行操作的功能是否正常,可以覆盖更多的测试场景,有助于提高测试覆盖率。
当原子事件的类型为黑名单事件或白名单事件时,该原子事件的操作属性包括:原子事件所在的界面。
当原子事件的类型为黑名单事件时,原子事件所在的界面为不显示的界面。
当原子事件的类型为白名单事件时,原子事件所在的界面为显示的界面。
本公开实施例可以通过黑名单事件测试某些界面不显示的功能是否正常,通过白名单事件测试某些界面显示的功能是否正常,可以覆盖更多的测试场景,有助于提高测试覆盖率。
当原子事件的类型为跳转事件时,该原子事件的操作属性包括跳转的目标界面。
其中,跳转的目标界面可以是目标软件中的界面,也可以是目标软件外的界面。当目标界面是目标软件中的界面时,可以用目标界面的activity名称表示目标界面。当目标界面是目标软件外的界面时,需要有跳转路径以表示目标界面。这里的跳转通常不需要用户操作,是进入一个界面之后可以自动跳转到目标界面。
本公开实施例可以通过跳转事件测试界面跳转是否正常,有助于提高测试覆盖率。
图3是本公开实施例提供的基于测试需求文本的测试过程示意图。参照图3所示,在原子事件库和组合事件库均为空的前提条件下,先后执行了两个目标组合事件。
在获取到测试需求文本“登录后拍摄视频并发布”之后,首先,将该测试需求文本拆分为三个描述词“登录”、“拍摄”和“发布”,分别对应三个原子事件:登录事件、拍摄事件和发布事件。
然后,由于描述词“登录”、“拍摄”和“发布”均不存在于原子事件库中,从而需要先手动设置登录事件、拍摄事件和发布事件的属性信息,以将其添加到原子事件库中。此时,原子事件库中包括三个原子事件。
再然后,根据登录事件、拍摄事件和发布事件分别对应的标识生成组合事件CE1的配置信息,并将该配置信息存储到组合事件库中。
最后,执行CE1。
在获取到测试需求文本“登录后拍摄使用特效”时,首先,将该测试需求文本拆分为三个描述词“登录”、“拍摄”和“特效处理”。
然后,由于描述词“登录”和“拍摄”均存在于原子事件库中,从而仅需要手动设置特效处理事件的属性信息,以将其添加到原子事件库中。此时,原子事件库中包括四个原子事件。
再然后,根据登录事件、拍摄事件和特效处理事件的标识生成组合事件CE2的配置信息,并将该配置信息存储到组合事件库中。
最后,执行CE2。
S103:根据第一原子事件的标识和所述第二原子事件的标识,生成测试需求文本对应的目标组合事件的配置信息,第二原子事件为至少两个目标原子事件中除第一原子事件之外的原子事件。
其中,目标组合事件的配置信息中包括第一原子事件的标识和所述第二原子事件的标识。第二原子事件是至少两个目标原子事件中描述词已存在于原子事件库中的原子事件,也就是至少两个原子事件中已配置的原子事件。
目标组合事件的配置信息可以存储在组合事件库中,以方便后续进行测试时再次对目标组合事件进行执行。组合事件的配置信息中通常按照顺序记录原子事件的标识,该顺序用于表示原子事件的执行顺序。
当然,上述组合事件还具有组合事件的标识,用于唯一表示该组合事件,用于对该组合事件的检索。如此,组合事件中可以包括组合事件的标识、至少两个原子事件的标识。例如,一个组合事件{ID1,(ID2,ID3,ID4,ID5)},其中,ID1是组合事件的标识,ID2至ID5是该组合事件中包括的四个原子事件的标识,并且按照以下顺序执行原子事件:ID2对应的原子事件->ID3对应的原子事件->ID4对应的原子事件->ID5对应的原子事件。
可以看出,由于本公开实施例中存在不需要配置的第二原子事件,从而可以在测试需求文本时,只需要配置组合事件,在存在第一原子事件时配置第一原子事件,降低了配置成本。
S104:根据目标组合事件的配置信息和目标原子事件的属性信息,在目标版本的目标软件中执行目标组合事件。
在实际应用中,目标软件通常是在进行不断的迭代开发,每次迭代都会得到该目标软件的一个版本,不同的版本存在少量不同。从而组合事件在一个版本中执行成功不代表可以在其余版本中执行成功。S104中的目标版本是该目标软件待测试的任一版本。
在执行目标组合事件时,可以首先,从目标组合事件中提取目标原子事件的标识;然后,根据目标原子事件的标识从原子事件库中获取目标原子事件的属性信息;最后,根据目标原子事件的属性信息执行该目标原子事件。例如,当目标原子事件是操作事件时,其属性信息中的界面、动作类型、操作控件分别为P1、点击、BT1,从而执行目标原子事件为对P1中的BT1进行点击。
可选地,目标组合事件的配置信息中还可以包括至少两个目标原子事件之间的执行策略,该执行策略可以包括:执行至少两个目标原子事件之间的顺序、执行至少两个目标原子事件之间的时间间隔。
其中,该顺序可以为目标原子事件的标识在配置信息中的顺序,该顺序也可以理解为目标原子事件的优先级。
在实际应用中,不同的相邻两个目标原子事件之间的时间间隔可以相同,也可以不同。
本公开实施例可以在执行目标组合事件时,通过执行策略灵活的设定目标原子事件的执行顺序和时间间隔,提高了组合事件的灵活性。
在执行上述目标组合事件的过程中,如果每个目标原子事件均执行成功,则代表该目标组合事件执行成功,该测试用例执行成功。如果部分或全部目标原子事件执行失败,则代表目标组合事件执行失败,该测试用例执行失败。
在本公开实施例中,将至少两个目标原子事件中执行成功的原子事件称为第三原子事件。从而可以在原子事件库中将上述目标版本记录为第三原子事件的生效版本。
此外,还可以将至少两个目标原子事件中执行失败的原子事件称为第四原子事件。从而,可以在原子事件库中将上述目标版本记录为第四原子事件的失效版本。
通过上述过程,在原子事件库中可以查询到每个原子事件的生效或失效情况,有助于对原子事件的管理。
具体地,可以接收第一查看指令,并响应于该第一查看指令,显示存在失效版本的原子事件和失效版本。
可选地,还可以提示在失效版本中对对应的原子事件进行修改。
此外,还可以接收第二查看指令,并响应于第二查看指令,显示存在生效版本的原子事件和生效版本。
对应于上文实施例的测试方法,图4是本公开实施例提供的测试装置的一种结构框图,应用于前述测试系统中。为了便于说明,仅示出了与本公开实施例相关的部分。参照图4,上述测试装置200包括:测试需求文本拆分模块201、属性信息添加模块202、配置信息生成模块203和组合事件执行模块204。
其中,测试需求文本拆分模块201,用于将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;。
属性信息添加模块202,用于若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性。
配置信息生成模块203,用于根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件。
组合事件执行模块204,用于根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
可选地,所述装置还包括:
生效记录模块,用于若至少两个目标原子事件中的第三原子事件执行成功,则在所述原子事件库中将所述目标版本记录为所述第三原子事件的生效版本。
失效记录模块,用于若至少两个目标原子事件中的第四原子事件执行失败,则在所述原子事件库中将所述目标版本记录为所述第四原子事件的失效版本。
可选地,所述装置还包括:
第一查看指令接收模块,用于接收第一查看指令。
第一显示模块,用于响应于所述第一查看指令,显示存在失效版本的原子事件和所述失效版本。
可选地,所述装置还包括:
第二查看指令接收模块,用于接收第二查看指令。
第二显示模块,用于响应于所述第二查看指令,显示存在生效版本的原子事件和所述生效版本。
可选地,所述装置还包括:
修改提示模块,用于提示在所述失效版本中对对应的所述原子事件进行修改。
可选地,所述目标组合事件的配置信息中还包括至少两个目标原子事件之间的执行策略,所述执行策略包括:执行至少两个目标原子事件之间的顺序、执行至少两个目标原子事件之间的时间间隔。
可选地,所述原子事件的属性信息还包括以下至少一种:所述原子事件的类型,所述操作属性与所述原子事件的类型对应。
可选地,当所述原子事件的类型为操作事件时,所述操作属性包括:所述原子事件所在的界面、所述原子事件的动作类型、所述原子事件对应的操作控件。
当所述原子事件的类型为屏蔽事件时,所述操作属性包括:所述原子事件屏蔽的界面、所述原子事件对应的操作控件。
当所述原子事件的类型为黑名单事件或白名单事件时,所述操作属性包括:所述原子事件所在的界面。
当所述原子事件的类型为跳转事件时,所述操作属性包括跳转的目标界面。
本实施例提供的测试装置,可用于执行上述图2所示的方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图5是本公开实施例提供的电子设备的一种结构框图。该电子设备600包括存储器602和至少一个处理器601。
其中,存储器602存储计算机执行指令。
至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备601实现前述图2中的方法。
此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。
在第一方面的第一种示例中,本公开实施例提供了一种测试方法,所述方法包括:
将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;
若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性;
根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件;
根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
基于第一方面的第一种示例,在第一方面的第二种示例中,所述方法还包括:
若至少两个目标原子事件中的第三原子事件执行成功,则在所述原子事件库中将所述目标版本记录为所述第三原子事件的生效版本;
若至少两个目标原子事件中的第四原子事件执行失败,则在所述原子事件库中将所述目标版本记录为所述第四原子事件的失效版本。
基于第一方面的第二种示例,在第一方面的第三种示例中,所述方法还包括:
接收第一查看指令;
响应于所述第一查看指令,显示存在失效版本的原子事件和所述失效版本。
基于第一方面的第二种示例,在第一方面的第四种示例中,所述方法还包括:
接收第二查看指令;
响应于所述第二查看指令,显示存在生效版本的原子事件和所述生效版本。
基于第一方面的第三种示例,在第一方面的第五种示例中,所述方法还包括:
提示在所述失效版本中对对应的所述原子事件进行修改。
基于第一方面的第一至第五任一种示例,在第一方面的第六种示例中,所述目标组合事件的配置信息中还包括至少两个目标原子事件之间的执行策略,所述执行策略包括:执行至少两个目标原子事件之间的顺序、执行至少两个目标原子事件之间的时间间隔。
基于第一方面的第一至第五任一种示例,在第一方面的第七种示例中,所述原子事件的属性信息还包括以下至少一种:所述原子事件的类型,所述操作属性与所述原子事件的类型对应。
基于第一方面的第七种示例,在第一方面的第八种示例中,当所述原子事件的类型为操作事件时,所述操作属性包括:所述原子事件所在的界面、所述原子事件的动作类型、所述原子事件对应的操作控件;
当所述原子事件的类型为屏蔽事件时,所述操作属性包括:所述原子事件屏蔽的界面、所述原子事件对应的操作控件;
当所述原子事件的类型为黑名单事件或白名单事件时,所述操作属性包括:所述原子事件所在的界面;
当所述原子事件的类型为跳转事件时,所述操作属性包括跳转的目标界面。
在第二方面的第一种示例中,提供了一种测试装置,所述装置包括:
测试需求文本拆分模块,用于将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;
属性信息添加模块,用于若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性;
配置信息生成模块,用于根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件;
组合事件执行模块,用于根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
基于第二方面的第一种示例,在第二方面的第二种示例中,所述装置还包括:
生效记录模块,用于若至少两个目标原子事件中的第三原子事件执行成功,则在所述原子事件库中将所述目标版本记录为所述第三原子事件的生效版本;
失效记录模块,用于若至少两个目标原子事件中的第四原子事件执行失败,则在所述原子事件库中将所述目标版本记录为所述第四原子事件的失效版本。
基于第二方面的第二种示例,在第二方面的第三种示例中,所述装置还包括:
第一查看指令接收模块,用于接收第一查看指令;
第一显示模块,用于响应于所述第一查看指令,显示存在失效版本的原子事件和所述失效版本。
基于第二方面的第二种示例,在第二方面的第四种示例中,所述装置还包括:
第二查看指令接收模块,用于接收第二查看指令;
第二显示模块,用于响应于所述第二查看指令,显示存在生效版本的原子事件和所述生效版本。
基于第二方面的第三种示例,在第二方面的第五种示例中,所述装置还包括:
修改提示模块,用于提示在所述失效版本中对对应的所述原子事件进行修改。
基于第二方面的第一至第五任一种示例,在第二方面的第六种示例中,所述目标组合事件的配置信息中还包括至少两个目标原子事件之间的执行策略,所述执行策略包括:执行至少两个目标原子事件之间的顺序、执行至少两个目标原子事件之间的时间间隔。
基于第二方面的第一至第五任一种示例,在第二方面的第七种示例中,所述原子事件的属性信息还包括以下至少一种:所述原子事件的类型,所述操作属性与所述原子事件的类型对应。
基于第二方面的第七种示例,在第二方面的第八种示例中,当所述原子事件的类型为操作事件时,所述操作属性包括:所述原子事件所在的界面、所述原子事件的动作类型、所述原子事件对应的操作控件;
当所述原子事件的类型为屏蔽事件时,所述操作属性包括:所述原子事件屏蔽的界面、所述原子事件对应的操作控件;
当所述原子事件的类型为黑名单事件或白名单事件时,所述操作属性包括:所述原子事件所在的界面;
当所述原子事件的类型为跳转事件时,所述操作属性包括跳转的目标界面。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现第一方面任一项所述的方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现第一方面任一项所述的方法。
第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序,所述计算机程序用于实现第一方面任一项所述的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
1.一种测试方法,其特征在于,所述方法包括:
将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;
若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性;
根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件;
根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若至少两个目标原子事件中的第三原子事件执行成功,则在所述原子事件库中将所述目标版本记录为所述第三原子事件的生效版本;
若至少两个目标原子事件中的第四原子事件执行失败,则在所述原子事件库中将所述目标版本记录为所述第四原子事件的失效版本。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第一查看指令;
响应于所述第一查看指令,显示存在失效版本的原子事件和所述失效版本。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第二查看指令;
响应于所述第二查看指令,显示存在生效版本的原子事件和所述生效版本。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
提示在所述失效版本中对对应的所述原子事件进行修改。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述目标组合事件的配置信息中还包括至少两个目标原子事件之间的执行策略,所述执行策略包括:执行至少两个目标原子事件之间的顺序、执行至少两个目标原子事件之间的时间间隔。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述原子事件的属性信息还包括以下至少一种:所述原子事件的类型,所述操作属性与所述原子事件的类型对应。
8.根据权利要求7所述的方法,其特征在于,
当所述原子事件的类型为操作事件时,所述操作属性包括:所述原子事件所在的界面、所述原子事件的动作类型、所述原子事件对应的操作控件;
当所述原子事件的类型为屏蔽事件时,所述操作属性包括:所述原子事件屏蔽的界面、所述原子事件对应的操作控件;
当所述原子事件的类型为黑名单事件或白名单事件时,所述操作属性包括:所述原子事件所在的界面;
当所述原子事件的类型为跳转事件时,所述操作属性包括跳转的目标界面。
9.一种测试装置,其特征在于,所述装置包括:
测试需求文本拆分模块,用于将目标软件的测试需求文本拆分为至少两个描述词,每个所述描述词对应一个目标原子事件;
属性信息添加模块,用于若原子事件库中不存在所述至少两个描述词中的至少一个第一描述词,则将所述第一描述词对应的第一原子事件的属性信息增加到所述原子事件库中,所述原子事件库用于存储原子事件的属性信息,所述属性信息包括:所述原子事件的描述词、所述原子事件的标识和所述原子事件的操作属性;
配置信息生成模块,用于根据所述第一原子事件的标识和所述第二原子事件的标识,生成所述测试需求文本对应的目标组合事件的配置信息,所述第二原子事件为至少两个目标原子事件中除所述第一原子事件之外的原子事件;
组合事件执行模块,用于根据所述目标组合事件的配置信息和所述目标原子事件的属性信息,在目标版本的所述目标软件中执行所述目标组合事件。
10.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如权利要求1至8任一项所述的方法。
12.一种计算机程序,其特征在于,所述计算机程序用于实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111539669.4A CN116263743A (zh) | 2021-12-15 | 2021-12-15 | 测试方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111539669.4A CN116263743A (zh) | 2021-12-15 | 2021-12-15 | 测试方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116263743A true CN116263743A (zh) | 2023-06-16 |
Family
ID=86722629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111539669.4A Pending CN116263743A (zh) | 2021-12-15 | 2021-12-15 | 测试方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116263743A (zh) |
-
2021
- 2021-12-15 CN CN202111539669.4A patent/CN116263743A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN110928772B (zh) | 一种测试方法及装置 | |
US9798446B2 (en) | Standard commands for native commands | |
CN110941528B (zh) | 一种基于故障的日志埋点设置方法、装置及系统 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
US9442822B2 (en) | Providing a visual representation of a sub-set of a visual program | |
JP2006031109A (ja) | 管理システム及び管理方法 | |
CN107003931B (zh) | 将测试验证从测试执行分离 | |
CN111506358B (zh) | 更新容器配置的方法及装置 | |
US7424716B1 (en) | Method for tracking an event through multiple module-specific files | |
CN109857716B (zh) | 系统交互日志记录方法、装置及存储介质、服务器 | |
CN111694724B (zh) | 分布式表格系统的测试方法、装置、电子设备及存储介质 | |
CN116263743A (zh) | 测试方法及设备 | |
US20220337620A1 (en) | System for collecting computer network entity information employing abstract models | |
CN112162954B (zh) | 用户操作日志生成、路径的定位方法、装置、设备及介质 | |
CN110221952B (zh) | 业务数据的处理方法及装置、业务数据处理系统 | |
CN113254315A (zh) | 埋点信息的上报方法、埋点方法、装置、介质、电子设备 | |
US20160275002A1 (en) | Image capture in application lifecycle management for documentation and support | |
CN111459547A (zh) | 一种函数调用链路的展示方法和装置 | |
CN113760307A (zh) | 获取应用代码的差异化覆盖率的方法和装置 | |
CN105610908B (zh) | 一种基于安卓设备的samba服务实现方法及系统 | |
CN114978937B (zh) | 一种页面数据校验方法及装置 | |
CN113806229B (zh) | 接口变更的测试脚本复用方法、装置、设备、介质及产品 | |
CN112558975B (zh) | 组件的代码切换方法、装置、电子设备及可读存储介质 | |
CN112598323B (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 |