第一章 软件功能测试概论
第一章 软件功能测试概论
1.1软件功能需求
1. 需求的定义:
1997年IEEE在《软件工程标准词汇表》定义:
① 用户为解决某一问题或为达到某个目标所需要的条件或能力。
② 系统或系统部件为满足合同、标准、规格说明或其他正式的强制性文档所必须具有的条件或能力。
③ 对上面所描述的条件和能力的文档化说明
2. 软件需求包括三个不同的层次:业务需求、用户需求、系统需求。
业务需求即为什么要开发系统
用户需求即用户对系统的目标要求,描述了他们要求系统必须完成的任务
系统需求包括功能需求和非功能需求。功能需求定义了开发者应提供的软件功能或服务,但不涉及这些功能的实现;非功能需求则是对功能需求的补充,包括对系统的各种限制和用户对系统的质量要求。
1.2软件功能测试需求分析
对于测试人员,理解需求主要由以下几个方面对需求进行理解:
流程理解-->功能理解-->界面美观性的需求理解-->易用性的需求理解
1.2.1测试需求的特性
测试需求的特性要求:
① 制定的测试需求必须是可核实的。它们必须要有可观察、可评测的结果,无法核实的需求不是测试需求;
② 满足需求应指明满足需求的正常的前置条件,同时也要指明不满足需求时的出错条件;
③ 测试需求不涉及具体的测试数据,测试数据设计是测试设计环节应解决的内容。
1.2.2测试需求分析过程
1.测试需求分析过程包括需求采集、需求分析和需求评审三个环节
2.需求采集的过程是将软件开发需求中的那些具有可测试的需求或特性提取出来,形成原始测试需求。
可测试性是指提取的这些需求或特性必须存在可以明确预知的结果,可以用某种方法对这个明确的结果进行判断、验证,验证是否符合文档中的要求。
3.测试需求分析的流程包括测试要点分析、质量特性分析、测试类型分析
3. 测试需求评审
测试需求评审需要对以下内容进行评审:
完整性评审、准确性评审
测试需求评审所采用的形式:相互评审、轮查、走查、小组评审和审查等方式
1.3等价类划分法
1.4边界值分析法
1.5因果图法
1.6场景法