0. 概述
- 需求分析阶段
- 测试分析和设计阶段
- 测试执行阶段
- 测试质量评估阶段
1. 需求分析阶段
应该:理解需求
-
⭐(1)理解产品的商业目标
- 🚩需理解的问题
- 公司中的营销和销售人员如何细分客户?
- 每个细分市场的关键价值主张是什么?
- 公司试图增长哪些细分市场?如何增长?
- 每个市场是谁做出购买决策的?
- 每个细分市场的主要竞争对手是谁?
- 公司对此产品的策略主张是什么?所在的产品是如何融入这一战略的?
- 🚩围绕下述问题开展测试活动
- 如何验证待测试的产品正确体现了市场价值?
- 所做的测试策略是否和公司的财务、销售、营销目标一致?
- 🚩需理解的问题
-
⭐(2)梳理用户的使用场景
- 🚩了解用户
- 产品有多少种类型的用户,这些用户的业务又是什么,他们如何从你的产品中获得价值(比如通过你的产品赚钱,获得某种资源)?
- 产品的竞争对手对用户提供了哪些有价值的解决方案?你们之间的差异是什么?
- 产品所在领域有哪些基本的规范和要求,行业背景有哪些,用户的习惯是什么(如完成各种活动的顺序、对活动完成的判断标准和可能的重要决定等)?
- 🚩归纳测试场景
- 针对不同类型的用户,分别确定这些用户的行为习惯和关注点。
- 逐一分析这些用户会如何使用产品,根据分析结果建立产品的拓扑模型、配置模型和流量模型等,抽象出典型场景。
- 确定各个典型场景下的输入和输出(包括正常输入和异常输入、攻击,还需要考虑模拟测试的时间长短,等等)。
- 可放在测试分析和设计阶段进行
- 这部分的输出将成为验收测试时的重要输入
- 🚩了解用户
-
⭐(3)输出产品总体测试策略
-
应该:制定总体测试策略:明确测试范围、目标、重点和难点、深度和广度,安排各种测试活动(及测试分层)
- 🚩测试重点:由产品价值、质量目标、产品实现(新写代码、开源代码或是继承代码)和历史测试情况(主要针对继承类产品)等多项因素综合决定的
- 🚩测试难点:从测试技术的角度来说的,是对产品测试验证难易程度的分析
- 🚩测试深度:从测试方法(如单运行测试、多运行测试、边界值或错误输入等)来对测试进行描述。
- 🚩测试广度:从覆盖的角度来对产品测试进行描述
- 🚩测试分层:将一个大的测试目标分解为若干小的测试目标。有助于逐层测试,逐层评估测试结果,并根据测试结果不断修正测试策略,不仅让测试目标变得可以达到,还让整个测试过程变得可控。
- 不应该:陷入产品的实现细节(正确的方向和清晰的目标比细节更重要)
- 输出:阶段测试策略和版本测试策略
-
应该:制定总体测试策略:明确测试范围、目标、重点和难点、深度和广度,安排各种测试活动(及测试分层)
2. 测试分析和设计阶段
- 不应该:陷入具体的测试分析和设计中
- 更应该:
- ⭐(1)制定阶段测试策略
-
阶段测试策略:按照测试分层(如V模型),确定每一层的测试策略
-
🚩需要关注的内容
- 每个阶段的测试对象、目标
- 每个阶段的出入口准则(即质量目标和验收标准)
- 如何选择测试用例
-
- ⭐(2)落实测试设计策略,保证测试设计的质量
测试设计策略:是指按照总体测试策略中确定的测试深度和广度、重点和难点,来组织整个测试团队进行测试设计,使得测试用例的输出能够和测试策略保持一致。
-
🚩方法1:《测试分析设计表》
-
-
🚩方法2:测试设计方法:路径分析法、判定表、正交分析法、等价类、边界值等等
3. 测试执行阶段
不应该:把找bug作为测试执行阶段的重要目标;陷到测试执行中
-
更应该:
-
⭐(1)制定版本测试策略
- 测试范围和计划相比的偏差
- 本版本的测试目标
- 需要重点关注的内容
- 测试用例的选择
- 测试执行顺序
- 试探性的测试策略
- 接收测试策略
- 回归测试策略
- 探索测试策略
- 自动化测试策略
-
⭐(2)跟踪测试执行
- 跟踪测试用例执行的情况
- 每日缺陷跟踪
- 调整测试策略
-
⭐(3)版本质量评估和建立版本质量档案
-
方法1:软件产品质量评估模型
-
方法2:特性版本的质量档案
-
4. 测试质量评估阶段
- 指 阶段质量评估 或 发布时的质量评估,给出“能否进入下一阶段测试”或“能否发布”的结论
- 方法:软件产品质量评估模型
- ⭐重点关注的内容:
- 确认总体测试策略中重要的质量目标是否达到
- 对总体测试策略中未达标的一般性的质量目标,确定应对措施
- 进行遗留缺陷分析
- 此时的缺陷修复策略和对非必然重现bug的处理