测试理论知识
一、为什么要测试?
- 软件本身存在潜在问题,非正常运行易出故障
- 代码与文档由人工编写,难免有错误/疏漏
- 环境(硬件、系统、网络)会影响软件运行
- 软件测试是保障产品质量、降低上线风险的关键手段
二、测试的定义
制造业定义
以检验产品是否满足需求为目标
软件定义
- 验证软件功能的正确性
- 发现软件中的缺陷(Bug)
三、软件的生命周期
指软件从产生到报废的完整过程(时间维度概念)
四、软件生命周期主要阶段
- 客户问题引入或定义(如点餐系统需求提出)
- 可行性分析(经济/商业论证、政治、法律、技术等)
- 项目招投标
- 项目立项
- 需求分析
- 开发阶段(设计、编码、测试)
- 维护
五、软件生命周期模型
- 瀑布模型(Waterfall):传统线性,已淘汰(如1年项目测试仅2个月)
- V模型:重点模型(开发与测试阶段对称)
- W模型:了解(强调测试与开发并行)
- H模型:重点模型(测试贯穿全生命周期)
- 敏捷开发模型
- 迭代开发模型
- 增量开发模型
六、V模型
(一)开发与测试阶段对应关系
| 开发阶段 | 对应测试阶段 | 核心说明 |
|---|---|---|
| 详细设计 | 单元测试 | 验证单元符合详细设计规格,最小测试单位;多开发自测(测试参与需懂开发语言) 类比:测试一本书的单个单元 |
| 概要设计 | 集成测试 | 验证多单元组合符合概要设计规格,重点测试模块间数据交互 类比:测试一本书的多个单元(如1-2单元/期中1-6单元) |
| 需求文档 | 系统测试 | 对软件整体测试,验证业务流程正常运行 类比:测试一本书的全部单元(1-10单元) |
| 用户需求 | 验收测试 | 站用户角度验证需求满足度,分内部(Alpha)、外部(Beta)验收 |
(二)验收测试的区别
| 维度 | 内部验收测试(Alpha) | 外部验收测试(Beta) |
|---|---|---|
| 测试地点 | 公司内部 | 客户方环境 |
| 测试人员 | 内部技术团队(开发/测试) | 客户方员工 |
| 问题处理 | 集中快速解决 | 反馈后开发修复 |
| 测试周期 | 较短 | 较长 |
(三)核心文档
- 需求文档(SRS):产品输出,描述项目设计、框架、功能、模块
- 概要设计(HLD):开发输出,初步架构设计(含数据库类型、模块名称)
类比:盖房子的框架 - 详细设计:开发输出,功能/模块的具体实现方案
类比:盖房子的装修细节
(四)测试与环境分类
- SIT测试:系统集成测试(IT+ST合并),属技术测试
- UAT测试:验收测试(用户视角)
- 环境类型:开发环境、测试环境(SIT1/SIT2/SIT3 + UAT环境)、线上环境
七、H模型
(一)测试核心流程
- 需求澄清会议:产品经理组织,输出SRS需求规格说明书
- 需求分析:测试团队深入理解需求文档
- 测试计划编写(测试经理负责)
- 核心内容:测试目的、背景、范围、准入准出标准、环境资源、任务进度、风险及应对、交付文档
- 准入条件(测试开始前):
- 开发:提供需求分析报告、概要/详细设计说明书、版本说明书、开发自测报告
- 测试:测试计划完成、用例评审通过、测试环境搭建完毕
- 准出条件(测试结束后):
- 用例100%执行
- 无遗留Bug
- 输出测试报告
- 用例设计与评审
- 测试人员编写用例
- 评审方式:组内评审(开发/测试/产品参与)、交叉评审(测试人员互审)
- 用例管理:评审通过后导入工具(禅道、TestLink)
- 环境搭建:运维/测试经理/测试人员完成
- 开发提测:提交代码包(需满足准入条件)
- 版本部署:测试将代码包部署到测试环境
- 冒烟测试(版本验证测试)
- 定义:验证新版本主要/基本功能是否正常
- 结果:通过→进入SIT测试;失败→打回开发修改
- 多轮SIT测试
- SIT1(全量测试):执行所有用例,Bug通过工具(禅道)指派开发
- SIT2及后续(回归测试):开发修复后先冒烟测试,再验证相关用例
- 满足准出条件:用例100%执行+无Bug
- 输出测试报告:SIT测试完成(技术测试结束)
- 报告内容:测试目的、范围、背景、实施日期、人员、Bug清单、用例清单、测试结果
- UAT验收测试:用户验收通过后封板(封装版本)
- 上线准备与验证
- 准备线上数据
- 上线后线上测试:无Bug→上线成功;有Bug→影响大则回退版本,影响小可纳入下次迭代
(二)测试用例来源
- 冒烟测试用例
- 验证上一版本Bug的用例
- Bug关联模块的用例
- 可疑测试场景与用例
- 补充的测试场景与用例
(三)主流程总结
产品需求会议→测试/开发分析需求→测试经理编写计划+分配任务→测试设计用例→用例评审通过→导入管理工具→搭建环境→开发提测(符合准入)→部署版本→冒烟测试→多轮SIT测试(迭代修复Bug)→满足准出→输出测试报告→UAT验收通过→封板→上线准备→线上测试→上线成功

浙公网安备 33010602011771号