单体微服务的测试策略
发布于 2023-07-18
1558
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
CKL的思考空间
扫码关注公众号
扫码阅读
手机扫码阅读
本文讨论了针对单体微服务产品的测试策略。在微服务化的技术架构中,产品通常由前端组件、Nginx代理、各类微服务、数据层、系统层及外部依赖构成。虽然对整个微服务系统的测试策略较多,但单体微服务的测试方案较少被提及。文章主要聚焦于单体微服务的测试,包括接口测试和单元测试等。
测试单体微服务的四个层次
- 请求资源层:主要在Controller层,测试服务如何对外提供服务,请求方法是否符合规范,以及鉴权和非业务请求处理等。
- 业务逻辑+数据处理:通常在Service层和Entity层,这里是业务逻辑处理的核心,也是单元测试的重点区域。
- 数据存储:关注与数据库交互的场景,需要对数据连接问题和异常进行处理。
- 外部依赖:注意网络隔离、网络延迟和中断引发的业务问题,确保数据一致性。
微服务测试的价值
精细的微服务测试能带来多方面的价值,包括更清晰地理解业务实现、更好地问题定位、避免场景遗漏、提升交流质量以及个人能力的提升等。因此,尽管执行这类测试需要投入资源,但在条件允许的情况下,进行细致的微服务测试是一个不错的选择。
单体微服务的测试选择
并非所有单体微服务都需要深入测试。针对功能单一或业务逻辑较简单的服务,可以适当减少测试的深度和频率。
单元测试中的Test Doubles
在单元测试中,“test doubles”指的是使用替身来代替真实依赖对象,以提高测试的速度和稳定性。测试替身包括Dummy、Fake、Stub和Mock等类型,它们帮助减少被测试对象的依赖,并确保测试的有效性。
文章最后附上了对微服务测试的进一步阅读推荐,并鼓励读者标星、点赞、关注。同时,邀请有兴趣的读者关注作者的公众号以获取更多文章。
CKL的思考空间
CKL的思考空间
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
CKL的思考空间的其他文章
测试基础10问-上
测试基础的10个小问题。
研发度量:向内求己,对外伤人
对于研发度量,笔者是保持支持态度的,通过透明团队的工作内容,识别系统性风险,还是利大于弊的。对于度量指标的使用,笔者建议只开放给中高层管理者,辅助日常团队管理即可,而非面向全员的KPI考核。不希望把度量当成一把砍向基层员工的“利刃”。
协议的学习技巧
测试人员的成长,就是在这些一步步的思考中沉淀下来了。遇到一个问题,有的人解决了眼前的问题,有的人思考了问题背后的原因(5Why),有的人会进一步地联想和总结。1年,2年,N年之后,差距就逐步体现了。
微服务的测试策略
做个小的总结,对于微服务架构的测试策略,在业务层,我们可以沿用原来的测试策略,不需要做太多的变化。而对于架构本身带来的新特性,我们需要有针对性的对应措施
软件测试经验与教训
人类从历史中学到的唯一的教训,就是没有从历史中吸取到任何教训。所以,有多少能转化成自己的内在思维,取决了你的深度思考
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线