MSE 微服务测试---自动化回归最佳实践|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 快速学习 MSE 微服务测试---自动化回归最佳实践

开发者学堂课程【MSE 微服务测试最佳实践-自动化回归MSE 微服务测试---自动化回归最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/970/detail/14891


MSE 微服务测试---自动化回归最佳实践

内容介绍

一、微服务测试---自动化回归

二、为什么需要自动化回归

三、云上自动化回归最佳实践

四、云上自动化回归最佳实践我们能做什么

 

一、微服务测试---自动化回归

1.当前的微服务迭代周期短,版本多,服务需要具备独立的测试和快速验证能力来支撑服务测试耗时缩短以及测试活动。面临着多方面的挑战,首先有以下这些挑战,服务不具备独立验证能力,自动化用例开发效率低,在高并发的使用场景下,健壮性如何保证如何及时发现网线网服务的出现异常这些挑战。

2.什么是微服务测试—自动化回归我们能做什么?

其中,微服务测试自动化、回归测试自动化用例,开发效率很低的主要解决方案恢复测试自动化回归能做什么?

聚焦于三个方面,首先,第一方面,基于微服务契约信息快速编排被测服务管理自动化测试用例,第二方面,可视化用力编辑界面丰富的预置检查点,内置变量支持自定义变量参数传递,持续自动化回归测试,第三方面帮助您高效管理违规业务测试场景,能够帮助业务快速验证、快速交付。

二、为什么需要自动化回归

product  service应用是提供来查询商品列表和通过ID查询商品详情的功能,然后business  service应用提供的是添加商品到购物车的功能。

1542.png

如果想验证用户的操作,从查询商品列表到通过ID查询商品详情,然后再将产品添加至购物车这个业务场景,现在一般是怎么做?

主要是有这么三个步骤,第一个就是先进入product service 应用部署所在的机器或者容器,通过curl命令调用查询商品列表,然后验证返回商品列表是否不为空。返回商品列表是否为空,然后第二步呢?把查询商品列表返回值中的ID拼接到curl命令的入参中,然后再通过ID来查询商品详情,验证详情中的字段是否符合预期。

第三步呢,就是进入business service应用部署所在的机器或者容器,然后把ID拼接到curl命令的入参中调用拼接该商品至购物车验证添加是否成功。

如果以上这些场景一次验证不通过,那么还要反复重复进行这些操作。至此就可以总结出云上微服测试的几点问题,第一点就是云上网络拓朴复杂业务链路场景验证难,以及这些重复繁琐的操作呢,验证效率是非常低的,那么我们能做什么?

1948.png 

结合我们的研发实践和研发理念,有以下三个特点,第一点,简单0编码开发成本,0环境搭建成本,1键去触发自动化回归,第二点,高效可视化编排测试用例,按需创建/销毁测试机,快速反馈测试结果,第三点就是专业spring cloud dubbo多协议的支持,能够便捷的测试宽带测试参数的管理以及丰富的预置检查点。

三、云上自动化回归最佳实践

如何去验证上面提到的加购物车业务场景,下面一步步来讲解一下最佳时间的操作过程。

11158.png

首先自动化回归的入口,现在是位于服务引擎MSC控制台里面,然后其中在恢复治理中心会服务测试自动化回归这个菜单,下面通过点击创建用力进入到新建用力页面。

11236.png

新建用力页面可以通过填写用例名称以及步骤名称来便于对测试用例的管理。首先添加的第一个步骤是查询商品列表,商品列表里面包含的应用是product service框架类型是spring cloud以及选择的pass,然后通过点击访问一次,可以看到页面就会展示这一次调用的查询商品列表,返回的数据可以看到这个请求出参展示了详细的返回信息。

11406.png

那么可以看到这个第一个商品的商品列表的信息,如果想获取这个商品里面的这个ID,那么很简单,只要点击这个出参提取。助手里面可以看到会出现一个弹窗,弹窗里面只要点击选中,想要去选中复制的这个ID,然后把复制这个ID粘贴到断言这个tab下面的检查对象中,然后同时选择这个检查对象是不是空,意思就是预期这个ID不为空,然后再把复制的这个ID的表达式放到这个出参提取tag里面的出参提取表达式中,然后并对这个表达式重命名一下ID。

11619.png

接下来编排第二步,查询商品详情,同样的要选择被测服务,然后其中到path这一步,希望把这个path里的ID传入的是上一步中提取的ID,那么很简单,只需要把这个path切切换为自定义输入,然后把里面的ID修改成通过花括号括起来,把ID放到花括号里面的方式设置即可,然后就可以通过,就可以实现将上一步的ID传到这一步这个操作啦。

然后也同时对这一步进行断言和其中断言里面设置了ID等于之前传的上一步提取的ID以及验证它的name就是它的商品名。名称以及商品价格有一定的预期,直接以后也要对这个对这一步进行提取。他提取其中提取了两个参数,一个是name,一个suprise,这两个参数都将作为第三步的入参,然后来编排一下。

11930.png

第三步,添加商品至购物车,其中选择的配色服务是CA service,关键类型是double,然后选择对应的服务和方法,然后可以注意到这个基本信息里面填入的三个参数,就是在第一步里面获取的提取的ID,以及在第二部里面提取的name和suprise。

那这些他的入参备选方式也是刚才提到的,就是只要以多乐符加花括号,把出参名括起来的方式传进来就可以了,那么到这一步就成功了,然后同时这一步也会设置对应的断言,就是把他预期他的response就是包含处这一步第三步就编辑完成了。最后点击一下保存配置,然后再点击立即执行,就可以验证业务场景。查看这些历史,展示了一个验证不通过的执行记录,可以快速的找到执行里面第二步是验证不通过的,其中,这一部里面的断言就是price预期是900,但实际是800认证不通过,那么具体的经验说明就是说等于数字比较失败了。

12305.png

四、云上自动化回归最佳实践我们能做什么

12328.png

即将自动化回归能力会提供多样性的用参能力,比如说会提供系统参数、环境变量、系统函数、环境变量、集合变量、全局变量等等,入参丰富的能力能够快速地编排实现我们的测试用例多样性以及会提供测试及管理能力,能够对测试用例进行分组运行,还有丰富的执行能力,这时串行、并行、定时以及插件执行等等,甚至我们会以服务测试,服务巡检,服务压测结合将服务测试的一键生成巡检任务,生成压测场景。

目前除了被MSE集成微服务测试的能力,还即将被EDAS等等云产品集成,能够将微服务测试能力作为一个基础能力,被更多的云产品集成。

另外将以更多的微服务产品联动,比如ACM、CSB,我们与他们形成联动,能够助力大家保障云上业务稳定性。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
37 8
|
8天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
9天前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
30 4
|
9天前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
19 4
|
9天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
28 3
|
27天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
55 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
71 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
256 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
267 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
55 5

相关产品

  • 微服务引擎