1、测无止境 数智共进2024全球软件测试技术峰会北京 12月云原生系统测试的最后一公里演讲人:刘冉2024年12月姓名:刘冉刘冉,现独立顾问,曾任Thoughtworks软件测试和质量专家顾问(11年)、Myriad/Esmertec首席软件开发工程师(6年)20+年软件开发和测试工作经验,曾在华为测试技术大会、阿里巴巴质量大会、QCon、TiD、QECon、IEEE ICST、NJSD、CSTQB、NCTS等会议上进行培训和演讲出版书籍现代软件测试技术之美、软件研发效能提升实践、代码管理核心技术及实践、Thoughtworks质量体系白皮书、融管理社区软件研发质量体系建设白皮书和软件测试实验教
2、程。一.云原生系统测试的最后一公里是什么二.微服务测试的最后半公里:服务虚拟化三.微服务测试的最后另外半公里:契约测试四.性能测试的最后一公里:容量规划五.安全测试的最后一公里:DevSecOps大纲容器化微服务架构基于API的通信按需扩展与高可用无状态服务自动化与自助服务弹性与自愈云原生系统的特点云原生系统测试的难点和挑战测试环境构建困难,服务的稳定性影响测试工作的效率变更无法及时通知到所有的相关服务性能需求变化快,基础设施无法及时响应无法系统化的统一实施安全测试和安全运维,导致安全问题频发最后一公里包含什么测试用例设计完成单元测试,集成测试,接口测试和UI功能测试等常规的测试编写完成安全测
3、试和性能测试等常规的非功能测试完成AI辅助测试加速测试环境的准备时间增强测试环境稳定性简单支持多版本的服务明确团队业务沟通流程后端团队快速响应外部需求开发过程中发现问题.开发过程实施安全内建开发建设安全基础设施建立安全运维.最后0.01公里最后0.99公里常规功能和非功能测试完成容量规划DevSceOps契约测试服务虚拟化保障在不同场景下的性能高效支持业务赠增长优化资源并控制成本微服务测试经常遇到的问题测试环境被多个团队共同使用测试数据的准备需要花费大量的时间某些服务的部署或网络等问题导致测试环境不稳定依赖服务的版本更新影响了当前版本的测试服务虚拟化是什么服务虚拟化实践模型Diff模型SPY模
4、型服务虚拟化工具推荐Hoverfly开源免费(Apache 2)可复用的Simulation(虚拟数据)基于Go开发,轻量,高效,跨平台支持Python和Java进行扩展也提供REST API来对其进行控制和扩展暂时提供模拟网络延迟,随机错误和限定速率暂时只支持HTTP和HTTPS一个在线支付项目的落地实践架构项目实践重点总结使用真实的测试数据对API进行小规模的集成测试使用伪造的测试数据对API进行大规模回归测试使用伪造的测试数据来模拟错误注入测试(简易手动版混沌工程)使用虚拟服务作为性能测试挡板使用服务器和客户端双向证书选用服务虚拟化工具是Hoverfly选择真实服务录制来生成虚拟数据选用
5、模拟穿透来实施服务虚拟化选用容器化的方式在AWS上部署Hoverfly选用RESTful API来控制和配置虚拟服务选用CI流水线来发布和启动虚拟服务CI中管理虚拟服务的实践契约测试是什么契约测试的实践流程契约测试的框架和解决方案契约测试的一些实践谁不适合做契约测试一个项目的契约测试架构契约变更流程实践契约测试编写和执行实践Consumer端:Provider端:容量规划是什么容量规划是一个系统化的过程,属于性能工程,用于估算和配置系统在未来一段时间内所需的资源,以确保系统能够满足预期的性能要求和用户需求。它涵盖了对计算资源(如CPU、内存、存储)、网络资源等基础设施的预测、分配和优化。容量规划的体系容量规划的实践步骤容量规划的案例展示-架构容量规划的案例展示-拟合1容量规划的案例展示-拟合2内容页DevSecOps的全景图内容页一个典型的DevSecOps的流程另外一个版本的DevSecOps内建安全与内生安全测 无 止 域 数 字共 进THANKS!