10-用例设计方法

本文详细介绍了软件测试中常用的设计方法,包括等价类分析、边界值分析、判定表分析、流程分析、状态迁移法、错误推测法、异常处理法、因果图分析法和正交试验法。通过实例讲解了每种方法的应用,并强调了边界值分析法的重要性以及测试用例设计的综合运用。
摘要由CSDN通过智能技术生成

思考: 任意输入三角形三边,判断能够构成三角形?
输入3个整数a、b、c构成三角形,设计测试用例数量。
假设在16位计算机上运行,则整数可能的取值是216,那么a、b、c三条边的各种可能组合大约有3*1013种,假设执行1次需要1ms,执行完所有的测试数据也需要1万年。

一、常用测试用例设计分析法

  • 等价类分析法
  • 边界值分析法
  • 判定表分析法
  • 因果图分析法
  • 正交试验法
  • 流程分析法(场景分析法)
  • 状态迁移法
  • 错误推测法
  • 异常处理法

二、等价分析法

某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其他输入条件进行测试也不可能发现错误。

  1. 通常等价类划分为2种情况:
  • 有效等价类:对程序规格说明有意义的、合理的输入数据;
  • 无效等价类:对程序规格说明无意义的、不合理的输入数据;
  1. 划分的原则:
  • 规定了输入值的范围或值的个数,可以定义一个有效等价类和两个无效等价类(如: 0<a<33或输入6~8个字符);
  • 输入值为布尔值(如:真/假);
  • 规定了输入数据的一组值(文化程度:初中、高中、大学);
  • 规定了输入规则时,可以划分出一个有效的等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
  • 如果输入数据是一组值,且程序对不同的输入做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类;
  1. 等价类划分的步骤:
  • 找输入条件;
  • 为每个输入条件找有效、无效等价类;
  • 为每个等价类编号;
  • 用最少的用例覆盖最多的有效等价类,重复这一步骤直到覆盖完全;
  • 每一个无效等价类都有一个用例;
  • 并非所有有效等价类都有无效;
  • 等价类的覆盖可以重复覆盖;
  1. 常见的能够划分等价类场景
  • 数值范围
  • 重复次数
  • 字符串长度
  • 字符串组中字符的个数
  • 文件命名
  • 文件大小
  • 屏幕的颜色种类
  • 超时时间;
  1. 等价类的优缺点
  • 优点: 是考虑了单个输入域的各种情况,避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性;
  • 缺点: 分法虽简单易用,但没有对组合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充;

案例1: QQ注册,密码输入框

案例2: 根据内容提炼需求写用例
现有一个档案管理系统,容许用户输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定由6位数字字符组成,前4位表示年,后2位表示月;

案例3: 根据要求写用例
a、验证长度6~16个
b、不能包含空格
c、不能是9位以下纯数字
d、密码不能与名字相同

三、边界值分析法

边界值分析法是对等价类分析方法的一种补充, 所以边界值的条件落在等价类的边界上。

  1. 边界条件分析:
  • 输入条件明确了一个值的取值范围,或规定了值的个数;
  • 输入条件明确了一个有序集合;
  1. 边界点定义
  • 上点: 边界上的点;
  • 离点: 离上点最近的点,如果域的边界是封闭的,离点就在域范围外,如果域的边界值是开发的,离点就在域范围内;
  • 内点: 顾名思义,就是在域范围内的任意一个点;

闭区间: [10,20] 即 10<=i<=20;
开区间: (5,8) 即 5<i<8;

边界点定义
  1. 边界值分析原则:
  • 如果输入(输出)条件规定了取值范围,或是规定了值的个数,则应该以该范围的边界内及边界附近的值作为测试用例;
  • 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;
  • 如果程序规格说明中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个或最后一个元素作为测试数据;
  • 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据;
  1. 设计用例的步骤:
  • 分析输入参数的类型: 从测试规格中分析得到输入参数类型;
  • 等价类划分(可选): 对于输入等价类划分方法进行等价类的划分;
  • 确定边界: 运用域测试分析方法确定域范围的边界(上点、离点、内点);
  • 相关性分析(可选): 如果存在多个输入域,则需要运用因果图、判定表方法对这些输入域边
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值