1、测试需求
一)定义:通常是以软件开发需求为基础进行分析,通过对开发需求的细化和分解,形成可测试的内容。
补充:什么是软件需求?
答:软件要开发出什么样的软件、有哪些功能、性能指标、安全指标等。
测试需求应覆盖全部已定义的业务流程,以及功能和非功能方面的需求。
二)特性:
(1)制定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果,无法核实的需求不是测试需求。
(2)测试需求应指明满足需求的正常的前置条件,同时也要指明不满足时的出错条件。
(3)测试需求不涉及具体测试数据,测试数据设计师测试设计环节应解决的内容。
三)目的(为什么要测试需求):
(1)软件测试需求是开发测试用例的依据
(2)有助于保证测试的质量与进度
(3)测试需求是衡量测试覆盖率的重要指标。
四)(重点)测试需求分析的内容
对开发需求的细化和分解具体内容:
(1)通过分析每条开发需求描述中的输入、输出、处理、限制、约束等,给出对应的验证内容
(2)通过分析各个功能模块之间的业务顺序,和各个功能模块之间传递的信息和数据(功能交互分析),对存在功能交互的功能项,给出对应的验证内容。
五)测试需求的评审
评审的内容:
(1)完整性审查:应保证测试需求能充分覆盖软件需求的各种特性,重点关注***功能要求***、数据定义、接口定义、性能要求、安全性要求、可靠性要求、系统约束等方面,同事还应关注是否覆盖开发人员遗漏的、系统隐含的需求。
(2)准确性审查:应保证所描述的内容能够得到相关各方的一致理解,各项测试需求之间之间没有矛盾和冲突,各项测试需求在详尽程度上保持一致,每一项测试需求都可以作为测试用例设计的依据。
六)测试需求分析
(1)测试需求分析就是把产品需求和对用户的理解(用户体验)转化、分解成测试功能 点,产品需求是我们测试需求主要输入,但不是全部,我们还需要仔细分析产品设计说明,可以产出更多可测试的功能点(这些功能点往往没有包含在产 品需求 中)。还要加入对性能、安全、接口和回归测试范围分析。测试需求是确定测试进度计划和资源的主要依据。
(2)评估风险并确定测试优先级.
2、测试计划
一)定义:描述所有要完成的测试工作,包括被测试项目的背景、目的、范围、方式、资源、进度安排、测试组织、以及与测试有关的风险等方面。
二)为什么要编写测试计划:
(1)领导能够根据测试计划来做宏观调控,进行相应资源配置等。
(2)测试人员能够了解整个项目测试情况以及项目测试不同阶段的索要进行的工作等。
(3)便于其他人员了解测试人员的工作内容,进行有关配合工作
三)编写的时间:
需求分析后,在整个测试工作过程中,不断修改。
四)由谁编写
具有丰富经验的项目测试负责人。
五)作用
(1)测试过程提供指导
a.测试目标
b.测试内容
c.测试方法
d.测试时间周期
(2)改善测试任务与测试过程的关系
(3)提高测试的组织、规划和管理能力
六)如何制定测试计划
(1)认真做好测试资料的搜集整理工作
(2)明确测试的目标,增强测试计划的实用性
(3)坚持“5W”规则,明确内容与过程
(4)采用评审和更新机制,保证测试测试计划满足实际需求。
3、测试方案
一)目的:
(1)在技术明确要测什么、怎么测、以及达到什么样质量标准。
(2)有助于软件项目成员理解和执行测试过程中的各项活动,同时测试方案也有助于测试活动的管理。
(重点)测试计划和测试方案的区别:
(1)定义不同:测试计划是对测试过程的组织、资源、原则等进行规定和约束;而测试方案是描述所测软件的测试特性、测试方法、测试用例设计、测试代码设计、测试环境规划以及测试工具设计和选择的一种策略方法。
(2)层次不同梦:测试计划是管理层面的,从组织管理的角度规划测试活动;而测试方案是技术层面的,从技术的角度规划测试活动。
总的来说,测试计划提出“做什么”,而测试方案明确“怎么做”。
二)如何编写有效的测试方案
(1)测试需求分析
(2)测试策略
(3)测试资源
(4)测试进度计划
(5)风险管理
(6)质量
4、测试策略
一)制定测试策略
一个好的测试策略应该包含以下内容:
(1)实施的测试类型和测试的目标
(2)实施测试的阶段
(3)技术
(4)用于评估测试结果和测试是否完成的评测和标准
(5)对测试策略所述的测试工作存在影响的特殊事项
二)测试类型
(1)功能测试
(2)界面测试
(3)兼容性测试
(4)安全测试
(5)本地/国际化测试
(6)数据库测试
(7)可靠性测试
(8)自动化测试
(9)性能测试
(10)回归测试(拨测)