开发者学堂课程【MSE 微服务测试最佳实践-自动化回归:MSE 微服务测试---自动化回归最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/970/detail/14891
MSE 微服务测试---自动化回归最佳实践
内容介绍
一、微服务测试---自动化回归
二、为什么需要自动化回归
三、云上自动化回归最佳实践
四、云上自动化回归最佳实践我们能做什么
一、微服务测试---自动化回归
1.当前的微服务迭代周期短,版本多,服务需要具备独立的测试和快速验证能力来支撑服务测试耗时缩短以及测试活动。面临着多方面的挑战,首先有以下这些挑战,服务不具备独立验证能力,自动化用例开发效率低,在高并发的使用场景下,健壮性如何保证如何及时发现网线网服务的出现异常这些挑战。
2.什么是微服务测试—自动化回归我们能做什么?
其中,微服务测试自动化、回归测试自动化用例,开发效率很低的主要解决方案恢复测试自动化回归能做什么?
聚焦于三个方面,首先,第一方面,基于微服务契约信息快速编排被测服务管理自动化测试用例,第二方面,可视化用力编辑界面丰富的预置检查点,内置变量支持自定义变量参数传递,持续自动化回归测试,第三方面帮助您高效管理违规业务测试场景,能够帮助业务快速验证、快速交付。
二、为什么需要自动化回归
product service应用是提供来查询商品列表和通过ID查询商品详情的功能,然后business service应用提供的是添加商品到购物车的功能。
如果想验证用户的操作,从查询商品列表到通过ID查询商品详情,然后再将产品添加至购物车这个业务场景,现在一般是怎么做?
主要是有这么三个步骤,第一个就是先进入product service 应用部署所在的机器或者容器,通过curl命令调用查询商品列表,然后验证返回商品列表是否不为空。返回商品列表是否为空,然后第二步呢?把查询商品列表返回值中的ID拼接到curl命令的入参中,然后再通过ID来查询商品详情,验证详情中的字段是否符合预期。
第三步呢,就是进入business service应用部署所在的机器或者容器,然后把ID拼接到curl命令的入参中调用拼接该商品至购物车验证添加是否成功。
如果以上这些场景一次验证不通过,那么还要反复重复进行这些操作。至此就可以总结出云上微服测试的几点问题,第一点就是云上网络拓朴复杂业务链路场景验证难,以及这些重复繁琐的操作呢,验证效率是非常低的,那么我们能做什么?
结合我们的研发实践和研发理念,有以下三个特点,第一点,简单0编码开发成本,0环境搭建成本,1键去触发自动化回归,第二点,高效可视化编排测试用例,按需创建/销毁测试机,快速反馈测试结果,第三点就是专业spring cloud dubbo多协议的支持,能够便捷的测试宽带测试参数的管理以及丰富的预置检查点。
三、云上自动化回归最佳实践
如何去验证上面提到的加购物车业务场景,下面一步步来讲解一下最佳时间的操作过程。
首先自动化回归的入口,现在是位于服务引擎MSC控制台里面,然后其中在恢复治理中心会服务测试自动化回归这个菜单,下面通过点击创建用力进入到新建用力页面。
新建用力页面可以通过填写用例名称以及步骤名称来便于对测试用例的管理。首先添加的第一个步骤是查询商品列表,商品列表里面包含的应用是product service框架类型是spring cloud以及选择的pass,然后通过点击访问一次,可以看到页面就会展示这一次调用的查询商品列表,返回的数据可以看到这个请求出参展示了详细的返回信息。
那么可以看到这个第一个商品的商品列表的信息,如果想获取这个商品里面的这个ID,那么很简单,只要点击这个出参提取。助手里面可以看到会出现一个弹窗,弹窗里面只要点击选中,想要去选中复制的这个ID,然后把复制这个ID粘贴到断言这个tab下面的检查对象中,然后同时选择这个检查对象是不是空,意思就是预期这个ID不为空,然后再把复制的这个ID的表达式放到这个出参提取tag里面的出参提取表达式中,然后并对这个表达式重命名一下ID。
接下来编排第二步,查询商品详情,同样的要选择被测服务,然后其中到path这一步,希望把这个path里的ID传入的是上一步中提取的ID,那么很简单,只需要把这个path切切换为自定义输入,然后把里面的ID修改成通过花括号括起来,把ID放到花括号里面的方式设置即可,然后就可以通过,就可以实现将上一步的ID传到这一步这个操作啦。
然后也同时对这一步进行断言和其中断言里面设置了ID等于之前传的上一步提取的ID以及验证它的name就是它的商品名。名称以及商品价格有一定的预期,直接以后也要对这个对这一步进行提取。他提取其中提取了两个参数,一个是name,一个suprise,这两个参数都将作为第三步的入参,然后来编排一下。
第三步,添加商品至购物车,其中选择的配色服务是CA service,关键类型是double,然后选择对应的服务和方法,然后可以注意到这个基本信息里面填入的三个参数,就是在第一步里面获取的提取的ID,以及在第二部里面提取的name和suprise。
那这些他的入参备选方式也是刚才提到的,就是只要以多乐符加花括号,把出参名括起来的方式传进来就可以了,那么到这一步就成功了,然后同时这一步也会设置对应的断言,就是把他预期他的response就是包含处这一步第三步就编辑完成了。最后点击一下保存配置,然后再点击立即执行,就可以验证业务场景。查看这些历史,展示了一个验证不通过的执行记录,可以快速的找到执行里面第二步是验证不通过的,其中,这一部里面的断言就是price预期是900,但实际是800认证不通过,那么具体的经验说明就是说等于数字比较失败了。
四、云上自动化回归最佳实践我们能做什么
即将自动化回归能力会提供多样性的用参能力,比如说会提供系统参数、环境变量、系统函数、环境变量、集合变量、全局变量等等,入参丰富的能力能够快速地编排实现我们的测试用例多样性以及会提供测试及管理能力,能够对测试用例进行分组运行,还有丰富的执行能力,这时串行、并行、定时以及插件执行等等,甚至我们会以服务测试,服务巡检,服务压测结合将服务测试的一键生成巡检任务,生成压测场景。
目前除了被MSE集成微服务测试的能力,还即将被EDAS等等云产品集成,能够将微服务测试能力作为一个基础能力,被更多的云产品集成。
另外将以更多的微服务产品联动,比如ACM、CSB,我们与他们形成联动,能够助力大家保障云上业务稳定性。