微服务的自动化测试方法、装置和自动化测试系统与流程

文档序号:38870511发布日期:2024-08-02 02:42阅读:19来源:国知局
微服务的自动化测试方法、装置和自动化测试系统与流程

本发明涉及通信测试,具体而言,涉及一种微服务的自动化测试方法、装置、计算机可读存储介质和自动化测试系统。


背景技术:

1、微服务项目本身是分布式系统,服务通信是跨网络的调用,服务间的协作,网络延时等因素都会影响测试结果,这就会导致测试结果不够稳定。服务/模块/层次之间存在复杂的依赖性。后置系统出现异常,会导致前面系统无法进行测试。涉及到多个服务的端到端测试非常容易出错。故障分析的复杂度会随着服务的增加而提高。自动化测试由于环境原因造成大批量失败。

2、微服务将单一应用程序划分成一组小的服务,每个服务运行在其独立的进程中,服务间采用轻量级的通信机制互相沟通,每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。微服务的提供方很可能会被多个服务调用,调用链路复杂,造成责任链混乱。


技术实现思路

1、本技术的主要目的在于提供一种微服务的自动化测试方法、装置、计算机可读存储介质和自动化测试系统,以至少解决现有技术中微服务的调用链路复杂在测试过程中容易因为责任链混乱导致前端测试无法完成的问题。

2、为了实现上述目的,根据本技术的一个方面,提供了一种微服务的自动化测试方法,包括:在接收到目标接口名称的情况下,根据所述目标接口名称查询契约文件得到第一输入参数和第一输出参数,所述目标接口名称为当前时刻进行接口测试的目标接口的名称,所述第一输入参数为与所述目标接口对应的输入参数,所述第一输出参数为所述契约文件中与所述第一输入参数对应的输出参数;将所述第一输入参数输入所述目标接口得到第二输出参数,并根据所述第一输出参数和所述第二输出参数进行校验得到第一测试报告,所述第一测试报告用于表征所述目标接口是否校验成功;在接收到目标界面名称的情况下,根据所述目标界面名称查询契约文件得到第三输出参数和第一界面响应,所述目标界面名称为所述当前时刻进行界面测试的目标ui界面的名称,所述第三输出参数为任意一个所述目标接口的输出参数,所述第一界面响应为所述契约文件中与所述第三输出参数对应的界面响应;将所述第三输出参数输入至所述目标ui界面得到第二界面响应,并根据所述第一界面响应和所述第二界面响应进行校验得到第二测试报告,所述第二测试报告用于表征所述目标ui界面是否校验成功;根据所述第一测试报告和所述第二测试报告生成第三测试报告,所述第三测试报告用于表征为服务是否校验成功,所述微服务用于将一个应用程序分解成一组独立进程实现。

3、可选地,根据所述目标接口名称查询契约文件得到第一输入参数和第一输出参数,包括:根据所述目标接口名称查询第一映射关系得到第一标识信息,所述第一标识信息用于表征所述目标接口对应的所述输入参数和所述输出参数的在所述契约文件中的位置,所述第一映射关系为所述目标接口与所述输入参数和所述输出参数的映射关系;根据所述第一标志信息抓取所述契约文件中对应位置的数据得到所述第一输入参数和所述第一输出参数。

4、可选地,根据所述第一输出参数和所述第二输出参数进行校验得到第一测试报告,包括:在所述第一输出参数与所述第二输出参数一致的情况下确定所述第一测试报告为所述目标接口校验成功;在所述第一输出参数与所述第二输出参数不一致的情况下确定所述第一测试报告为所述目标接口校验失败。

5、可选地,在所述目标接口校验失败之后,所述方法还包括:根据所述契约文件生成第一数据包,所述第一数据包中的数据用于构建仿真环境;向所述目标接口发送第一目标请求和所述第一数据包,所述第一目标请求用于指示所述目标接口根据所述第一数据包构建所述仿真环境并在仿真环境中对所述第一输入参数进行运算得到所述第二输出参数;根据所述第一输出参数和所述第二输出参数进行校验得到所述第一测试报告。

6、可选地,根据所述目标界面名称查询契约文件得到第三输出参数和第一界面响应,包括:根据所述目标界面名称查询第二映射关系得到第二标识信息,所述第二标识信息用于表征所述目标ui界面对应的所述目标接口的所述输出参数和所述输出参数输入所述目标ui界面的所述界面响应的在所述契约文件中的位置,所述第二映射关系为所述目标ui界面与所述输出参数和所述界面响应的映射关系;根据所述第二标志信息抓取所述契约文件中对应位置的数据得到所述第三输入参数和所述第一界面响应。

7、可选地,根据所述第一界面响应和所述第二界面响应进行校验得到第二测试报告,包括:在所述第一界面响应与所述第二界面响应一致的情况下确定所述第二测试报告为所述目标ui界面校验成功;在所述第一界面响应与所述第二界面响应不一致的情况下确定所述第二测试报告为所述目标ui接口校验失败。

8、可选地,根据所述第一测试报告和所述第二测试报告生成第三测试报告,包括:在所述目标接口与所述目标ui界面均校验成功的情况下,确定所述第三测试报告为所述微服务校验成功;在所述目标接口与所述目标ui界面中任意一个校验失败的情况下,确定所述第三测试报告为所述微服务校验失败。

9、根据本技术的另一方面,提供了一种微服务的自动化测试装置,所述装置包括:第一查询单元,用于在接收到目标接口名称的情况下,根据所述目标接口名称查询契约文件得到第一输入参数和第一输出参数,所述目标接口名称为当前时刻进行接口测试的目标接口的名称,所述第一输入参数为与所述目标接口对应的输入参数,所述第一输出参数为所述契约文件中与所述第一输入参数对应的输出参数;第一输入单元,用于将所述第一输入参数输入所述目标接口得到第二输出参数,并根据所述第一输出参数和所述第二输出参数进行校验得到第一测试报告,所述第一测试报告用于表征所述目标接口是否校验成功;第二查询单元,用于在接收到目标界面名称的情况下,根据所述目标界面名称查询契约文件得到第三输出参数和第一界面响应,所述目标界面名称为所述当前时刻进行界面测试的目标ui界面的名称,所述第三输出参数为任意一个所述目标接口的输出参数,所述第一界面响应为所述契约文件中与所述第三输出参数对应的界面响应;第二输入单元,用于将所述第三输出参数输入至所述目标ui界面得到第二界面响应,并根据所述第一界面响应和所述第二界面响应进行校验得到第二测试报告,所述第二测试报告用于表征所述目标ui界面是否校验成功;生成单元,用于根据所述第一测试报告和所述第二测试报告生成第三测试报告,所述第三测试报告用于表征为服务是否校验成功,所述微服务用于将一个应用程序分解成一组独立进程实现。

10、根据本技术的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。

11、根据本技术的又一方面,提供了一种自动化测试系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。

12、应用本技术的技术方案,在上述微服务的自动化测试方法中,首先,在接收到目标接口名称的情况下,根据上述目标接口名称查询契约文件得到第一输入参数和第一输出参数,上述目标接口名称为当前时刻进行接口测试的目标接口的名称,上述第一输入参数为与上述目标接口对应的输入参数,上述第一输出参数为上述契约文件中与上述第一输入参数对应的输出参数;然后,将上述第一输入参数输入上述目标接口得到第二输出参数,并根据上述第一输出参数和上述第二输出参数进行校验得到第一测试报告,上述第一测试报告用于表征上述目标接口是否校验成功;之后,在接收到目标界面名称的情况下,根据上述目标界面名称查询契约文件得到第三输出参数和第一界面响应,上述目标界面名称为上述当前时刻进行界面测试的目标ui界面的名称,上述第三输出参数为任意一个上述目标接口的输出参数,上述第一界面响应为上述契约文件中与上述第三输出参数对应的界面响应;之后,将上述第三输出参数输入至上述目标ui界面得到第二界面响应,并根据上述第一界面响应和上述第二界面响应进行校验得到第二测试报告,上述第二测试报告用于表征上述目标ui界面是否校验成功;最后,根据上述第一测试报告和上述第二测试报告生成第三测试报告,上述第三测试报告用于表征为服务是否校验成功,上述微服务用于将一个应用程序分解成一组独立进程实现。本技术基于契约文件确定接口测试的输入参数以及对应的校验参数,将对应的输入参数输入测试接口得到输出参数与校验参数进行校验实现接口测试,并根据接口确定输出参数,直接输出至ui界面,读取ui界面的响应与校验响应进行校验,本技术在进行测试的过程中数据依赖于契约文件,相比于现有技术中自动测试依赖于后置系统,本技术解决了现有技术中微服务的调用链路复杂在测试过程中容易因为责任链混乱导致前端测试无法完成的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1