6.1 软件测试过程

活动及内容:

 软件测试贯穿整个软件开发周期,软件过程中的关键活动包括提取测试需求、确定测试范围、制定测试计划、开展测试设计、执行测试用例、分析测试结果等

 具体活动及内容:

  --  需求与规范管理(需求阶段)   目标:确定测试需求

    *  需求人员确定规范和需求,并发给项目经理、开发经理、开发和测试人员

    *  需求评审,确定最终实现的需求和功能点

    *  开发估算开发工作量

    *  测试对需求文档进行检查并修复完善,测试估算测试工作量

  --  项目计划于测试计划(产品设计阶段)

    *  开发根据工作量和需求初步确定开发计划、测试计划和发布时间

    *  开发负责人估算工作量和项目计划

    *  测试负责人估算工作量和测试计划

    *  讨论修改并定稿

  --  开发设计与评审(产品设计阶段)

    *  开发人员为主,测试人员可以参与了解被测软件的设计情况

  --  测试方案与评审(产品设计阶段)

    *  项目设计阶段,测试负责人编写测试方案

    *  发送相关人员

    *  评审,修改,最终确定

  --  测试设计与评审(开发阶段)

    *  编写详细用例设计,包括功能、性能、压力等

    *  用例评审

  --  编码实现和单元测试(开发阶段、测试阶段)

  --  测试实施(测试阶段)

    *  执行测试,发现问题并记录

    *  提给开发人员

    *  开发解决bug

    *  测试验证回归,关闭bug

  --  产品发布

    *  产品达到测试计划制定的产品质量目标和测试质量目标后,进行最后一轮测试,编写总体测试报告,确定完成后发布产品

软件测试计划:

  --  包含产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。关键是测试需求分析

  --  要点:

    *  计划的目的:项目的范围和目标,各阶段的测试范围、技术约束和管理特点

    *  项目估算:使用的历史数据,使用的评估技术,工作量、成本、时间估算依据

    *  风险计划:测试可能存在的风险分析、识别,以及风险的回避、监控、管理

    *  日程:项目工作分解结构,并采用时限图、甘特图等方法制定时间/资源表

    *  项目资源:人员、硬件和软件等资源的组织和分配,人力资源是重点,而且日程安排紧密联系

    *  跟踪控制机制:质量保证和控制、变化管理和控制等。

  --  内容:

    测试计划要提供被测软件的环境信息、测试目标、测试步骤、测试数据整理以及评估准则。

    具体包括:

     *  测试环境(不同环境下测试,结果是不同的)

     *  测试基本原理和策略

     *  测试计划阶段划分

     *  测试计划要点

     *  功能描述和功能覆盖说明

     *  测试用例清单,说明每个用例测什么

     *  测试开始准则和退出准则

软件测试需求分析:

  --  原则:

    *  测试需求必须是可核实的,即必须有可观察、可评测的结果

    *  指明满足需求的正常的前置条件,同时指明不满足需求的出错条件

    *  不涉及具体的测试数据,测试数据设计时测试设计环节应解决的问题

  --  考虑因素:

    *  测试阶段:需求是否实现了具备的功能

    *  被测软件测特性:不同的软件业务背景不同,要求的特性也不同

    *  测试的焦点:根据所测的功能点进行分析、分解,得出着重于某一方面的测试

    *  另外:确定测试需求的优先级,可确定测试重点,处理测试进度问题时有的放矢,缓和测试风险

    *  最后要求需求的覆盖率

测试策略:

  --  要使用的测试技术和工具,如60%使用工具自动化测试,40%手工测试

  --  测试完成标准,用于计划和实施测试,及通报测试结果。如95%测试用例通过并且重要级别的缺陷全部解决

  --  影响资源分配的特殊考虑,例如有些必须在周末测试