前置知识: 软件测试

测试概念与原则

00:00
3 min Beginner 2026/6/14

软件测试基础:测试定义、目的、原则、V模型与测试生命周期详解。

1. 测试基础概念

1.1 什么是软件测试

软件测试是通过手动或自动化手段来运行或检验软件系统的过程,目的是发现缺陷、验证功能、评估质量。

1.2 测试目的

目的描述
发现缺陷找出软件中的错误
验证功能确认软件满足需求
评估质量度量软件质量水平
提供信心为发布提供质量保证
预防缺陷通过早期测试预防问题

1.3 测试与调试

对比项测试调试
目的找缺陷修缺陷
执行者测试人员/开发人员开发人员
方式系统化探索式
可预见性可计划不可预见

2. 测试七原则

原则1:测试显示缺陷的存在

测试只能证明缺陷存在,不能证明缺陷不存在。

原则2:穷尽测试不可能

无法测试所有输入组合,需要基于风险选择测试范围。

原则3:尽早测试

越早发现缺陷,修复成本越低。

需求阶段发现 → 修复成本 1x
设计阶段发现 → 修复成本 5x
编码阶段发现 → 修复成本 10x
测试阶段发现 → 修复成本 20x
生产阶段发现 → 修复成本 100x

原则4:缺陷集群性

少数模块通常包含大部分缺陷(帕累托法则:80% 的缺陷集中在 20% 的模块中)。

原则5:杀虫剂悖论

反复使用相同的测试用例将无法发现新缺陷,需要不断更新和补充测试。

原则6:测试依赖于上下文

不同类型的应用需要不同的测试方法。

原则7:无错误谬误

没有发现缺陷不等于软件可用,还需要验证是否满足用户需求。

3. 测试模型

3.1 V 模型

需求分析 ←──── 验收测试
    ↓                    ↑
系统设计 ←──── 系统测试
    ↓                    ↑
详细设计 ←──── 集成测试
    ↓                    ↑
  编码   ←──── 单元测试

3.2 W 模型

V 模型的改进强调测试与开发

需求分析 → 需求评审
    ↓           ↓
系统设计 → 系统测试设计
    ↓           ↓
详细设计 → 集成测试设计
    ↓           ↓
  编码   → 单元测试设计

3.3 敏捷测试

描述
持续测试每个迭代测试
全团队参与开发测试协作
自动化优先快速反馈
探索测试补充自动化不足

4. 测试生命周期

4.1 基本过程

1. 测试计划 → 确定范围、策略、资源
2. 测试分析 → 分析需求、识别测试条件
3. 测试设计 → 设计测试用例
4. 测试实现 → 编写脚本、准备数据
5. 测试执行 → 运行测试、记录结果
6. 测试评估 → 评估出口准则
7. 测试报告 → 生成测试报告
8. 测试收尾 → 归档、经验总结

4.2 测试出口准则

准则描述
覆盖率代码/需求覆盖达到目标
缺陷修复缺陷低于阈
通过测试通过达到目标
风险剩余风险可接受

5. 缺陷管理

5.1 缺陷生命周期

新建 → 已确认 → 已分配 → 修复中 → 已修复 → 已验证 → 已关闭
                    ↓                    ↓
               已拒绝              重新打开

5.2 缺陷属性

属性描述
严重程致命/严重/一般/轻微
优先级紧急//中/低
状态新建/已确认/已修复/已关闭
环境操作系统/浏览器/版本

5.3 严重程度 vs 优先级

严重程优先级示例
致命紧急系统崩溃、数据丢失
严重心功能不可用
一般心功能异常
轻微UI 文案错误

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式