软件测试需求

1、测试需求的定义

测试需求就是指:什么是我们所要测试的
测试需求关注于What
测试需求说明了在一个软件测试项目中:
项目的测试范围
在测试项目中,我们需要进行开发生命周期中哪些阶段测试
  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试
项目的测试目标
  • 系统的哪些特性需要被测试以保证这些特性的质量。
  • 系统特性包括:功能、性能、易用性、安全性、兼容性……
  • 测试目标要根据系统的特点进行分解细化,分解到一个可测试的粒度,即单项具体的特性。
  • 未经分解细化,笼统的、整体或者概括性的特性不利于测试工作的开展。
2、测试需求的重要性
  • 保证测试人员、项目经理、客户的测试目标一致
  • 在有限的时间内做更有效的测试
  • 有效估计项目所需资源
  • 合理资源分配
  • 避免出现测试逃逸现象
  • 测试进度跟踪
  • 有效计算测试覆盖
3、测试需求的类型
  • 功能性测试需求:功能性需求描述了系统的特征或系统提供的服务。主要包括:系统功能、业务流程、界面功能和风格、系统安装等
  • 非功能性测试需求:非功能性需求描述了施加于系统操作上的约束。主要包括:性能要求、安全性要求、兼容性要求、移植性要求等
4、测试需求的组成
主体内容包括:
     需求标识、需求名称、需求描述、优先级、类型、状态、创建信息、关联测试用例、其它根据项目特点和要求而定制的内容 

5、测试需求结构 

测试需求的制订按级别进行分解
完成的测试需求是树形的结构,用纵向的树形结构表示(类似于资源管理器的文档结构)
枝干节点一般用于表达需求的分类或高阶的系统特性(如同计算机中的分类目录 )
叶子节点则用于表达具体需要测试的特性(如同计算机中目录下的具体文件)

6、测试需求分析过程 

第一步,描绘轮廓:就是要将整个应用程序要进行测试的范围描绘出来,包括测试目标、对象和策略等。(可通过阅读文档和钻研系统、确定系统特性及风险因素来确定)
第二步,分解单元:对测试范围进行分解,根据其结构分解成不同级别的单元,形成树形测试需求。如:子系统、模块、业务类型等。(考虑单元的粒度)
第三步,单元细化:对这些单元进行最终的细化,分解成具体的功能和处理条件、业务和不同场景等。细述每项测试需求,设定优先级
阅读文档和钻研系统:
  • 学会阅读文档和钻研业务
  • 索要文档、同类系统、系统原型
  • 积极参加培训和讨论
  • 各团队之间的沟通交流
  • 积极主动去询问——向测试经理、客户、开发经理等
  • 确定系统特性——从特性中考虑重点、需求
确定系统特性:

在软件测试需求分析中,我们可以从被测试系统的一些基本特征,来确定系统的一些需求、重点等。可以考虑的特征包括:

  • 架构
  • 开发平台
  • 运行环境架构
  • 根据业务特点,推测系统的测试重点、难点……
7、测试需求的风险因素
  • 优先级
  • 可测与不可测
  • 测试的代价
  • ……
8、测试需求的粒度

测试需求的粒度,要根据实际情况来确定

  • 测试类型和阶段
  • 不同的测试阶段
  • 不同的测试类型
  • 测试资源情况
  • 人力
  • 时间
  • 水平
9、测试需求分析方法和原则

1)原则:

功能性需求

  • 系统功能需求:
    根据系统架构,从高到低逐级细分
    关注具体的系统功能及功能的不同处理情形
    粒度以到不同的处理情形为宜
    正常与异常处理情形都要考虑
  • 界面需求:
    界面功能
    根据界面划分
    考虑控件对各种输入的响应
    界面元素
    考虑元素各种属性(位置、大小、颜色、显示等)
    先整体后局部
    局部按界面划分
    考虑内容正确性
  • 安装需求:
    缺省安装配置优先
    按照安装配置结构划分
    考虑所有安装配置
    考虑安装过程中的异常行为
  • 业务需求:
    根据业务结构和分类,从上至下逐级细分
    关注具体业务
    粒度以到不同业务场景为宜
    考虑正常与异常业务场景

非功能性需求

  • 性能/压力需求:
    先结构后类型
    先列举后细分
    细述指标和要求
  • 安全性需求:
    先列举后细分
    详述各项内容
  • 兼容性需求:
    先硬件后软件
    先系统后应用
    详述环境组合
10、测试需求注意事项
作为测试项目的基础,测试需求有5个需要依据的准则:
  • 完整性
  • 无歧义性
  • 一致性
  • 可跟踪性
  • 可测试性


没有更多推荐了,返回首页