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

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
云原生网关 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
5月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
30天前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
|
6月前
|
运维 监控 Cloud Native
自动化运维的魔法书云原生之旅:从容器化到微服务架构的演变
【8月更文挑战第29天】本文将带你领略自动化运维的魅力,从脚本编写到工具应用,我们将一起探索如何通过技术提升效率和稳定性。你将学会如何让服务器自主完成更新、监控和故障修复,仿佛拥有了一本能够自动翻页的魔法书。
|
4月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
405 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
9月前
|
运维 监控 Docker
构建高效微服务架构:从理论到实践构建高效自动化运维体系:Ansible与Docker的完美融合
【5月更文挑战第31天】 在当今软件开发的世界中,微服务架构已经成为了实现可伸缩、灵活且容错的系统的关键策略。本文将深入探讨如何从零开始构建一个高效的微服务系统,涵盖从概念理解、设计原则到具体实施步骤。我们将重点讨论微服务设计的最佳实践、常用的技术栈选择、以及如何克服常见的挑战,包括服务划分、数据一致性、服务发现和网络通信等。通过实际案例分析,本文旨在为开发者提供一套实用的指南,帮助他们构建出既健壮又易于维护的微服务系统。
|
4月前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
140 2
|
4月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
97 2
|
4月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
128 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
5月前
|
JavaScript 前端开发 Java
一文让你了解微服务契约测试
谈到微服务,大家都想到契约测试,到底什么是契约测试呢,为什么要使用契约测试呢,关于这样的文章很多,本文将结合Spring Boot让你了解微服务契约测试。
56 0
一文让你了解微服务契约测试

相关产品

  • 微服务引擎