测试理论 - 非功能测试 - 性能测试及周边测试类比
1. 概述
- 之前对性能测试, 一直有点模糊
- 现在碰到了一些相对清晰的认识, 简单整理一下
2. 性能测试
1. 性能测试
-
简述
- 最基本的性能测试
-
场景
- 测试请求
- 关注
- 客户端
- 往返时间
- 正确性
- 客户端
- 关注
- 测试请求
2. 负载测试
-
简述
- 一种偏向于 并发能力 的性能测试
- 验证服务器能否达到 某种并发要求
- 一种偏向于 并发能力 的性能测试
-
场景
- 使用多台机器, 对单个服务, 发送大量请求
- 关注
- 客户端
- 响应时间
- 平均
- p90
- tps
- 响应时间
- 各种资源的变化
- cpu
- 内存
- 磁盘
- 网络
- 客户端
- 关注
- 使用多台机器, 对单个服务, 发送大量请求
3. 压力测试
-
简述
- 一种偏向于 并发能力 的性能测试
- 客户端: 持续加压
- 服务端: 验证承受能力
- 一种偏向于 并发能力 的性能测试
-
场景
- 使用多台客户端, 对单个服务, 发送大量请求, 压力逐渐增大
- 关注
- 客户端
- 响应时间
- 平均
- p90
- tps
- 其他
- 各个数据变化的拐点
- 响应时间
- 各种资源的变化
- cpu
- 内存
- 磁盘
- 网络
- 客户端
- 关注
- 使用多台客户端, 对单个服务, 发送大量请求, 压力逐渐增大
4. 扩展性测试
-
简述
- 在运行中尝试添加服务
- 期望是 响应不变, 容量增加
- 在运行中尝试添加服务
-
场景
- 一边添加扩容, 一边添加用户
- 关注
- 客户端
- 响应时间
- 平均
- p90
- tps
- 其他
- 扩容对各种参数的影响
- 观察是否符合预期
- 响应时间
- 各种资源的变化
- cpu
- 内存
- 磁盘
- 网络
- 客户端
- 关注
- 一边添加扩容, 一边添加用户
5. 耐力测试
-
简述
- 长时间运行程序
- 旨在找出内存泄露
- 不需要持续集成
- 长时间运行程序
-
场景
- 长时间运行, 观察性能
- 关注
- 客户端
- 响应时间
- 平均
- p90
- tps
- 响应时间
- 各种资源的变化
- cpu
- 内存
- 内存泄露要注意
- 磁盘
- 网络
- 客户端
- 关注
- 长时间运行, 观察性能
ps
-
ref
- Continuous Delivery with Docker and Jenkins
-
非功能测试
-
概述
- 功能测试之外的测试
- 除了这些 性能相关的测试, 还有其他的很多
-
其他非功能测试
- 安全测试
- 关注安全性
- 可维护测试
- 关注代码质量
- 恢复测试
- 关注宕机后的恢复
- 其他
- 感觉还有什么 兼容测试 之类的, 但那些不是我关注的点
- 就不一一列举了
- 安全测试
-
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出