服务端测试
定义:服务端的测试简单来说就是除了前端以外的的测试,
一、服务端测试有两种:
(1)一种是直接对 WEB 或者 APP 的 API 接口进行测试;
(2)一种是对更后端的数据库、缓存系统、中间件、文件系统、、jar包依赖、输入输出敏感信息等进行测试,核心就是输入输出是否符合服务设计。
二、必备的测试手段包括:
接口测试
性能测试
稳定性测试
异常测试其中稳定性测试中涉及:异常、超时、重试幂等、性能等)
三、内容
1、接口测试占据工作工作中的80%
(1).检查接口请求是否正确,返回数据的正确性与格式
(2)检查接口入参的默认值、参数类型、非空校验、以及边界值检查接口的容错性.
(3)所有功能都需要考虑兼容老版本,列表页的接口需考虑排序值
(4)检查接口的性能以及安全性
(5)对于接口内部依赖接口的不可靠性预防(如:依赖的第三方接口超时)
四、
1、性能:
a、新老系统的qps,如何预估
b、吞吐量
c、响应时间
d、修改对公共系统是否有影响,如数据库,消息中间件
2、数据:
a、金额计算 精确度
b、接口参数类型
c、备份
d、数据新旧数据的处理
3、安全
a、敏感测试(脱敏测试)
b、越权访问 (无权限,低权限)
4、依赖测试
jar包
5、系统结构:
a、数据库访问权限
b、配置文件
c、外部异常:
外部系统异常,数据持久层异常(redis,memcache,db异常),是否捕捉,是否影响主流程?
外部系统异常,调用第三方接口返回失败,异常,超时,是否捕捉,是否影响主流程?
对外部系统异常必须try catch
6、日志
a、生产环境配置文件 (日志级别)
五、api服务端测试
手工接口测试
- 输入异常:包括入参为特殊字段类型、非法长度、边界值等
- 操作异常:例如操作为特殊业务流程、非法修改数据等非正常业务操作
- 依赖服务异常:包括访问超时、服务挂掉、异常返回码等场景