非功能测试总览
非功能测试覆盖性能、可靠性、安全性、兼容性、可维护性等质量属性(参考 ISO/IEC 25010 质量模型):与功能测试互补,风险常集中在非功能维度——功能都对,但高峰期超时、被拖库、老设备升级后不可用。非功能需求要先写成可测量目标(如 P95 小于 300ms),测试才有判定依据。
基本信息
| 模型参考 | ISO/IEC 25010 质量模型 |
|---|---|
| 常见维度 | 性能效率、可靠性、安全性、兼容性、易用性 |
| 判定前提 | 需求先量化为可测量目标 |
| 与功能的关系 | 互补,重大风险常藏在非功能维度 |
| 起步方法 | 从最高风险的维度做基线,再按迭代扩展 |
质量属性与手段
| 属性 | 测试关注点 | 典型手段 |
|---|---|---|
| 性能效率 | 响应时间、吞吐、资源利用 | 负载与压力测试 |
| 可靠性 | 可用性、容错、恢复时间 | 故障注入、混沌演练 |
| 安全性 | 认证授权、数据保护、漏洞 | 扫描、渗透与审计 |
| 兼容性 | 多环境、多设备共存 | 兼容矩阵抽样 |
| 易用性 | 可学习性、可访问性 | 任务走查、无障碍检查 |
| 可维护性 | 可读性、可修改性、模块化 | 代码审查、静态检查 |
典型使用场景
- 上线前的性能基线:定义负载曲线与分位指标。
- 容量规划:按峰值与增长目标评估余量。
- 可靠性演练:依赖故障与降级路径验证。
- 安全测试:认证授权、数据暴露面与注入类问题。
- 兼容性矩阵:浏览器、系统版本、设备抽样。
- 可观测性检查:日志、指标、追踪是否就绪。
- 发布检查单:把各维度条目挂进检查单,逐项留结论。
非功能需求常写得模糊:先用「数字加条件」写清目标(在多少并发下、看哪个分位、不超过多少),再开始设计测试。
维度取舍由业务定:交易系统优先性能与安全,内容站点更关心兼容与可达性;先排风险再选工具。
把非功能测试全留到发布前:发现架构级问题时,缺少改造与复测时间,只能带病上线。