6.1 软件测试过程
活动及内容:
软件测试贯穿整个软件开发周期,软件过程中的关键活动包括提取测试需求、确定测试范围、制定测试计划、开展测试设计、执行测试用例、分析测试结果等
具体活动及内容:
-- 需求与规范管理(需求阶段) 目标:确定测试需求
* 需求人员确定规范和需求,并发给项目经理、开发经理、开发和测试人员
* 需求评审,确定最终实现的需求和功能点
* 开发估算开发工作量
* 测试对需求文档进行检查并修复完善,测试估算测试工作量
-- 项目计划于测试计划(产品设计阶段)
* 开发根据工作量和需求初步确定开发计划、测试计划和发布时间
* 开发负责人估算工作量和项目计划
* 测试负责人估算工作量和测试计划
* 讨论修改并定稿
-- 开发设计与评审(产品设计阶段)
* 开发人员为主,测试人员可以参与了解被测软件的设计情况
-- 测试方案与评审(产品设计阶段)
* 项目设计阶段,测试负责人编写测试方案
* 发送相关人员
* 评审,修改,最终确定
-- 测试设计与评审(开发阶段)
* 编写详细用例设计,包括功能、性能、压力等
* 用例评审
-- 编码实现和单元测试(开发阶段、测试阶段)
-- 测试实施(测试阶段)
* 执行测试,发现问题并记录
* 提给开发人员
* 开发解决bug
* 测试验证回归,关闭bug
-- 产品发布
* 产品达到测试计划制定的产品质量目标和测试质量目标后,进行最后一轮测试,编写总体测试报告,确定完成后发布产品
软件测试计划:
-- 包含产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。关键是测试需求分析
-- 要点:
* 计划的目的:项目的范围和目标,各阶段的测试范围、技术约束和管理特点
* 项目估算:使用的历史数据,使用的评估技术,工作量、成本、时间估算依据
* 风险计划:测试可能存在的风险分析、识别,以及风险的回避、监控、管理
* 日程:项目工作分解结构,并采用时限图、甘特图等方法制定时间/资源表
* 项目资源:人员、硬件和软件等资源的组织和分配,人力资源是重点,而且日程安排紧密联系
* 跟踪控制机制:质量保证和控制、变化管理和控制等。
-- 内容:
测试计划要提供被测软件的环境信息、测试目标、测试步骤、测试数据整理以及评估准则。
具体包括:
* 测试环境(不同环境下测试,结果是不同的)
* 测试基本原理和策略
* 测试计划阶段划分
* 测试计划要点
* 功能描述和功能覆盖说明
* 测试用例清单,说明每个用例测什么
* 测试开始准则和退出准则
软件测试需求分析:
-- 原则:
* 测试需求必须是可核实的,即必须有可观察、可评测的结果
* 指明满足需求的正常的前置条件,同时指明不满足需求的出错条件
* 不涉及具体的测试数据,测试数据设计时测试设计环节应解决的问题
-- 考虑因素:
* 测试阶段:需求是否实现了具备的功能
* 被测软件测特性:不同的软件业务背景不同,要求的特性也不同
* 测试的焦点:根据所测的功能点进行分析、分解,得出着重于某一方面的测试
* 另外:确定测试需求的优先级,可确定测试重点,处理测试进度问题时有的放矢,缓和测试风险
* 最后要求需求的覆盖率
测试策略:
-- 要使用的测试技术和工具,如60%使用工具自动化测试,40%手工测试
-- 测试完成标准,用于计划和实施测试,及通报测试结果。如95%测试用例通过并且重要级别的缺陷全部解决
-- 影响资源分配的特殊考虑,例如有些必须在周末测试