CN114297081A - 一种自动化测试方法以及相关设备 - Google Patents
一种自动化测试方法以及相关设备 Download PDFInfo
- Publication number
- CN114297081A CN114297081A CN202111669291.XA CN202111669291A CN114297081A CN 114297081 A CN114297081 A CN 114297081A CN 202111669291 A CN202111669291 A CN 202111669291A CN 114297081 A CN114297081 A CN 114297081A
- Authority
- CN
- China
- Prior art keywords
- test case
- target test
- test
- target
- automated testing
- 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 209
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000002085 persistent effect Effects 0.000 claims description 3
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种自动化测试方法以及相关设备,用于提升自动化测试的效率。本申请实施例方法包括:获取目标测试用例,所述目标测试用例包含单进程多模块间的测试用例;解析所述目标测试用例并依次排列于操作列表中;当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试;当符合预设条件时,结束测试并输出结果。
Description
技术领域
本申请实施例涉及自动化测试领域,尤其涉及一种自动化测试方法以及相关设备。
背景技术
自动化测试,即软件测试的自动化,就是在预先设定的条件下运行测试用例,并分析运行结果。总的来说,这种测试方法就是将以人驱动的测试行为转化为机器执行的一种过程。对于手动测试,其在设计了测试用例之后,需要测试人员根据设计的测试用例一步一步来执行测试得到实际结果,并将其与期望结果进行比对。而自动化测试,通过编写自动化测试用例,无需点击鼠标和键盘触发业务等人工操作,就能实现自动化测试,并输出测试结果。
目前的自动化测试方案,往往只针对单一模块的同步接口,通过接口的同步返回数据来得到接口的测试结果。当涉及多模块和多接口的异步输入输出的业务流程,并且此业务流程的各节点输入输出要求有序和完整时,就需要测试人员通过手动多次触发完成,并查看界面显示或者软件日志输出来确认测试结果。这样进行多模块间的自动化测试需要耗费大量的时间和人力成本,限制了自动化测试效率的提升。
发明内容
本申请实施例第一方面提供一种自动化测试方法,包括:
获取目标测试用例,所述目标测试用例包含单进程多模块间的测试用例;
解析所述目标测试用例并依次排列于操作列表中;
当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试;
当符合预设条件时,结束测试并输出结果。
可选的,在所述当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试之前,所述方法还包括:
若所述目标测试用例包含第三方关键词,则注册所述第三方关键字。
可选的,在所述当符合预设条件时,结束测试并输出结果之前,所述方法还包括:
当所述目标测试用例不合法时,返回执行所述获取目标测试用例的步骤。
可选的,所述当符合预设条件时,结束测试并输出结果包括:
当任一操作执行失败时,结束测试并输出结果。
本申请实施例第二方面提供一种一种自动化测试装置,包括:
获取单元,用于获取目标测试用例,所述目标测试用例包含单进程多模块间的测试用例;
解析单元,用于解析所述目标测试用例并依次排列于操作列表中;
测试单元,用于当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试;
输出单元,用于当符合预设条件时,结束测试并输出结果。
可选的,所述自动化测试装置还包括:
注册单元,用于若所述目标测试用例包含第三方关键词,则注册所述第三方关键字。
可选的,所述测试单元还用于,当所述目标测试用例不合法时,返回执行所述获取目标测试用例的步骤。
可选的,所述输出单元用于,当任一操作执行失败时,结束测试并输出结果。
本申请实施例第三方面提供一种自动化测试装置,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面所述的方法。
本申请实施例第四方面提供一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:可以通过包含单进程多模块间测试用例的目标测试用例对单进程的多个模块进行自动化测试,无需测试人员多次手动触发,一定程度上,提升了自动化测试的效率。
附图说明
图1为本申请实施例自动化测试方法一个流程图;
图2为本申请实施例自动化测试方法另一流程图;
图3为本申请实施例自动化测试方法一个测试用例示意图;
图4为本申请实施例自动化测试方法一个测试用例操作列表示意图;
图5为本申请实施例自动化测试装置一个结构图;
图6为本申请实施例自动化测试装置另一结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种自动化测试方法以及相关设备,用于提升自动化测试效率。
请参阅图1,本申请实施例提供一种自动化测试方法,包括:
101、获取目标测试用例,目标测试用例包含单进程多模块间的测试用例。
进行自动化测试之前,需要获取操作人员根据测试用例编写规范撰写的测试用例,并根据待测试的某一进程确定目标测试用例。具体的,可以根据待测试的进程自动获取相应的测试用例或操作人员根据需求手动选择合适的测试用例进行测试,此处不作限定。
另外,一个测试用例的任一操作至少包括一个一级关键字。在实际应用中,测试用例还包括二级关键字或第三方关键字,具体此处不做限定。其中,一级关键字和二级关键字为测试用例编写规范中预置的关键字,第三方关键字是根据不同的测试业务自行注册的除了一级关键字和二级关键字之外的其他关键字。
102、解析目标测试用例并依次排列于操作列表中。
解析目标测试用例至操作列表中,并按照操作顺序依次排列。操作列表中包含多个操作和每个操作具体需要执行的数据输入和/或数据输出。
103、当目标测试用例合法时,根据操作列表进行单进程多模块间的自动化测试。
在获取目标测试用例之后,会对目标测试用例进行合法性检测,若通过合法性检测,则根据该目标测试用例解析至的操作列表进行待测试进程多模块间的自动化测试。
具体的,合法性测试检查的是目标测试用例的语法是否合格,或是否存在未注册的关键字,只有语法合格且不存在未注册的关键字时,才可以通过合法性测试。在实际应用中,合法性测试还可能通过其他条件进行,此处不作限定。
104、当符合预设条件时,结束测试并输出结果。
若结束测试的预设条件是完成操作列表中所有操作,则当完成操作列表中的所有操作后根据操作列表中的指示输出结果。在实际应用中,结束测试的预设条件可以是某个操作执行失败、或测试用例未通过合法性检测,具体此处不作限定。
本申请实施例中,可以通过包含单进程多模块间测试用例的目标测试用例对单进程的多个模块进行自动化测试,无需测试人员多次手动触发,一定程度上,提升了自动化测试的效率。
在步骤101至步骤104的基础上,请参阅图2,在一个具体实施例中,本申请实施例自动化测试方法通过以下方式实现:
首先,根据待测试的业务选择并获取适当的测试用例。接着,使得测试用例解析器初始化以解析获取的测试用例。然后,遍历测试用例查询是否有未注册的第三方关键字,若存在未注册的第三方关键字,则可以进行合法性判断,判断测试用例的语法和关键字是否合法。若语法和关键字合法,则根据操作列表顺序执行所有操作;若语法或关键字不合法,则重新回到获取测试用例的步骤进行获取。在实际应用中,每执行一个操作会判断该操作是否执行成功。若执行成功则依次执行下一个操作,若执行不成功则输出相应测试结果并结束测试,其中,输出的相应测试结果包含失败的操作数据和失败原因。依次执行完所有操作后,需判断所有操作是否执行完成,若未完成,需返回之前根据操作列表顺序执行所有操作的步骤重新进行测试;若完成则输出相应测试结果并结束测试。
在一些实施例中,获得的测试用例是根据所示表1中的编写规范进行编写的。
表1
其中,一级关键字和二级关键字已经预置于自动化测试装置中,操作关键字即第三方关键字,是操作人员根据不同的测试业务的业务需求所注册的关键字。可以知道的是,在实际应用中还会有其他的一级关键字、二级关键字或操作关键字,此处不作限定。
在一具体实施例中,获取的目标测试用例可以是如图3所示的测试用例。图3所示测试用例是基于JSON数据格式根据前述表1的测试用例规范编写的自动化测试用例。测试用例是以JSON数组为基本格式,JSON数组的每个元素是一个JSON对象。每个JSON对象描述了一个操作,一个操作包含一级关键字,还可以包含二级关键字和操作关键字等数据,具体此处不作限定。
另外,结合图3所示测试用例,在一些实施例中,解析后的目标测试用例会出现如图4所示的操作列表。操作列表从上至下为依次排序的目标测试用例中的所有操作。
在一具体实施例中,操作1(调用接口)可以使用call,即调用接口,可设置参数和返回值,同时,当async为1或true时,表示异步调用,异步调用支持delay参数。
操作2(数据打桩)可以使用callback设置回调接口数据(档板),可判断预期数据,可返回数据,也可设置超时时间,且超时时间小于等于0时,则表示此操作不需要等待,同时,当async为1或true时,表示异步回调,异步支持delay参数。
操作3(循环操作)可使用loop:执行循环,循环内部支持所有一级关键字,且循环可嵌套,同时,当async为1或true时,表示异步循环,异步循环本身不支持delay参数,但是循环内部的异步操作可以支持。
内置操作中,exitloop可遍历并退出本用例中的所有loop操作为name的循环,通过print输出内容且通过sleep睡眠一段时间。其中,时间可以以毫秒或秒为单位,具体此处不做限定。
可以知道的是,在实际应用中,除了图4所示的调用接口、数据打桩、循环操作和内置操作等,还会有其他的操作来实现单进程多模块间的自动化测试,具体此处不作限定。
本申请实施例中,提供了测试用例的编写规范、使用JSON数组为基本格式的测试用例和操作列表的一种具体形式,提升了可实现性。
请参阅图5,本申请实施例提供一种自动化测试装置,包括:
获取单元501,用于获取目标测试用例,所述目标测试用例包含单进程多模块间的测试用例;
解析单元502,用于解析所述目标测试用例并依次排列于操作列表中;
测试单元503,用于当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试;
输出单元504,用于当符合预设条件时,结束测试并输出结果。
可选的,所述自动化测试装置还包括:
注册单元,用于若所述目标测试用例包含第三方关键词,则注册所述第三方关键字。
可选的,所述测试单元503还用于,当所述目标测试用例不合法时,返回执行所述获取目标测试用例的步骤。
可选的,所述输出单元504用于,当任一操作执行失败时,结束测试并输出结果。
本申请实施例中,可以通过测试单元503使用获取单元501获取的包含单进程多模块间测试用例的目标测试用例对单进程的多个模块进行自动化测试,无需测试人员多次手动触发,一定程度上,提升了自动化测试的效率。
图6是本申请实施例提供的一种自动化测试装置结构示意图,该自动化测试装置600可以包括一个或一个以***处理器(central processing units,CPU)601和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对自动化测试装置中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在自动化测试装置600上执行存储器605中的一系列指令操作。
自动化测试装置600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器601可以执行前述图1至图4所示实施例中自动化测试装置所执行的操作,具体此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种自动化测试方法,其特征在于,包括:
获取目标测试用例,所述目标测试用例包含单进程多模块间的测试用例;
解析所述目标测试用例并依次排列于操作列表中;
当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试;
当符合预设条件时,结束测试并输出结果。
2.根据权利要求1所述的自动化测试方法,其特征在于,在所述当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试之前,所述方法还包括:
若所述目标测试用例包含第三方关键词,则注册所述第三方关键字。
3.根据权利要求1所述的自动化测试方法,其特征在于,在所述当符合预设条件时,结束测试并输出结果之前,所述方法还包括:
当所述目标测试用例不合法时,返回执行所述获取目标测试用例的步骤。
4.根据权利要求1所述的自动化测试方法,其特征在于,所述当符合预设条件时,结束测试并输出结果包括:
当任一操作执行失败时,结束测试并输出结果。
5.一种自动化测试装置,其特征在于,包括:
获取单元,用于获取目标测试用例,所述目标测试用例包含单进程多模块间的测试用例;
解析单元,用于解析所述目标测试用例并依次排列于操作列表中;
测试单元,用于当所述目标测试用例合法时,根据所述操作列表进行所述单进程多模块间的自动化测试;
输出单元,用于当符合预设条件时,结束测试并输出结果。
6.根据权利要求5所述的自动化测试装置,其特征在于,所述自动化测试装置还包括:
注册单元,用于若所述目标测试用例包含第三方关键词,则注册所述第三方关键字。
7.根据权利要求5所述的自动化测试装置,其特征在于,所述测试单元还用于,当所述目标测试用例不合法时,返回执行所述获取目标测试用例的步骤。
8.根据权利要求5所述的自动化测试装置,其特征在于,所述输出单元用于,当任一操作执行失败时,结束测试并输出结果。
9.一种自动化测试装置,其特征在于,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行权利要求1至4中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111669291.XA CN114297081A (zh) | 2021-12-30 | 2021-12-30 | 一种自动化测试方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111669291.XA CN114297081A (zh) | 2021-12-30 | 2021-12-30 | 一种自动化测试方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297081A true CN114297081A (zh) | 2022-04-08 |
Family
ID=80974559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111669291.XA Pending CN114297081A (zh) | 2021-12-30 | 2021-12-30 | 一种自动化测试方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297081A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567201A (zh) * | 2011-12-15 | 2012-07-11 | 南京大学 | 跨模型的图形用户界面测试脚本自动修复方法 |
US20130097586A1 (en) * | 2011-10-17 | 2013-04-18 | International Business Machines Corporation | System and Method For Automating Test Automation |
CN110008111A (zh) * | 2019-01-31 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN110399299A (zh) * | 2019-07-17 | 2019-11-01 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN110532182A (zh) * | 2019-08-22 | 2019-12-03 | 锐捷网络股份有限公司 | 一种虚拟化平台的自动化测试方法及装置 |
CN111176996A (zh) * | 2019-12-25 | 2020-05-19 | 平安普惠企业管理有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN113434387A (zh) * | 2021-06-01 | 2021-09-24 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于脚本驱动的自动化测试工具及*** |
-
2021
- 2021-12-30 CN CN202111669291.XA patent/CN114297081A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097586A1 (en) * | 2011-10-17 | 2013-04-18 | International Business Machines Corporation | System and Method For Automating Test Automation |
CN102567201A (zh) * | 2011-12-15 | 2012-07-11 | 南京大学 | 跨模型的图形用户界面测试脚本自动修复方法 |
CN110008111A (zh) * | 2019-01-31 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
CN110399299A (zh) * | 2019-07-17 | 2019-11-01 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN110532182A (zh) * | 2019-08-22 | 2019-12-03 | 锐捷网络股份有限公司 | 一种虚拟化平台的自动化测试方法及装置 |
CN111176996A (zh) * | 2019-12-25 | 2020-05-19 | 平安普惠企业管理有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN113434387A (zh) * | 2021-06-01 | 2021-09-24 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于脚本驱动的自动化测试工具及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN111475417A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN112732563A (zh) | 接口脚本测试日志提取方法、装置、终端及存储介质 | |
CN110647471A (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN114546738A (zh) | 服务器通用测试方法、***、终端及存储介质 | |
CN110750446A (zh) | 一种***测试的方法及相关装置 | |
CN113434396A (zh) | 接口测试方法、装置、设备、存储介质及程序产品 | |
CN111427784B (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN112817853A (zh) | 一种自动测试方法、***和电子设备 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及*** | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN114297081A (zh) | 一种自动化测试方法以及相关设备 | |
CN115576831A (zh) | 一种测试案例推荐方法、装置、设备及存储介质 | |
CN115292159A (zh) | 测试调测方法、***及相应计算机设备和存储介质 | |
CN114238110A (zh) | 软件应用测试方法、装置、设备及存储介质 | |
CN110727601B (zh) | 多平台程序的测试方法及相关装置 | |
CN113868031A (zh) | 一种硬盘性能一致性的测试方法、装置、*** | |
CN114003497A (zh) | 业务***的测试方法、装置、设备及存储介质 | |
CN108845932B (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 | |
CN113608996B (zh) | 一种镜像编译测试方法、***、装置及可读存储介质 | |
CN109656828B (zh) | 一种集群中虚拟机压力自动测试方法,终端及可读存储介质 | |
CN116909936B (zh) | 大数据自动化测试方法、设备及可读存储介质 | |
CN111078538B (zh) | 基于jmh的规则自动化测试的方法 |
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 |