您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 测试用例 > 正文

测试用例设计方法

发表于:2019-01-12 作者:Rannio 来源:简书
1.软件测试用例
• 指导测试的实施.
• 规划测试数据的准备
• 评估测试结果的度量基准
• 持续优化的保证
2.软件测试用例设计和写作
• 软件测试用例设计是从设计层面考虑,比如从功能性/可用性/安全性等方面考虑设计测试用例
• 软件测试用例写作是指软件测试用例的写作规范,包括写作格式、标识的命名规范等等
• 软件测试用例设计得出软件测试用例的内容,然后,按照软件测试写作方法,落实到文档中,两者是形式和内容的关系
3.软件测试用例格式

4.常用黑盒测试用例设计方法
• 等价类划分法
• 边值分析法
• 判定表法
• 状态迁移图法
• 流程分析法
• 正交试验法
• 输入域测试法
• 输出域覆盖法
• 异常分析法
• 错误猜测法
等价类划分原则
• 如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类
• 输入条件规定了输入值的集合,或是规定了必须如何的条件,则可以确定一个有效等价类和一个无效等价类
•在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
•如果我们确知,已经划分的等价类中各个元素在程序中的处理方式不同的,则应该将此等价类进一步划分
等价类法设计测试用例的步骤
• 为每个输入划分等价类,得到等价类表,为每个等价类规定一个唯一编号
• 设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重复这一步骤,使得有效等价类均被测试用例所覆盖
• 设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤使得所有无效等价类均被覆盖
边界值分析法
边界值分析方法的理论基础,是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附件的取值不会导致程序出错,那么其它的取值导致程序错误的可能性也很小
边值分析使用条件
• 输入条件明确了一个值的取值范围,或是规定了值的个数
• 输入条件明确了一个有序集合
边值分析法
边值点定义
• 上点:边界上的点,如果域的边界是封闭的,上点就在域范围内;如果域的边界是开放的,上点就在域范围外
• 离点:就是离上点最近的一个点,如果域的边界是封闭的,离点就在域范围外,如果域的边界是开放的,离点就在域范围内
• 内点:顾名思义,就是在域范围内的任意一个点边界值分析的原则
• 如果输入(输出)条件规定了取值范围,或是规定了值的个数,则应该以该范围的边界内及边界附近的值作为测试用例
• 如果输入(输出)条件规定了字符长度,则用最大长度,最小长度,比最小长度少一,比最大长度多一的数作为测试数据
• 如果程序规格说明中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试用例
• 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例
边值分析法设计用例的步骤
• 分析输入参数的类型:从测试规格中分析得到输入参数类型
• 等价类划分(可选):对于输入等价类划分方法进行等价类的划分
• 确定边界:运用域测试分析方法确定域范围的边界(上点、离点与内点)
• 相关性分析(可选):如果存在多个输入域,则需要运用因果图、判定表方法对这些输入域边界值的组合情况进行进一步分析
• 形成测试项:选择这些上点、离点与内点或者这些点的组合形成测试项
判定表法
判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确
• 条件桩(Condition Stub)
• 动作桩(Action Stub)
• 条件项(Condition Entry)
• 动作项(Condition Entry)
判定表法设计用例的步骤
• 确定规则的个数。如这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则
• 列出所有的条件桩和动作桩
• 填入条件项
• 填入动作桩和动作顶
• 化简,合并相似规则
• 将每条规则转化为用例
判定表的优缺点
优点
它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。
缺点
合并存在漏测的风险。一个显然易见的原因是,虽然某个输入条件在输出接口上是无关的,但是在软件设计上,内部针对这个条件走了不同的程序分支。
正交测试法:
根据所给的条件,列出条件,对比选出所需要表格进行填写。
若条件不满足正交试验表则取所给条件多的正交试验表。
例1:

例2:

例3: