一种面向Web应用的虚拟化测试方法与流程
未命名
08-13
阅读:79
评论:0

一种面向web应用的虚拟化测试方法
技术领域
1.本技术涉及自动化测试技术领域,具体而言,涉及一种面向web应用的虚拟化测试方法。
背景技术:
2.在企业数字化、信息化建设过程中,各类综合管理信息系统的软件质量越来越得到重视,而软件测试是确保软件质量可信的重要手段之一,但在目前软件测试过程中常常遇到以下场景:1)被测试的web系统依赖外部服务器提供的功能,而外部服务器在测试时可能不存在或无法提供。2)被测试的web系统依赖外部服务器仅能够提供正常逻辑业务,当处理被测系统的错误行为时,需外部服务器能够就某个请求返回错误的响应,但这样的操作对于真实的外部服务器往往是不可能实现的。这种情况导致整个自动化测试的中断,影响被测试对象相应功能的测试,延迟整个测试进度。
3.由于目前传统的测试手段很难根据用户测试需求快速完成测试环境构建以支撑系统的自动化测试执行,本发明提出的一种面向web应用的虚拟化测试方法,能有效解决web应用被测系统所依赖的外部服务器不存在或不能使用,而导致整个系统自动化测试难以执行的问题。通过本方法提出的支持用户自定义构建虚拟服务节点和自动化驱动执行方法,可帮助测试设计人员快速搭建web应用系统的自动化仿真测试环境,保障模型驱动的自动化测试的顺利进行。
技术实现要素:
4.本技术的主要目的在于提供一种面向web应用的虚拟化测试方法,以解决上述问题。
5.为了实现上述目的,根据本技术的一个方面,提供了一种面向web应用的虚拟化测试方法。
6.根据本技术的一种面向web应用的虚拟化测试方法包括:
7.启动虚拟服务,向服务端发送https请求调用setrequest接口,成功设置预期侦听的地址、端口、匹配的内容在内的参数;
8.设置虚拟服务器期待的请求和相应的返回内容,并对设置请求和返回内容进行绑定;
9.触发被测试系统相应的功能,依据对被测试系统的功能逻辑要求向虚拟外部服务器发送确定的请求;
10.接收到发送给虚拟服务器的请求后,由虚拟服务器根据事先设置好的内容进行检查,检查收到的请求是否符合设计的顺序和设计的内容;
11.对发送的请求内容进行动态实时匹配,匹配完成后将匹配返回内容通过虚拟服务节点发送给待测web系统;
12.检查各个虚拟节点对相应的功能服务场景的匹配情况。
13.进一步的,所述启动虚拟服务,向服务端发送https请求调用setrequest接口,成功设置预期侦听的地址、端口、匹配的内容在内的参数,包括:
14.根据具体业务需求通过修改虚拟服务配置文件,可同时启动一个或者多个虚拟服务,每个虚拟服务节点提供专一的功能服务且相对独立运行,自动化测试执行过程中动态实时匹配到对应的虚拟服务将返回相应的结果内容。
15.进一步的,所述设置虚拟服务器期待的请求和相应的返回内容,并对设置请求和返回内容进行绑定,包括:
16.通过http调用虚拟服务提供的api接口函数,包括设置预期请求,预期响应,绑定请求与响应和清除设置请求、响应以及绑定关系,构建满足业务需求的虚拟服务节点,通过测试脚本控制整个业务逻辑的自动化测试执行。
17.进一步的,所述对发送的请求内容进行动态实时匹配,匹配完成后将匹配返回内容通过虚拟服务节点发送给待测web系统,包括:
18.实时接收从待测系统发送的各项请求,并进行动态实时匹配,只做匹配,不做业务逻辑,业务逻辑由控制单元通过测试脚本实现。
19.进一步的,一种面向web应用的虚拟化测试方法,还包括如下内容:
20.控制单元:根据业务需求构建相应的虚拟服务节点,设置期待的请求和对应的返回内容,通过测试脚本控制与被测系统、虚拟服务节点的交互,以及整个自动化测试的顺序执行。
21.待测web系统:真实的被测试对象,围绕待测web系统通过构建虚拟服务节点搭建起整个系统自动化测试环境。
22.虚拟服务匹配单元:根据事先设置好的内容进行检查,实时检查收到的请求是否符合设计的顺序和设计的内容,并进行动态实时匹配,将匹配结果内容返回。
23.虚拟节点单元:用户根据具体业务需求,通过自定义构建虚拟服务节点,该节点为待测web系统所依赖的外部服务,缺少该虚拟服务节点将会导致待测web系统某项功能业务无法正常运行。
24.进一步的,所述控制单元通过http调用虚拟服务提供的api接口函数,包括设置预期请求,预期响应,绑定请求与响应和清除设置请求、响应以及绑定关系等,设置预期侦听的地址,端口,匹配内容等参数,构建满足业务需求的虚拟服务节点,通过测试脚本控制整个业务逻辑的自动化测试执行。
25.进一步的,所述虚拟服务匹配单元实时接收从待测系统发送的各项请求,并进行动态实时匹配,只做匹配,不做业务逻辑,业务逻辑由控制单元通过测试脚本实现。
26.进一步的,所述虚拟节点单元为待测系统依赖的外部服务,用户根据具体业务需求通过修改虚拟服务配置文件,可同时启动一个或者多个虚拟服务,每个虚拟服务节点提供专一的功能服务且相对独立运行,自动化测试执行过程中动态实时匹配到对应的虚拟服务将返回相应的结果内容。
附图说明
27.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不
构成对本技术的不当限定。在附图中:
28.图1为本发明的一种面向web应用的虚拟化测试方法结构框图;
29.图2为本发明的一种面向web应用的虚拟化测试方法流程图;
30.图3为本发明针对典型虚拟服务应用场景进行分析的流程图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
32.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.在本技术中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
34.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
35.此外,术语“安装”、“获取”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
36.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。应当理解,在本发明的描述中,除非另有明确的规定和限定,术语“存储介质”可以是rom、ram、磁碟或者光盘等各种可以存储计算机程序的介质。术语“处理器”可以是cpld(complex programmable logic device:复杂可编程逻辑器件)、fpga(field-programmable gate信息ray:现场可编程门阵列)、mcu(microcontroller unit:微控制单元)、plc(programmable logic controller:可编程逻辑控制器)以及cpu(central processing unit:中央处理器)等具备数据处理功能的芯片或电路。术语“电子设备”可以是具有数据处理功能和存储功能的任何设备,通常可以包括固定终端和移动终端。固定终端如台式机等。移动终端如手机、pad以及移动机器人等。此外,后续所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
37.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相
互组合。下面将参考附图并结合实施例来详细说明本技术。
38.实施例一:
39.图1为本发明的一种面向web应用的虚拟化测试方法结构框图,从图中可以看出:
40.本发明实施例中,节点a控制单元101用于业务需求构建相应的虚拟服务节点,设置期待的请求和对应的返回内容。作为控制单元通过测试脚本控制与被测系统的业务交互和数据处理,控制整个自动化测试的顺序执行。节点b待测web系统102是用户在软件系统开发或测试过程中真实的被测试对象,自动化测试都是围绕待测web系统展开,最终通过构建虚拟服务节点搭建起整个系统自动化测试环境。节点c虚拟服务匹配单元103用于根据事先设置好的内容进行检查,检查收到的请求是否符合设计的顺序和设计的内容,并进行动态实时匹配,将匹配结果内容返回。虚拟节点d单元104为用户根据具体业务需求,通过自定义构建虚拟服务节点,该节点为节点b待测web系统所依赖的外部服务,缺少该虚拟服务节点将会导致待测web系统某项功能业务无法正常运行。虚拟节点e单元105,虚拟节点f单元106,虚拟节点g单元107与虚拟节点d单元类似,为待测系统依赖的外部服务,只是针对不同的业务功能需求,用户根据具体业务需求构建多个虚拟服务节点,每个虚拟服务节点提供专一的功能服务且相对独立运行,自动化测试执行过程中匹配到对应的虚拟服务将返回相应的结果内容。
41.实施例二:
42.图2为本发明专利申请的一种面向web应用的虚拟化测试方法流程图,其实施方式,包括以下步骤:
43.步骤201:启动虚拟服务,向服务端发送https请求调用setrequest接口,成功设置预期侦听的地址,端口,匹配的字符串等。当需要启动多个虚拟服务节点时,通过修改虚拟服务配置文件的端口号(修改为不同的端口号),同时启动多个虚拟服务。
44.步骤202:启动服务成功后,用户可根据实际测试的需求,设置虚拟服务器期待的请求和相应的返回内容,并对设置请求和返回内容进行绑定,进入步骤203。相关设置操作通过虚拟服务提供的api接口函数实现,常用接口函数为parrotapi.setrequest,parrotapi.setresponse,parrotapi.setbinding以及parrotapi.clear等供使用,其对应的函数原型定义如下:
45.1)setrequest设置期望请求、预期侦听参数
46.return res
47.2)setresponse设置预期的返回内容、预期响应参数
48.res=httpsclient.https_post(url,json_dict,headers)
49.return res
50.3)setbinding绑定设置请求和预期响应
51.res=httpsclient.https_post(url,json_dict,headers)
52.return res
53.4)clear清除所设置的虚拟服务和数据库数据内容
54.res=httpsclient.https_post(url,json_dict,headers)
55.return res
56.步骤203:然后触发被测试系统的功能。由于被测试系统的功能逻辑,依据设计要
求向虚拟外部服务器d或e发送确定的请求,采用http调用方法。
57.步骤204:接收到发送给虚拟服务器d或e的请求后,由虚拟服务器d或e根据事先设置好的内容进行检查,检查收到的请求是否符合设计的顺序和设计的内容,若符合,进入步骤205,若不符合,则进入步骤206。
58.步骤205:通过符合性检查,然后如果匹配,根据测试人员设置的返回内容来返回匹配结果,保障自动化测试顺利进行。
59.步骤206:符合性检查未通过,则记录下一个错误,由于匹配未成功,返回重复步骤203,继续等待并响应新的请求命令。
60.实施例三:
61.图3为本发明针对典型虚拟服务应用场景进行分析的流程图,以某商城虚拟购物系统为实例,系统主要功能有用户登录,完成商品的选择,加入购物车以及结账支付,其中登录功能需要依赖虚拟外部节点d进行用户名和密码的比对确认,商品支付功能需要依赖虚拟外部节点e进行产品和支付金额的比对确认,从图中可以看出:
62.步骤301:设置期待的请求,对应的返回内容,其中,期待收到req(用户名/密码),匹配请求后返回res(成功/失败),并进行绑定操作;
63.步骤302:设置期待的请求,对应的返回内容,其中,期待收到req(产品/金额),匹配请求后返回res(成功/失败/超时),并进行绑定操作;
64.步骤303:通过节点a控制单元向节点b待测web系统输入用户名和密码,进行登录操作;
65.步骤304:节点c虚拟服务匹配单元根据事先设置好的内容进行符合性检查,检查设计的顺序和设计的内容是否符合要求,若符合,进入步骤305,否则报错;
66.步骤305:根据登录请求信息进行自动匹配;
67.步骤306:匹配完成后,将匹配返回内容(登录成功或失败)通过节点c虚拟服务单元返回给待测系统;
68.步骤307:根据支付请求信息进行自动匹配;
69.步骤308:匹配完成后,将匹配返回内容(支付成功或失败或超时)通过节点c虚拟服务单元返回给节点b待测web系统;
70.步骤309:将动态实时匹配返回内容发送给待测web系统;
71.步骤310:完成商城虚拟购物的一次操作(包括登录认证和支付确认),得到虚拟购物返回结果(购物支付成功);
72.步骤311:检查虚拟节点d对各种登录认证场景的匹配情况;
73.步骤312:检查虚拟节点e对各种支付确认场景的匹配情况。
74.需要说明的是,对于前述的各方法实施例,为了便于理解,将其表述为一系列动作的组合,但是本领域技术人员应该知悉,本发明并不完全受到所描述动作顺序的限制,某些步骤可以同时进行。
75.以上对本发明所提供的一种面向web应用的虚拟化测试方法进行了详细的介绍,本发明的优点在于,能够有效解决用户在系统开发和测试过程中,所依赖的外部资源没有到位而导致自动化测试中断,通过提供用户自定义构建虚拟服务节点和自动化驱动执行方法,帮助测试设计人员快速搭建web应用系统的自动化仿真测试环境,故可用于实际的软件
系统开发或自动化测试中。综上所述,以上具体实施方式仅用于说明本发明,而不应该被理解为对本发明的限制。
76.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
77.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
78.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种面向web应用的虚拟化测试方法,其特征在于,包括:启动虚拟服务,向服务端发送https请求调用setrequest接口,成功设置预期侦听的地址、端口、匹配的内容在内的参数;设置虚拟服务器期待的请求和相应的返回内容,并对设置请求和返回内容进行绑定;触发被测试系统相应的功能,依据对被测试系统的功能逻辑要求向虚拟外部服务器发送确定的请求;接收到发送给虚拟服务器的请求后,由虚拟服务器根据事先设置好的内容进行检查,检查收到的请求是否符合设计的顺序和设计的内容;对发送的请求内容进行动态实时匹配,匹配完成后将匹配返回内容通过虚拟服务节点发送给待测web系统;检查各个虚拟节点对相应的功能服务场景的匹配情况。2.根据权利要求1所述的面向web应用的虚拟化测试方法,其特征在于,所述启动虚拟服务,向服务端发送https请求调用setrequest接口,成功设置预期侦听的地址、端口、匹配的内容在内的参数,包括:根据具体业务需求通过修改虚拟服务配置文件,可同时启动一个或者多个虚拟服务,每个虚拟服务节点提供专一的功能服务且相对独立运行,自动化测试执行过程中动态实时匹配到对应的虚拟服务将返回相应的结果内容。3.根据权利要求1所述的面向web应用的虚拟化测试方法,其特征在于,所述设置虚拟服务器期待的请求和相应的返回内容,并对设置请求和返回内容进行绑定,包括:通过http调用虚拟服务提供的api接口函数,包括设置预期请求,预期响应,绑定请求与响应和清除设置请求、响应以及绑定关系,构建满足业务需求的虚拟服务节点,通过测试脚本控制整个业务逻辑的自动化测试执行。4.根据权利要求1所述的面向web应用的虚拟化测试方法,其特征在于,所述对发送的请求内容进行动态实时匹配,匹配完成后将匹配返回内容通过虚拟服务节点发送给待测web系统,包括:实时接收从待测系统发送的各项请求,并进行动态实时匹配,只做匹配,不做业务逻辑,业务逻辑由控制单元通过测试脚本实现。
技术总结
本申请公开了一种面向Web应用的虚拟化测试方法。该方法包括启动虚拟服务,向服务端发送https请求调用SetRequest接口;设置虚拟服务器期待的请求和相应的返回内容,并对设置请求和返回内容进行绑定;触发被测试系统相应的功能,依据对被测试系统的功能逻辑要求向虚拟外部服务器发送确定的请求;接收到发送给虚拟服务器的请求后,由虚拟服务器根据事先设置好的内容进行检查;对发送的请求内容进行动态实时匹配,匹配完成后将匹配返回内容通过虚拟服务节点发送给待测Web系统;检查各个虚拟节点对相应的功能服务场景的匹配情况。本发明能够支持用户自定义构建虚拟服务节点,通过设置节点间交互逻辑,在系统运行时通过动态匹配,实现系统的侵入式自动化测试。现系统的侵入式自动化测试。现系统的侵入式自动化测试。
技术研发人员:仵林博 尚小虎 马思友 邓霏 胡驰 邹伟 张浩 李春雷 杨万生
受保护的技术使用者:中国工程物理研究院计算机应用研究所
技术研发日:2023.04.25
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/