1、测试需求的定义

  测试需求是指:什么是我们所要测试的

  测试需求关注于What

  测试需求说明了在一个软件测试项目中:

  项目的测试范围

  在测试项目中,我们需要进行开发生命周期中哪些阶段测试

  ● 单元测试
  ● 集成测试
  ● 系统测试
  ● 验收测试

  项目的测试目标

  ● 系统的哪些特性需要被测试以保证这些特性的质量。

  ● 系统特性包括:功能、性能、易用性、安全性、兼容性……

  ● 测试目标要根据系统的特点进行分解细化,分解到一个可测试的粒度,即单项具体的特性。

  ● 未经分解细化,笼统的、整体或者概括性的特性不利于测试工作的开展。

  2、测试需求的重要性

  ● 保证测试人员、项目经理、客户的测试目标一致

  ● 在有限的时间内做更有效的测试

  ● 有效估计项目所需资源

  ● 合理资源分配

  ● 避免出现测试逃逸现象

  ● 测试进度跟踪

  ● 有效计算测试覆盖

  3、测试需求的类型

  ● 功能性测试需求:功能性需求描述了系统的特征或系统提供的服务。主要包括:系统功能、业务流程、界面功能和风格、系统安装等

  ● 非功能性测试需求:非功能性需求描述了施加于系统操作上的约束。主要包括:性能要求、安全性要求、兼容性要求、移植性要求等

  4、测试需求的组成

  主体内容包括:

  需求标识、需求名称、需求描述、优先级、类型、状态、创建信息、关联测试用例、其它根据项目特点和要求而定制的内容

  5、测试需求结构

  测试需求的制订按级别进行分解

  完成的测试需求是树形的结构,用纵向的树形结构表示(类似于资源管理器的文档结构)

  枝干节点一般用于表达需求的分类或高阶的系统特性(如同计算机中的分类目录 )

  叶子节点则用于表达具体需要测试的特性(如同计算机中目录下的具体文件)

  6、测试需求分析过程

  第一步,描绘轮廓:是要将整个应用程序要进行测试的范围描绘出来,包括测试目标、对象和策略等。(可通过阅读文档和钻研系统、确定系统特性及风险因素来确定)

  第二步,分解单元:对测试范围进行分解,根据其结构分解成不同级别的单元,形成树形测试需求。如:子系统、模块、业务类型等。(考虑单元的粒度)

  第三步,单元细化:对这些单元进行终的细化,分解成具体的功能和处理条件、业务和不同场景等。细述每项测试需求,设定优先级