测试设计与实现流程的主要目的是输出测试用例、测试套;
一般会把测试用例与测试过程记录到测试规格文档当中,以便后续执行;如果是基于经验的测试,一般就不输出这种测试规格文档了;
测试设计与实现流程可能会反反复复进行多次,因为在测试管理流程的监控流程中,会根据动态测试流程中发生的情况进行调整,比如,调整特性集合、补测某些内容等;
测试设计与实现流程主要是输出用于后面测试执行流程所需的测试套;
在这个流程中,会对测试依据进行分析得到特性集合,对特性集合进行归类,根据特性集合生成测试规格,输出测试覆盖项,输出测试套等等;
- 分析测试依据;
- 将需要测试验证的特性加入特性集;
- 分析测试规格;
- 分析测试覆盖项;
- 编写测试用例;
- 生成测试组合;
- 编制测试执行顺序;
- 通过分析测试依据,理解被测对象的需求;
如果在分析测试依据的时候,发现了依据中存在缺陷,可以通过缺陷跟踪系统跟踪这些缺陷; - 特性以特性集合归类;
组件/单元测试往往只有一个特性集;系统测试,往往会根据被测系统架构来划分特性集; - 使用风险分析活动得到的风险级别确定特性集合的测试优先级;
- 和干系人沟通,对特性集的划分和测试优先级达成一致;
- 将分析好的特性集合记录在测试设计规格文档中;
- 做好测试依据和特性集之间的可追溯性;
-
根据测试计划中所列的测试退出标准(比如,代码覆盖率,要覆盖哪些质量类型等等),确定测试规格;
所谓测试规格,就是组件或者系统的可测试项目;即,把组件或系统的功能、业务、特性、质量属性、结构元素作为测试的依据;
测试规格的梳理,既可以简单地把干系人关心的内容作为测试规格,也可以通过一些测试设计技术进行系统化的梳理;
以关心内容为例:测试屏幕我们关心色彩、亮度、刷新率、功耗、稳定性、材料一致性等等;
以测试设计技术分析为例 ,可以通过建模手段来分析;如,分析业务流程得到不同的分支作为测试规格;使用判定表分析输入输出关系,得到众多测试规格; -
根据风险等级,确定测试规格的优先级;
-
将分析得到的测试规格记录在测试设计规格文档中;
-
做好测试依据、特性集与测试规格之间的可追溯性记录;
-
请干系人对测试设计规格文档进行评审;
- 对测试规格应用测试设计技术,获得测试覆盖项;
- 测试覆盖项就是每个测试规格的属性集合;
如,某个测试规格存在边界条件,那么这些边界值就是测试覆盖项; - 如果测试完成标准要求覆盖率低于100%,那么就意味着对应的测试用例集的执行率低于100%;
- 可以将多个测试规格的覆盖项整合进一个;
- 测试覆盖项就是每个测试规格的属性集合;
- 根据风险等级,确定测试覆盖项的优先级;
- 将测试覆盖项记录在测试设计规格文档中;
- 做好测试依据、特性集、测试规格与测试覆盖项之间的可追溯性记录;
- 为测试覆盖项编写用例,用例中明确预置条件、选择输入参数、执行步骤和预期输出结果;
备注:一条用例可以覆盖多个测试覆盖项; - 根据风险等级,确定测试用例的优先级;
- 将编写好的测试用例放入到测试用例规格文档当中;
- 做好测试依据、特性集、测试规格、测试覆盖项与测试用例之间的可追溯性记录;
- 请干系人对测试用例规格文档进行评审;
- 基于执行所需的环境(版本、测试环境、人员要求、预置条件),可以将测试用例划分为多个组合;
- 做好测试依据、特性集、测试规格、测试覆盖项、测试用例、测试用例集合之间的可追溯性记录;
- 依据测试集合的执行约束(一般是环境、人员之类的约束),安排测试任务的顺序;
- 识别任务中测试数据与环境的需求;
- 根据风险等级安排测试任务优先级;
- 将测试任务记录在测试任务规格书中;
- 做好测试依据、特性集、测试规格、测试覆盖项、测试用例、测试用例集合、测试任务之间的可追溯性记录;
- 请干系人对测试任务规格书进行评审
- 测试规格文档:测试设计规格、测试用例规格、测试过程规格、相关的可追溯性;
- 测试数据需求清单;
- 测试环境需求清单;