软件测试流程(含项目流程与测试执行细则)
| 部分 | 内容 |
|---|---|
| 一 | 项目流程与测试流程的关系 |
| 二 | 软件项目流程(阶段模型) |
| 三 | 敏捷/迭代中的项目与测试 |
| 四 | 测试全流程框架(计划→收尾) |
| 五 | 冒烟测试(定义、选例、通过标准、意义) |
| 六 | 新需求测试 |
| 七 | 回归测试 |
| 八 | Bug 管理(属性、严重级别、书写规范) |
| 九 | Bug 生命周期 |
| 十 | Bug 分析(含阶段分布与线上 Bug) |
| 十一 | 质量报告 |
| 十二 | 提测准入、发布准出、发布评审 |
| 十三 | 角色职责、时间线、资产清单 |
| 十四 | 与用例设计文档的衔接 |
一、项目流程与测试流程的关系
| 概念 | 一句话 |
|---|---|
| 软件项目流程 | 团队在时间与预算内交付可发布软件的阶段、决策与产出物序列。 |
| 软件测试流程 | 为保障与证明质量而开展的计划、分析、设计、实现、执行、评估、收尾活动;其中测试执行通常按冒烟 → 新需求 → 回归 →(预发/线上)验证推进。 |
原则:测试活动嵌在项目各阶段中;越早参与需求与设计,返工越少。Bug 分析与质量报告用于驱动流程改进,形成闭环。
二、软件项目流程(通用阶段模型)
| 阶段 | 目标 | 典型活动 | 门禁/决策 |
|---|---|---|---|
| 立项与规划 | 做不做、做到哪 | 商业论证、范围初稿、里程碑、资源 | Go / No-Go |
| 需求 | 可验收的“做什么” | PRD/用户故事、优先级、验收标准 | 需求评审通过 |
| 分析与设计 | 方案可行、风险可控 | 架构、接口、数据模型、非功能指标 | 设计评审通过 |
| 实现与集成 | 可测增量持续产出 | 编码、Code Review、CI、开发自测 | 构建成功、合并策略满足 |
| 测试与验收 | 满足约定质量 | 冒烟、新功能测试、回归、UAT、专项 | 测试报告、发布评审 |
| 发布与交付 | 安全可回滚上线 | 发布清单、灰度、监控、文档 | 发布签字(按组织) |
| 运维与收尾 | 稳定运行、持续改进 | 告警、变更、版本迭代 | 结项或下一版规划 |
最小产出物建议:项目一页纸、需求追溯表(需求↔用例↔缺陷)、接口/环境说明、发布说明与回滚方案、已知问题列表。
三、敏捷/迭代型项目中的“小项目流程”
迭代计划 → 需求澄清 → 设计/任务分解 → 开发与每日集成 → 测试设计并行 → 提测 → 冒烟 → 新需求测试 → 回归 → 演示/验收 → 发布或火车发布| 活动 | 测试侧要点 |
|---|---|
| 迭代计划 | 评估测试工作量、标高风险需求 |
| 需求澄清 | 验收标准可测;不可测项显性化 |
| 开发中 | 准备数据/环境/自动化;关注接口变更 |
| 提测 | 执行提测准入(见第十二节) |
| 测试执行 | 严格冒烟先行;每日同步进度与风险 |
| 迭代末 | 缺陷收敛策略(P0/P1);质量报告结论 |
四、测试全流程框架(从计划到收尾)
便于写入制度:每步有输入、活动、输出。
| 步骤 | 输入 | 主要活动 | 输出 |
|---|---|---|---|
| 测试计划 | 范围、版本目标、风险、日历 | 策略、分层、环境、数据、出口准则 | 《测试计划》或迭代《测试一页纸》 |
| 测试分析与设计 | 需求、设计、接口、历史缺陷 | 风险排期;用例设计;评审 | 用例库、追溯矩阵 |
| 测试实现 | 用例、构建产物 | 脚本/数据;环境;CI 任务 | 可重复执行资产、环境检查记录 |
| 测试执行 | 构建包、用例、缺陷规范 | 冒烟 → 新需求测试 → 回归;专项另排窗口 | 执行记录、缺陷单、日报/简报 |
| 测试评估与报告 | 统计、出口准则 | 对照准则;残留风险;上线建议 | 《质量报告》/测试报告 |
| 测试收尾 | 上述产出 | 归档;复盘;更新自动化与检查单 | 复盘项与责任人 |
执行顺序(默认):① 冒烟(不通过则打回,不进入深度测试)② 新需求用例执行 ③ 回归 ④ 性能/安全等专项(按需)。
五、冒烟测试
5.1 什么是冒烟测试
在正式进入本轮系统/新功能深度测试之前,先对待测版本的主要功能、主干路径做一轮快速检查,判断当前构建是否具备可测性。
5.2 如何选择冒烟用例
- 选择主干流程的正向用例(能代表“系统能跑起来、核心业务能走通”)。
- 各主要模块都要有覆盖(不必细测每个分支,但模块级入口要有)。
- 与回归用例的侧重点不同(二者可部分重叠,但目的不同):
| 对比项 | 冒烟测试 | 回归测试 |
|---|---|---|
| 主要目的 | 判断本次构建/提测是否值得进入深度测试;开发测试对提测质量达成共识 | 判断变更之后原有功能与关联功能是否仍正确、稳定 |
| 选例倾向 | 主干正向、最短关键路径、各模块最小可运行路径 | 受影响模块、全产品主干、兼容与历史问题相关用例 |
| 时机 | 每次提测、每日构建后优先执行 | 缺陷修复后、代码冻结后、发布前 |
5.3 如何判断冒烟测试通过
团队可约定量化标准,常见做法:
- 冒烟用例通过率 100%(且无不阻塞的致命环境问题),则冒烟通过,进入新需求/系统测试。
- 任一条冒烟失败:打回修复或重新提测,避免在坏构建上浪费大量执行时间。
(若自动化冒烟:还可约定关键任务全部绿等同“通过”。)
5.4 冒烟测试的意义
- 减少无效重复执行,提高整体测试效率。
- 开发与测试对提测质量达成一致标准(准入门槛清晰)。
- 尽早暴露阻塞级问题(崩溃、核心不可用、环境错误等)。
5.5 若没有冒烟测试会怎样
版本集成质量与提测质量缺少统一门槛,容易出现:坏构建占用测试时间、缺陷发现过晚、发布前集中爆雷等情况,整体版本质量风险显著升高。
六、新需求测试
6.1 第一轮及后续轮次
- 第一轮(及后续轮)新需求测试:按用例执行测试,发现缺陷及时提交 Bug,跟踪修复与验证。
- 理想情况:新需求开发质量高、缺陷少,核心用例一轮即可测完并通过。
- 不理想情况:需多轮新需求测试(修复—验证—再测关联),轮次无固定上限,以完成标准为准。
6.2 过程要求
- 每日同步测试进度(已完成范围、阻塞项、风险、次日计划),形式可为站会、日报或协作看板。
6.3 新需求测试完成标准(进入大范围回归/预发前的建议)
同时满足(可按团队裁剪):
- 本版本新需求相关开发任务均已完成(或仅剩已确认的轻微项并有豁免)。
- Bug 收敛到约定标准:例如主干功能均可用;P0 为 0;P1 在可控数量内且均有评估。
- 计划内新需求用例已执行,通过率满足团队出口约定。
七、回归测试
7.1 定义
验证软件原有功能在代码修改、缺陷修复或需求变更之后是否仍然完整、正确,未被“改坏”。
7.2 回归测试用例的选择
- 与本版本新需求强关联的模块(接口、数据、页面联动)。
- 产品全功能中的主干用例(核心用户路径)。
- 版本兼容、系统兼容、浏览器/机型等兼容性用例(若本版本涉及底层或依赖变更)。
- 与历史遗留问题相关的用例(防回归)。
7.3 回归测试完成标准
- 建议在开发主分支上“功能冻结”或“仅允许发布相关修复”之后,安排至少一轮完整回归(团队也可约定每轮修复后再迷你回归)。
- 完成标准:缺陷达到基本收敛(如 P0 清零、P1 达标);无未解决的阻塞项;回归用例执行率与通过率满足出口约定。
- 不理想情况:需多轮回归,直至满足发布准出或项目组明确决策(有条件发布/延期)。
八、Bug 管理
8.1 Bug 单必备属性
| 属性 | 要求 |
|---|---|
| 标题 | 简洁、具体,一读可知问题现象或模块 |
| 描述 | 详细重现步骤;平台信息(操作系统、浏览器/APP 版本、机型等);期望结果 vs 实际结果;截图/录屏;必要时附Log、接口请求与响应、时间戳 |
8.2 严重级别定义(团队可微调文案,但级别含义建议统一)
(1)致命(P0 / Blocker)
系统无法继续测试或核心不可用,或造成严重稳定性/数据问题,例如:
- 系统崩溃、死机、进程无法启动或异常退出
- 模块无法启动或异常退出导致流程中断
- 用户数据丢失或破坏
- 常用核心功能完全无法使用
- 功能实现与需求严重不符且阻断主流程
- 其他导致测试无法继续的问题(如持续500、核心接口全失败)
(2)严重(P1 / Critical)
主要功能存在严重缺陷,影响功能或操作,但未必整机崩溃,例如:
- 功能未实现或功能错误
- 功能与需求不符(未达到致命程度但影响主流程分支)
- 刷新错误、数据未更新等导致业务错误
- 常用界面严重错位导致无法操作
- 安全性问题(按团队安全规范定级)
- 性能明显低下达到不可用或体验极差(有量化阈值更佳)
(3)一般(P2 / Major)
界面、性能、兼容性等中等影响,例如:
- 边界条件下错误
- 提示信息错误(未提示、文案错误、误导)
- 长时间操作无进度提示
- 光标/焦点跳转异常、定位错误
- 兼容性问题(特定环境)
- 影响功能或界面的错别字、拼写错误(不影响理解的可降级)
(4)建议/提示(P3 / Minor)
易用性、优化类、轻微展示问题,例如:
- 界面格式不规范
- 提示文案优化、文案不一致
- 文字排版轻微问题
- 个别不影响理解的错别字
- 可编辑区与只读区缺少明显视觉区分等体验优化
8.3 书写注意
- 一条 Bug 尽量只描述一个问题,便于指派与验证关闭。
- 注明数据前置条件(账号、订单状态等),避免“无法复现”。
九、Bug 生命周期
9.1 简化的 Bug 生命周期(适合小团队)
适合快速流转、角色较少时使用:
文字等价:新建 → 已确认 → 修复中 → 待验证 →已关闭;验证不通过 →重新打开→ 修复中;非缺陷可走已拒绝。
9.2 经典的 Bug 生命周期(角色与环节更细)
在简化版基础上,常见增加:指派、延期、挂起、待合并、多环境验证等。示意如下(可与 Jira/禅道等工具状态映射):
落地建议:在缺陷系统中固定状态字典与转移规则(谁可从“修复中”到“待验证”),避免状态混乱。
十、Bug 分析
10.1 为什么要做 Bug 分析
Bug 是测试的重要产出之一,从中可挖掘:
- 版本质量与薄弱模块
- 需求、开发、环境、流程上的系统性问题
用于优化流程、提高后续版本质量,形成闭环。
10.2 Bug 类型(根因/归因维度,便于统计)
- 需求不明确导致的缺陷
- 实现与需求不一致
- 环境/配置/数据问题引起的缺陷
- 兼容性问题
- 开发考虑不周(边界、异常、并发等)
- 其他(网络波动、性能阈值、第三方依赖等)
- 体验优化(可归为建议类或低优先级缺陷)
流程改进示例:
- 若“需求不明确”占比高 → 加强需求评审与验收标准。
- 若“开发考虑不周”占比高 → 加强开发自测、冒烟用例与 Code Review。
10.3 按软件开发与测试阶段统计 Bug 数量
建议在版本中统计各阶段发现/关闭的缺陷数,例如:
- 需求评审阶段(评审记录的问题)
- 开发自测阶段(提测前由开发发现)
- 功能/新需求测试阶段
- 回归测试阶段
- 预发布与正式环境验证阶段
如何解读(示例):
- 功能测试阶段 Bug 特别多:可能开发自测不足或提测标准过松 → 强化自测清单与冒烟。
- 回归阶段 Bug 高于预期:部分本可在功能期发现 → 测试侧可复盘用例覆盖与探索策略;同时检查变更影响分析是否到位。
- 预发/线上才发现的致命问题:检查环境一致性、发布检查单、监控与灰度策略。
10.4 线上 Bug 分析
对生产环境暴露的缺陷做同样维度的归类与复盘:
- 哪些类型在线上占比高(漏测、监控未发现、灰度未覆盖等)
- 反推测试用例、自动化、发布流程、监控告警的补强点
十一、质量报告应包含的内容
质量报告是发布决策的重要依据之一,建议至少包含:
- 测试基本情况
- 测试时间段、被测版本/迭代号、测试范围(在测模块与不在测范围说明)
- 测试内容与结果汇总
- 用例执行概况(总数、通过/失败/阻塞、执行率、通过率)
- 缺陷汇总(按级别、模块、状态)
- 能否上线的结论:建议发布 / 有条件发布 / 不建议发布
- 遗留 Bug 与风险分析
- 未关闭缺陷列表、业务影响、是否豁免及签字人
- 缺陷统计与分析
- 与历史版本对比趋势;根因类型分布(见第十节)
- 项目相关人员与协作说明(可选)
- 测试投入人天、关键依赖方、阻塞项处理情况
- 其他(按项目需要)
- 专项测试结论(性能/安全)、兼容性结论、已知限制说明
可与第十二节「发布准出」核对后定稿。
十二、提测准入、发布准出与发布评审
12.1 提测准入(开发 → 测试)
| 检查项 | 示例标准 |
|---|---|
| 构建可部署 | CI 成功,制品版本与提测单一致 |
| 开发自测 | 自测用例或冒烟清单已执行 |
| 范围与影响 | 变更列表、影响模块、已知限制说明 |
| 环境 | 测试环境可用,配置说明齐全 |
| 阻塞 | 无未解决 P0 依赖(若团队约定) |
12.2 发布准出(测试 → 发布)
| 检查项 | 示例标准 |
|---|---|
| 用例与冒烟/回归 | 计划执行率、通过率达标;冒烟策略已执行 |
| 缺陷 | P0 关闭;P1 关闭或已批准豁免 |
| 专项 | 性能/安全等结论可接受 |
| 文档 | 发布说明、回滚方案、监控项、已知问题 |
12.3 发布评审会(短议程)
- 版本范围与变更摘要(产品/发布经理)
- 质量报告与残留风险(测试)
- 运维与监控就绪(运维)
- 决策:发布 / 灰度 / 延期(纪要或签字)
十三、角色职责(RACI 简化)、时间线与资产清单
13.1 RACI 简化
| 活动 | 产品 | 开发 | 测试 | 运维 |
|---|---|---|---|---|
| 需求与验收标准 | A/R | C | C | I |
| 设计评审 | C | R | C | I |
| 单元/接口自动化 | I | R | C | I |
| 冒烟/系统/回归 | I | C | R/A | I |
| 发布执行 | I | C | C | R/A |
(R 执行,A 负责,C 协作,I 知会;A 可依组织改为项目经理。)
13.2 瀑布式小版本时间线示例
| 周次 | 项目活动 | 测试活动 |
|---|---|---|
| W1 | 需求定稿与评审 | 参与评审;测试计划;不可测项 |
| W2 | 设计定稿 | 用例设计评审;环境方案 |
| W3–W4 | 开发、CI | 自动化与冒烟集维护 |
| W5 | 提测 | 冒烟→新需求测试;每日同步 |
| W6 | 缺陷修复 | 多轮验证;回归与专项 |
| W7 | 发布候选 | 质量报告;发布评审 |
| W8 | 上线 | 线上验证;监控核对 |
13.3 建议维护的资产
- 《测试计划》/《测试一页纸》
- 用例库 + 需求追溯表
- 《提测准入 checklist》
- 《发布准出 checklist》
- 《质量报告》模板
- 《发布说明》+《已知问题》
- 冒烟用例集(与提测标准绑定)
- 回归用例集(主干 + 影响分析更新机制)
