前置知识: 软件工程与测试

测试类型

4 min入门

软件测试类型:功能测试、性能测试、安全测试、兼容性测试等详解。

1. 功能测试

按「测什么目标」划分测试类型,是排期与资源分配的基本框架。本文概览各 类型的目标与方法,细节在对应专题文档展开(性能见「性能与接口测试」 「压力测试与稳定性测试」,安全见「安全测试」,层级归属见「测试层级」)。

先给一张总览表:

类型回答的问题主要手段
功能测试功能对不对黑盒方法设计用例
性能测试快不快、扛不扛得住压测工具 + 分位值指标
安全测试恶意输入面前守不守得住SAST/DAST/渗透
兼容性测试换个环境还正常吗多浏览器/设备矩阵
回归测试改完之后还正常吗自动化套件

1.1 定义

验证软件功能是否符合需求规格说明。

1.2 黑盒测试方法

方法描述
等价类划分将输入分为有效/无效等价类
边界值分析测试边界条件
决策表组合条件测试
状态转换状态变迁测试
用例测试基于用例场景

1.3 功能测试流程

需求分析 → 测试用例设计 → 测试执行 → 缺陷报告 → 回归验证

2. 性能测试

2.1 类型

类型描述指标
负载测试正常负载下的表现响应时间、吞吐量
压力测试超出负载的表现系统极限
稳定性测试长时间运行的稳定性内存泄漏
并发测试多用户同时访问并发数
容量测试最大处理能力最大用户数

2.2 关键指标

指标描述目标
响应时间请求到响应的时间< 200ms (P95)
吞吐量单位时间处理量QPS/TPS
并发用户同时在线用户数根据业务
错误率失败请求占比< 0.1%
CPU 使用率服务器 CPU 占用< 70%
内存使用率服务器内存占用< 80%

2.3 性能测试流程

1. 需求分析 → 确定性能指标
2. 测试设计 → 设计场景
3. 环境搭建 → 模拟生产环境
4. 脚本开发 → 编写测试脚本
5. 执行测试 → 运行并监控
6. 结果分析 → 分析瓶颈
7. 优化验证 → 优化后复测

3. 安全测试

3.1 测试内容

类型描述
漏洞扫描自动化扫描已知漏洞
渗透测试模拟攻击者入侵
认证测试验证认证机制
授权测试验证权限控制
数据加密验证加密实现
会话管理验证会话安全

3.2 OWASP 测试清单

类别测试项
注入SQL/XSS/命令注入
认证弱密码/会话固定
授权越权/IDOR
配置默认配置/信息泄露
加密弱加密/证书问题

4. 兼容性测试

4.1 测试维度

维度示例
浏览器Chrome, Firefox, Safari, Edge
操作系统Windows, macOS, Linux, iOS, Android
分辨率1920×1080, 1366×768, 375×812
设备PC, 平板, 手机

4.2 浏览器兼容性

浏览器版本策略
Chrome最近 2 个主版本
Firefox最近 2 个主版本
Safari最近 2 个主版本
Edge最新版

4.3 响应式测试断点

断点设备
< 576px手机
576-768px平板竖屏
768-992px平板横屏
992-1200px小桌面
> 1200px大桌面

5. 其他测试类型

5.1 回归测试

验证修改后的代码没有引入新缺陷。

策略描述
全量回归执行所有测试用例
选择性回归执行受影响的用例
自动化回归CI/CD 自动执行

5.2 冒烟测试

验证基本功能是否正常,决定是否进行深入测试。

5.3 探索性测试

不预先编写用例,基于经验和直觉进行探索式测试。

特点描述
学习了解系统行为
设计即时设计测试
执行执行并观察
反馈根据结果调整

5.4 无障碍测试

标准描述
WCAG 2.2Web 无障碍标准(2023 年发布的现行版本,2.1 仍在广泛引用)
键盘导航仅用键盘操作
屏幕阅读器语音辅助
颜色对比度4.5:1 (AA)
ARIA无障碍标签

5.5 本地化/国际化测试

测试项描述
语言翻译界面文字正确
日期格式各地区格式
货币符号正确显示
字符编码Unicode 支持
布局适配文字长度变化

6. 测试类型选择矩阵

项目阶段推荐类型
开发期单元+集成
发布前功能+性能+安全
发布后监控+回归
迭代中冒烟+回归+探索

选择矩阵的用法是「每阶段至少做哪几类」,不是「每类只在对应阶段做」: 性能与安全前移到开发期发现问题,修复成本远低于发布前才暴露。

小结

  • 初学者要点:功能测试按黑盒方法设计用例;性能看响应时间分位值与吞吐 (P95 < 200ms 只是常见的通用参考线,真实目标应来自业务需求);回归 与冒烟是每个迭代的基本盘。
  • 进阶注意:类型划分是「目标」维度,与「层级」维度(单元/集成/E2E) 正交——同一个功能可以在多个层级、以多种类型被测;无障碍、本地化 属于容易被排期遗忘的非功能项,纳入发布检查单而不是事后补救。