🗺️ 一、概述:把"测试"组织成一场战役
测试策略是指针对特定项目或产品所制定的测试总体方案,包括测试范围、目标、资源、技术、工具和时间安排等。它回答"测什么、用什么测、谁来测、何时测"。
测试过程则是测试活动的具体执行步骤,通常包括计划、设计、实现、执行、评估等环节。
对于系统分析师而言,理解测试策略与过程有助于你:
· 评估测试方案的充分性与可行性 · 在项目计划中合理安排测试时间与资源 · 参与测试计划评审,识别风险 · 推动设计阶段考虑可测性
核心问题:如何在有限资源下,高效、系统化地完成测试,并有效评估质量风险?
🏗️ 二、详细讲解:两大核心内容
1️⃣ 测试策略
测试策略决定了测试的"打法",主要包括以下几方面。
(1)测试策略的核心要素
要素 描述 示例 测试范围 哪些功能/模块需要测试,哪些不需要 核心交易模块全覆盖,报表模块按重点抽测 测试优先级 根据风险、业务重要性排序 P0关键功能 → P1重要 → P2次要 测试环境 使用的硬件、软件、网络、数据 独立测试环境 + 预生产环境 测试资源 人力、工具、时间 2名测试 + JIRA + Jenkins 准入/准出标准 开始测试和结束测试的条件 冒烟测试通过后才能进入系统测试;缺陷全部解决且无高危遗留 测试方法 黑盒/白盒,手工/自动化 功能测试手工,回归测试自动化 风险应对 识别并应对测试风险 时间不足时优先保证核心流程
(2)常见测试策略类型
策略 描述 适用场景 大爆炸策略 所有开发完成后统一测 小型项目、无明确迭代 自顶向下策略 从用户界面/主业务流开始,桩模拟下层 系统结构清晰,用户界面稳定 自底向上策略 先从底层模块(如数据层)开始测,驱动模拟上层 核心底层模块需早验证 基于风险策略 按业务风险分配测试力度 资源有限、对质量要求高时常用 基于需求策略 每条需求对应测试用例 需求明确,需验收 基于模型策略 利用模型生成测试用例 形式化方法或复杂状态机 敏捷测试策略 测试与开发并行,持续反馈 敏捷开发模式
策略选择的关键因素:
· 项目规模与复杂度 · 需求稳定程度 · 技术风险与业务风险 · 团队能力与可用的自动化工具 · 时间与预算
(3)测试策略文档:是测试计划的核心。通常包含:
· 测试整体目标与范围 · 各阶段的测试方法(单元、集成、系统、验收) · 测试环境的配置 · 自动化策略(哪些用自动化、哪些手工) · 缺陷管理流程 · 度量与报告方式 · 风险与应对措施
📌 速记口诀:"范围优先环境资,准入准出方法全,风险监控不停步,策略决定测试路"。
2️⃣ 测试过程
测试过程通常遵循一个标准流程,分为多个阶段,每个阶段有明确的输入、活动与输出。
(1)经典测试过程模型
阶段 主要活动 输入 输出 测试计划 制定测试策略、资源安排、进度 需求文档、设计文档、项目计划 测试计划文档 测试设计 设计测试用例、测试数据 需求、设计规格 测试用例、测试数据 测试实现 编写测试脚本、准备测试环境 用例、设计 自动化脚本、环境配置 测试执行 运行测试、记录结果、报告缺陷 用例、脚本、被测版本 测试日志、缺陷报告 测试评估 分析结果、评估质量、生成报告 执行记录、缺陷数据 测试报告、质量评估 测试维护 更新用例、脚本以适应变更 需求变更、设计变更 更新的用例/脚本
(2)测试计划阶段
· 明确范围:哪部分需要测,测到什么程度。 · 资源估算:人力、环境、工具、时间。 · 交付物:测试计划文档。应包括: · 测试项标识 · 测试环境需求 · 测试用例设计规范 · 准入准出标准 · 进度与里程碑 · 缺陷管理流程 · 风险分析
(3)测试设计与实现阶段
· 设计用例:使用14.5节的技术,覆盖需求与风险。 · 设计测试数据:包括正常、边界、异常数据。 · 编写自动化脚本:针对回归或高频场景。 · 环境搭建:硬件、网络、软件、版本、数据准备。
(4)测试执行阶段
· 执行测试:按计划运行用例。 · 记录结果:区分通过/失败/阻塞。 · 缺陷管理:提交、跟踪、验证、关闭。 · 回归测试:修复缺陷后重新运行相关用例。
(5)测试评估与报告
· 度量分析:用例通过率、缺陷密度、覆盖率、缺陷分布等。 · 质量评估:判断是否达到准出标准。 · 生成报告:含测试总结、残留风险、建议。
(6)测试过程的典型文档
文档 内容 产生阶段 测试计划 策略、资源、进度、标准 计划阶段 测试用例 输入、步骤、预期、数据 设计阶段 测试脚本 自动化代码 实现阶段 缺陷报告 问题描述、严重程度、重现步骤 执行阶段 测试报告 结果汇总、质量评估、风险 评估阶段
📌 速记口诀:"计、设、实、执、评、维,六大阶段不可缺;计划定策略,设计产生用例,执行找缺陷,评估定质量"。
3️⃣ 探索性测试与基于脚本测试
在实际测试中,还需要注意两种测试风格的差异:
维度 基于脚本测试 探索性测试 设计执行 先设计后执行 同时设计、执行、学习 文档 详细用例、预期结果 仅用测试章程或任务 适用 回归、可重复场景 新功能、复杂交互、时间不足 优势 可重复、易跟踪 发现意外缺陷、适应性强 劣势 可能遗漏探索性错误 难以量化、依赖个人能力
实践中:两者结合,以脚本测试保证覆盖,以探索性测试补充异常场景。
📝 三、重点总结与速记方法
✅ 核心重点
- 测试策略核心要素:范围、优先级、环境、资源、准入准出、方法、风险。 2. 常见测试策略:大爆炸、自顶向下、自底向上、基于风险、基于需求、敏捷测试等。 3. 测试过程六阶段:计划 → 设计 → 实现 → 执行 → 评估 → 维护。 4. 关键文档:测试计划、用例、脚本、缺陷报告、测试报告。 5. 测试风格:基于脚本(可重复)与探索性(有创造力)结合为佳。 6. 准入/准出标准:开始和结束测试的硬性条件,防止"测不动"或"测不完"。
⚡ 速记口诀
1️⃣ 策略七要素口诀
"范优环资准,方法风险七核心"
2️⃣ 策略五类型口诀
"爆顶底险需敏捷"(大爆炸、自顶向下、自底向上、基于风险、基于需求、敏捷测试)
3️⃣ 过程六阶段"六字诀"
"计、设、实、执、评、维"
4️⃣ 文档"五件套"口诀
"计、例、本、缺、报"(测试计划、测试用例、测试脚本、缺陷报告、测试报告)
5️⃣ 测试风格"两结合"口诀
"脚本回归稳,探索挖深坑;两者相辅助,质量更靠谱"
6️⃣ 一句话总纲
测试策略与过程 = (策略定方向 + 过程分阶段 + 文档做记录 + 风格巧搭配),是测试活动的行动总纲,确保测试有序、高效、可控。
掌握14.6节,意味着你能够制定或评估测试计划,理解测试活动的完整流程,合理选择测试策略与风格。这是系统分析师协调测试工作、评估测试产出质量的重要能力。