CN116820973A - 一种基于伪代码的自动化测试方法及系统 - Google Patents
一种基于伪代码的自动化测试方法及系统 Download PDFInfo
- Publication number
- CN116820973A CN116820973A CN202310789350.XA CN202310789350A CN116820973A CN 116820973 A CN116820973 A CN 116820973A CN 202310789350 A CN202310789350 A CN 202310789350A CN 116820973 A CN116820973 A CN 116820973A
- Authority
- CN
- China
- Prior art keywords
- pseudo code
- execution result
- test
- pseudo
- acquiring
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 66
- 230000006870 function Effects 0.000 claims abstract description 34
- 238000005516 engineering process Methods 0.000 claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 8
- 238000010276 construction Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 20
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
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)
Abstract
本发明涉及一种基于伪代码的自动化测试方法及系统,包括抽象伪代码函数,构造测试条件;确认接口参数,基于所述接口参数,确定所述伪代码函数;获取业务规则,根据所述业务规则确定测试结果分析函数;获取业务请求,所述业务请求的参数带有伪代码;识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;使用所述执行结果替换所述伪代码;获取所述执行结果,对所示执行结果进行分析。基于伪代码技术,简化自动化案例编写难度,同时实现更加复杂的测试条件构造,适配了多种复杂的测试场景,进而使自动化达到更高的质量。
Description
技术领域
本发明涉及自动化测试领域,尤其涉及一种基于伪代码的自动化测试方法及系统。
背景技术
目前,已有的测试条件及测试结果处理技术包括基于Rest-Assured技术,实现对测试结果的自动化处理技术;基于HttpClient技术,实现对测试条件的构造等场景。但以上方案都存在以下缺陷:1.测试案例处理方式不灵活,限制测试框架横向扩展;2.测试案例处理方式单一,无法实现复杂场景的测试案例构造3.基于代码方式的自动化案例编写技术门槛高,难以普及。
发明内容
为了解决上述背景技术中提到的至少一个,本发明提出一种于伪代码的自动化测试方法及系统,基于伪代码技术,简化自动化案例编写难度,同时实现更加复杂的测试条件构造,进而使自动化达到更高的质量,主要解决的问题有:1.复杂场景下,单一测试条件及测试结果处理方式无法满足测试需求,基于伪代码技术可提供函数嵌套等处理方式,理论上可实现无限嵌套;2.横向扩展能力强。当需要对测试条件及测试结果处理方式进行扩展时,基于底层装饰类可实现自定义扩展,轻松应对各种测试突发需求。
为实现以上目的,本发明所采用的技术方案包括:
一种基于伪代码的自动化测试方法,包括:
抽象伪代码函数,构造测试条件;
确认接口参数,基于所述接口参数,确定所述伪代码函数;
获取业务规则,根据所述业务规则确定测试结果分析函数;
获取业务请求,所述业务请求的参数带有伪代码;
识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
使用所述执行结果替换所述伪代码;
获取所述执行结果,对所示执行结果进行分析。
进一步地,所述根据所述业务规则确定测试结果分析函数包括:所述结果分析函数使用逻辑连接符连接,组成测试结果校验逻辑。
进一步地,所述识别所述伪代码,包括:通过预先设定的正则表达式依次识别所述伪代码和嵌套伪代码。
进一步地,所述获取所述执行结果,对所述执行结果进行分析,包括:所述执行结果的返回报文包括json、xml和string类型,其中每个类型对应不同的伪代码表达式;对所述执行结果进行分析的方法包括采用jsonpath和xpath技术。
本发明还涉及一种基于伪代码的自动化测试系统,包括:
构造模块,用于抽象伪代码函数,构造测试条件;
确定模块,用于确认接口参数,基于所述接口参数,确定所述伪代码函数;
获取业务规则,根据所述业务规则确定测试结果分析函数;
处理模块,用于获取业务请求,所述业务请求的参数带有伪代码;
识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
使用所述执行结果替换所述伪代码;
执行结果分析模块,用于获取所述执行结果,对所示执行结果进行分析。
本发明还涉及一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还涉及一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
本发明的有益效果为:
基于伪代码技术,简化自动化案例编写难度,同时实现更加复杂的测试条件构造,进而使自动化达到更高的质量。复杂场景下,单一测试条件及测试结果处理方式无法满足测试需求,基于伪代码技术可提供函数嵌套等处理方式,理论上可实现无限嵌套;横向扩展能力强。当需要对测试条件及测试结果处理方式进行扩展时,基于底层装饰类可实现自定义扩展,轻松应对各种测试突发需求。
附图说明
图1为本发明一种基于伪代码的自动化测试方法流程示意图。
图2为本发明一种基于伪代码的自动化测试系统结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本发明第一方面涉及一种步骤流程如图1所示的基于伪代码的自动化测试方法,包括:
抽象伪代码函数,构造测试条件;
在本发明实施例中,针对自动化过程中,测试条件构造复杂,失效时间短等痛点问题,利用自定义伪代码技术,灵活构造测试条件,动态构造测试条件,使得测试条件永不失效且无需手工维护。具体而言,抽象出各种伪代码函数,实现对测试条件的动态注入。
确认接口参数,基于所述接口参数,确定所述伪代码函数;
获取业务规则,根据所述业务规则确定测试结果分析函数;
具体而言,在本申请实施例中,根据业务规则选择合适的测试结果分析函数,使用逻辑连接符连接,组成测试结果校验逻辑。
获取业务请求,所述业务请求的参数带有伪代码;
识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
使用所述执行结果替换所述伪代码;
具体而言,在本申请实施例中,携带有伪代码的请求参数进入后台,后台通过预先设定好的正则表达式将伪代码以及嵌套伪代码依次识别出来,并利用反射机制将伪代码进行执行,随后使用执行结果替换伪代码,继续进行案例执行逻辑。
获取所述执行结果,对所示执行结果进行分析。
具体而言,在本申请实施例中,案例执行结果返回后,后台将返回报文分为json、xml、string等多种类型,针对这些报文类型提供了不同的伪代码表达式,可通过jsonpath、xpath等技术对测试结果进行分析,同时支持使用逻辑连接符连接多个伪代码表达式。
本发明针对自动化过程中,测试条件构造复杂,失效时间短等痛点问题,利用自定义伪代码技术,灵活构造测试条件,动态构造测试条件,使得测试条件永不失效且无需手工维护;针对测试结果处理死板,难以适配复杂业务场景等痛点,利用自定义伪代码技术,灵活处理测试结果,实现对测试结果的多维分析,增加测试结果处理的准确性。
本发明另一方面还涉及基于伪代码的自动化测试系统,其结构如图2所示,包括:
构造模块,用于抽象伪代码函数,构造测试条件;
确定模块,用于确认接口参数,基于所述接口参数,确定所述伪代码函数;
获取业务规则,根据所述业务规则确定测试结果分析函数;
处理模块,用于获取业务请求,所述业务请求的参数带有伪代码;
识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
使用所述执行结果替换所述伪代码;
执行结果分析模块,用于获取所述执行结果,对所示执行结果进行分析。
通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
本发明的实施例还提供能够实现上述实施例中的基于伪代码的自动化测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于伪代码的自动化测试方法的全部步骤。
本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为LCD显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种基于伪代码的自动化测试方法,其特征在于,包括:
抽象伪代码函数,构造测试条件;
确认接口参数,基于所述接口参数,确定所述伪代码函数;
获取业务规则,根据所述业务规则确定测试结果分析函数;
获取业务请求,所述业务请求的参数带有伪代码;
识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
使用所述执行结果替换所述伪代码;
获取所述执行结果,对所示执行结果进行分析。
2.如权利要求1所述的方法,其特征在于,所述根据所述业务规则确定测试结果分析函数包括:所述结果分析函数使用逻辑连接符连接,组成测试结果校验逻辑。
3.如权利要求2所述的方法,其特征在于,所述识别所述伪代码,包括:通过预先设定的正则表达式依次识别所述伪代码和嵌套伪代码。
4.如权利要求3所述的方法,其特征在于,所述获取所述执行结果,对所述执行结果进行分析,包括:所述执行结果的返回报文包括json、xml和string类型,其中每个类型对应不同的伪代码表达式;对所述执行结果进行分析的方法包括采用jsonpath和xpath技术。
5.一种基于伪代码的自动化测试系统,其特征在于,包括:
构造模块,用于抽象伪代码函数,构造测试条件;
确定模块,用于确认接口参数,基于所述接口参数,确定所述伪代码函数;
获取业务规则,根据所述业务规则确定测试结果分析函数;
处理模块,用于获取业务请求,所述业务请求的参数带有伪代码;
识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
使用所述执行结果替换所述伪代码;
执行结果分析模块,用于获取所述执行结果,对所示执行结果进行分析。
6.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法。
8.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789350.XA CN116820973A (zh) | 2023-06-30 | 2023-06-30 | 一种基于伪代码的自动化测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789350.XA CN116820973A (zh) | 2023-06-30 | 2023-06-30 | 一种基于伪代码的自动化测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820973A true CN116820973A (zh) | 2023-09-29 |
Family
ID=88127215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310789350.XA Pending CN116820973A (zh) | 2023-06-30 | 2023-06-30 | 一种基于伪代码的自动化测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820973A (zh) |
-
2023
- 2023-06-30 CN CN202310789350.XA patent/CN116820973A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783793B (zh) | 自动化接口测试系统及方法 | |
CN110941563B (zh) | 自动化脚本测试方法及装置 | |
CN112463634B (zh) | 微服务架构下的软件测试方法及装置 | |
CN111897738B (zh) | 基于原子服务的自动化测试方法及装置 | |
CN111782470A (zh) | 分布式容器日志数据处理方法及装置 | |
CN115391219A (zh) | 测试用例生成方法、装置、电子设备及存储介质 | |
CN111324480A (zh) | 大型主机交易故障定位系统及方法 | |
CN113760611B (zh) | 系统站点切换方法、装置、电子设备及存储介质 | |
CN113095782A (zh) | 自动审批决策方法及装置 | |
CN116150029A (zh) | 一种贷款系统逾期跑批自动化测试方法及装置 | |
CN116820973A (zh) | 一种基于伪代码的自动化测试方法及系统 | |
CN113515447B (zh) | 系统自动化测试方法及装置 | |
CN112860585B (zh) | 一种测试脚本断言生成方法及装置 | |
CN113791984A (zh) | 接口自动化测试方法及装置 | |
CN115934530A (zh) | 一种自动化测试用例复用方法及系统 | |
CN112988603B (zh) | 大数据测试用例生成方法及装置 | |
CN110022244B (zh) | 用于发送信息的方法和装置 | |
CN113609017A (zh) | 接口测试案例生成方法及装置 | |
CN117033191A (zh) | 一种基于参数属性分类的测试案例参数化方法及系统 | |
CN114138744A (zh) | 一种客户数据运行时迁移方法及系统 | |
CN117608705A (zh) | 一种基于路由控制的公共方法解耦调用方法及系统 | |
CN113626341A (zh) | 匹配接口模拟报文的方法及装置 | |
CN116881130A (zh) | 一种订单业务场景的自动化测试方法及系统 | |
CN111897710A (zh) | 定时任务诊断方法及装置 | |
CN116208529A (zh) | 一种基于离线反馈的http交易接口测试方法及系统 |
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 |