本发明涉及自动化测试领域,尤其涉及一种基于伪代码的自动化测试方法及系统。
背景技术:
1、目前,已有的测试条件及测试结果处理技术包括基于rest-assured技术,实现对测试结果的自动化处理技术;基于httpclient技术,实现对测试条件的构造等场景。但以上方案都存在以下缺陷:1.测试案例处理方式不灵活,限制测试框架横向扩展;2.测试案例处理方式单一,无法实现复杂场景的测试案例构造3.基于代码方式的自动化案例编写技术门槛高,难以普及。
技术实现思路
1、为了解决上述背景技术中提到的至少一个,本发明提出一种于伪代码的自动化测试方法及系统,基于伪代码技术,简化自动化案例编写难度,同时实现更加复杂的测试条件构造,进而使自动化达到更高的质量,主要解决的问题有:1.复杂场景下,单一测试条件及测试结果处理方式无法满足测试需求,基于伪代码技术可提供函数嵌套等处理方式,理论上可实现无限嵌套;2.横向扩展能力强。当需要对测试条件及测试结果处理方式进行扩展时,基于底层装饰类可实现自定义扩展,轻松应对各种测试突发需求。
2、为实现以上目的,本发明所采用的技术方案包括:
3、一种基于伪代码的自动化测试方法,包括:
4、抽象伪代码函数,构造测试条件;
5、确认接口参数,基于所述接口参数,确定所述伪代码函数;
6、获取业务规则,根据所述业务规则确定测试结果分析函数;
7、获取业务请求,所述业务请求的参数带有伪代码;
8、识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
9、使用所述执行结果替换所述伪代码;
10、获取所述执行结果,对所示执行结果进行分析。
11、进一步地,所述根据所述业务规则确定测试结果分析函数包括:所述结果分析函数使用逻辑连接符连接,组成测试结果校验逻辑。
12、进一步地,所述识别所述伪代码,包括:通过预先设定的正则表达式依次识别所述伪代码和嵌套伪代码。
13、进一步地,所述获取所述执行结果,对所述执行结果进行分析,包括:所述执行结果的返回报文包括json、xml和string类型,其中每个类型对应不同的伪代码表达式;对所述执行结果进行分析的方法包括采用jsonpath和xpath技术。
14、本发明还涉及一种基于伪代码的自动化测试系统,包括:
15、构造模块,用于抽象伪代码函数,构造测试条件;
16、确定模块,用于确认接口参数,基于所述接口参数,确定所述伪代码函数;
17、获取业务规则,根据所述业务规则确定测试结果分析函数;
18、处理模块,用于获取业务请求,所述业务请求的参数带有伪代码;
19、识别所述伪代码,利用反射机制执行所述伪代码,生成执行结果;
20、使用所述执行结果替换所述伪代码;
21、执行结果分析模块,用于获取所述执行结果,对所示执行结果进行分析。
22、本发明还涉及一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
23、本发明还涉及一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
24、本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
25、本发明的有益效果为:
26、基于伪代码技术,简化自动化案例编写难度,同时实现更加复杂的测试条件构造,进而使自动化达到更高的质量。复杂场景下,单一测试条件及测试结果处理方式无法满足测试需求,基于伪代码技术可提供函数嵌套等处理方式,理论上可实现无限嵌套;横向扩展能力强。当需要对测试条件及测试结果处理方式进行扩展时,基于底层装饰类可实现自定义扩展,轻松应对各种测试突发需求。
1.一种基于伪代码的自动化测试方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述根据所述业务规则确定测试结果分析函数包括:所述结果分析函数使用逻辑连接符连接,组成测试结果校验逻辑。
3.如权利要求2所述的方法,其特征在于,所述识别所述伪代码,包括:通过预先设定的正则表达式依次识别所述伪代码和嵌套伪代码。
4.如权利要求3所述的方法,其特征在于,所述获取所述执行结果,对所述执行结果进行分析,包括:所述执行结果的返回报文包括json、xml和string类型,其中每个类型对应不同的伪代码表达式;对所述执行结果进行分析的方法包括采用jsonpath和xpath技术。
5.一种基于伪代码的自动化测试系统,其特征在于,包括:
6.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法。
8.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至4中任一项所述方法的步骤。