测试设计:将归纳的测试目标转化为具体的测试条件和测试用例的一系列活动架构
测试分析和设计的主要任务工具
- 评审测试依据(需求、系统架构、设计和接口说明)
- 评估测试依据和测试对象的可靠性
- 经过对测试项、规格说明、测试对象行为和结构的分析,识别测试条件并肯定优先级
- 设计测试用例,并肯定优先级
- 肯定测试条件和测试用例所需的必要测试数据
肯定测试条件测试
- 依据在测试策划或者测试计划中肯定的测试技术
- 经过对策是依据与测试目标的分析,能够肯定须要测试的内容,得到测试条件
测试用例:设计
经过使用在测试计划中肯定的测试技术与测试方法,对于已肯定的测试条件进行逐步推敲,精炼而设计出来的,重点说明如何具体操做,产生何种结果的文档对象
- 特色:可重复性,可验证性,需求可追踪性
设计的关键点:排序
- 前提条件:如项目或局部测试环境的需求,及其交付计划
- 测试步骤:可还原,可检测,不可有歧义
- 测试数据
- 预期结果
设计方法:接口
- 等价类划分法
- 边界值法
- 因果图设计法
- 断定表设计法
- 正交实验法
- 场景法
定义:把程序的输入域划分红若干部分,再从每一个部分中选取少数表明性数据当作测试用例,每一类的表明性数据在测试中的做用等价于这一类中的其余值文档
划分原则:系统架构
- 若是输入条件规定了取值的范围或者值的个数,则可肯定一个有效等价类和两个无效等价类
- 对立关系:若是一个输入条件说明了一个 “必须成立”的状况,则可划分一个有效等价类和一个无效等价类
- 若是输入条件规定了输入数据的一组可能的值,并且程序是用不一样的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类
- 若是已明确,已划分的某等价类中的各元素在程序中的处理方式是不一样的,则应据此等价类进一步划分红更小的等价类
设计步骤软件
- 明确测试对象,非测试对象保证正确
- 为每个等价类规定一个惟一的编号
基于等价类划分的用例设计
- 设计一个新的测试用例,使其尽量多地覆盖还没有覆盖的有效等价类,重复这一步,最后使得全部有效等价类均被测试用例所覆盖
- 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使全部无效等价类均被覆盖
等价类的特色
- 测试相同的内容
- 若是等价类中的一个测试可以捕获一个缺陷,那么选择该等价类中的其余测试也能捕获该缺陷
- 若是等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其余测试也不会捕获缺陷
- 若是正确的划分等价类,能够大大下降测试用例的数量,测试会准确有效
- 若是错误地将两个不一样的等价类当作一个等价类,那就会遗漏一种测试状况
- 相反,把同一个等价类看做两个不一样的等价类,那么测试就会是冗余的
注意事项:
- 不但要考虑有效等价类,也要考虑无效等价类
- 仔细划分,审查划分
- 过于粗略可能会遗漏掉软件缺陷
- 组织评审
定义:是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例
边界值设计的原则
- 若是输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值做为测试用例
用来处理等价类划分和边界值考虑不到的状况,由于这两种方法都是着重考虑输入条件,而不考虑输入条件的各类组合,输入条件之间的相互制约关系因果图法,适合用于描述多种条件的组合,产生多个相应动做的测试方法;从程序规格说明书的描述中找出因果关系
定义:是分析和表达多逻辑条件下执行不一样操做的工具
组成部分:
- 条件桩:列出了问题的全部条件,一般认为列出的条件次序可有可无
- 动做桩:列出了问题规定可能采起的操做,这些操做的排序顺序没有约束
- 条件项
- 动做项
设计步骤:
- 分析软件规格说明中的因果,并给每一个缘由和结果赋予一个标识符
- 分析软件规格说明中语义的内容,找出缘由与结果之间、缘由与缘由之间对应的关系,根据这些关系画出因果图
- 因为语法或环境的限制,有些缘由与缘由之间、缘由与结果之间的组合状况不可能出现。为代表这些特定状况,在因果图上使用一些记号代表约束或限制条件
- 把因果图转换为断定表
- 根据断定表的每一列设计测试用例
定义:是从大量的实验点中挑选出适量的、有表明性的点,应用依据伽罗卡瓦理论导出的正交表,合理地安排实验的一种科学的试验设计方法
相关参数:指标、因子、因子的状态
设计步骤:
- 提取功能说明,构造因子状态表
- 加权筛选,生成因素分析表
- 利用正交表构造测试数据集
- 利用正交表每行数据构造测试用例
场景法设计步骤:
- 根听说明,描述出程序的基本流及各项备选流
- 根据基本流和各项备选流生成不一样的场景
- 对每个场景生成相应的测试用例
- 对生成的全部测试用例从新审核,去掉多余的测试用例,测试用例肯定后,对每个测试用例肯定测试数据值
测试用例项划分
- 测试用例划分的经典方法是瀑布模型,从上到下,逐渐细分;大模块包括小模块,小模块包括更小的模块
- 要从更多的角度切入系统,把系统切分红一块一块地来进行测试,从而确保测试大项的完整性
切面测试
- 功能点切面:最多见的切面,一般认为页面上的一个按钮就是一个功能点。根据功能的复杂程度,按每个功能进行用例的撰写
- 隐含切面:完整业务流程的测试。从需求,业务角度进行编写
功能点用例设计
- 任何状况下都必须使用边界值分析法,经验代表,用这种方法设计出测试用例发现程序错误的能力最强
- 必要时用等价类划分的方法补充一些测试用例
- 若是程序的功能说明中含有输入条件的组合状况,则一开始就可选用因果图法
- 若是程序业务复杂度比较高,则适当使用场景法补充一部分测试用例