从开发角度设计服务端测试用例
[本文出自天外归云的博客园]
下面对一些服务端测试用例的设计思路做一个简单总结
异常参数值组合测试
涉及:接口测试、单元测试
方法:
- 构造足够多种“异常类型数据”以及足够多种“异常参数组合”对接口或函数进行接口测试或单元测试
非法请求测试
涉及:接口测试
方法:
- 请求接口时,不附带鉴权信息或带非法的鉴权信息,检查大量请求接口是否会对服务以及关联中间件服务产生大量压力
缓存中间件击穿测试
涉及:CodeReview、接口测试
方法:
- 走查接口代码逻辑,若涉及缓存,针对缓存逻辑进行测试用例设计,着重针对key值不存在的穿透逻辑以及key值过期的击穿逻辑进行测试方案设计
主路径逻辑覆盖测试
涉及:CodeReview、用例评审、接口测试
方法:
- 走查接口代码逻辑,确保测试用例覆盖到所有的return分支
查询类接口性能测试
涉及:CodeReview,数据构造,接口测试
方法:
- 接口否需要做了缓存保护,如果没有缓存,大量的请求是否会将数据库服务打崩
- 接口逻辑中是否做好合理分页逻辑,数据库表针对常用查询条件是否有合理的索引设计,数据量大的情况下,是否会有慢查询产生
数据一致性测试
涉及:CodeReview,接口测试(组合验证)
方法:
- 涉及增、删、改数据库操作,并涉及缓存,确保缓存也同步进行了增、删、改
- 设计测试用例时可以进行组合接口测试,请求接口验证数据库值发生变化后,通过其他接口查询涉及的缓存是否及时同步做了更新
故障注入测试
涉及:CodeReview,混沌实验
方法:
- 通过ChaosBlade工具来实现对指定后端服务所在节点的故障注入,比如:CPU、内存、磁盘占用、网络丢包、网络延迟等
- 通过ChaosBlade工具对Java服务做自定义异常注入和自定义脚本注入,对指定的类方法进行拦截,抛出自定义异常或替换成我们自己写的java方法,实现逻辑替换,控制函数返回值
本文来自博客园,作者:天外归云,转载请注明原文链接:https://www.cnblogs.com/LanTianYou/p/17620997.html