10-用例设计方法

2018-10-20  本文已影响8人  王梓懿_1fbc

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

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

二、等价分析法

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

  1. 通常等价类划分为2种情况:
  1. 划分的原则:
  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. 设计用例的步骤:
  1. 边界值的优缺点

案例:
万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。

四、判定表分析法

判定表分析法是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达的既具体又明确;

  1. 判定表的组成
  1. 判定表的合并
    化简工作是以合并相似规则为目标的,如果表中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,我们便可以将其合并;

  2. 判定表设计步骤

  1. 判定表的适用场景
  1. 判定表的优缺点
  1. 案例

案例1:若用户欠费或停机,则不允许主被叫
第一步:找出条件桩和动作桩
条件桩:用户欠费、用户停机
动作桩:可以主被叫
第二步:计算规则个数
2×2=4
第三步: 设计表将条件项、动作项填入

第四步: 简化合并

第五步: 生成用例(略)

案例2:
a. 如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读;
b. 如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去;
c. 不觉得疲倦并且对书的内容感兴趣,但是书中的内容让你糊涂的话,回到本章重读;
d. 如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息;
e. 如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息;
f. 不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去;
g. 不疲倦,不感兴趣,书中内容糊涂,跳到下一章去读;
h. 不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读;

案例3:
问题要求:"对功率大于50马力的机器,维修记录不全或已运行10年以上的机器,应给予优先的维修处理"这里假定“维修记录不全”和"优先维修处理"均已在别处有更严格的定义。请建立判定表。

案例4:
航空行李托运费的计算:按规定重量不超过30公斤的行李可免费托运,重量超过30公斤时,对超运部分进行收费,标准是头等舱国内乘客收取4元/公斤;其它舱位国内乘客收取6元/公斤;国外乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的一半。

五、流程分析法(场景分析法)

流程分析主要是针对测试场景类型的,流程分析是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到。这是从白盒测试中路径覆盖分析法中推广到黑盒测试中来的测试分析方法。

  1. 场景分析法步骤
  1. 案例
  1、用户登录网站进行文献检索
  2、查找到自己需要的文献后就对文献进行订购
  3、用户确认订购后,系统自动生成订单(此时订单的状态为“未处理”)
  4、对于未处理的订单用户可以进行撤销
  5、后台订单管理员查看到“未处理”的订单后,和用户确认订购事项后,对该订单进行处理
  6、首先接受该订单
  7、然后核对订单的信息及所需文献内容,进行订单的处理
  8、将用户订购的文献打印后,装订成册,打印出投递清单,并邮寄给用户
  9、订单被接受后,管理员可以随时将订单修改为错误状态

备注: 

  1. 练习
1、针对ATM机的取款流程进行测试;
2、淘宝购物

六、状态迁移法

状态转换图是对特定系统需求设计测试用例的工具之一,它描述了测试对象和测试数据之间的关系。测试对象的输入行为不仅仅和当前的输入数据有关,而且和测试对象当前的状态有关。状态转换图是设计状态转换测试用例的基础,基于状态转换图进行的测试就是状态转换测试;

  - 通过构造能导致状态迁移的事件来测试状态之间的转换,常用语协议测试;
  - 用这种方法可以设计逆向的测试用例,如状态和事件的非法组合;

  1. 状态迁移图步骤
  1. 案例
1、向航空公司打电话预定机票 -> 此时机票信息出于"完成"状态
2、顾客支付了机票费用后 -> 机票信息就变为"已支付"状态
3、旅游当天到达机场后,打印机票后 -> 机票信息就变为"已出票"状态
4、登记检票后 -> 机票信息就变为"已使用"状态
5、在登上飞机之前任何时间可以取消自己的订票信息,如果已经支付了机票的费用,则还可以得到退款,取消后 -> 订票信息处于"已被取消"状态

  1. 练习
练习1 --- 电话系统
- 空闲: 电话初始状态
- 响拨号音: 拿起电话,未拨号,系统响拨号音
- 拨号中: 输入号码状态
- 连接中: 号码完毕,等待连接的状态
- 响铃: 线路通后,响铃的状态
- 通话: 对方拿起电话状态
- 断开: 对方挂断或已方挂断
- 超时状态: 拿起电话,一直未拨号
- 忙音: 拨打对方电话占线状态
- 播放录音: 拨号错误,系统状态

练习2 --- 打印机
- 打印机开启后,进入就绪态,同时就绪灯亮
- 如果收到打印命令后,将进行打印,在打印过程中如果缺纸,将停止打印,缺纸指示灯亮,放入纸张后恢复打印
- 如果打印过程中出现故障,将停止打印,故障指示灯亮,故障修复后继续打印
- 打印完成后,打印机进入就绪状态,同时就绪指示灯亮

七、错误推测法

错误猜测法,根据经验猜想可能有什么问题并依此设计测试用例。错误猜测法只能作为测试设计的补充而不能单独用来设计测试用例,否则可能会造成测试的不充分。

  1. 常见的错误推测法
  1. 优缺点
    错误推测法不是一种系统的测试方法,所以只能用作辅助手段,即先用其他方法设计测试用例,再用此方法补充一些例子。
  1. 案例
测试计算平方根的函数 为例,假如在界面文本框中进行x值的输入。
根据题意,可知x要求为非负数,且是数字。可设计错
误推断的测试用例:
 x为负数,如:-2
 x为非数字,如:a, $等
 x为0的情况。
 针对不合法的输入,系统能否给出必要的判断提示信息?

八、异常处理法

系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。主要针对系统的容错能力、故障恢复能力进行测试。

九、因果图分析法

因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中,原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各种组合情况。

  1. 因果图符号

  2. 约束符号

  1. 因果图的步骤
  1. 案例
    经典的因果图案例: 一个处理单价为5角钱的饮料的自动售货机。
    其规格说明如下: 若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
因果图转换判定表的方法:
将因果图中的所有条件(因)填入判定表的条件桩中;
将因果图中的所有动作(果)填入判定表的动作桩中;
根据因果图确定各个条件组合对应的动作,并且确定判定表中各个规则的条件项和动作项,在需要时优化判定表。

![](https://img.haomeiwen.com/i1801379/52cfce2b109872c6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/823/format/webp)
  1. 因果图的优点缺点

十、正交试验法

正交试验设计法,是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。

正交常用的术语:
  - 指标:通常把判断试验结果优劣的标准叫做试验的指标
  - 因子:所有影响试验指标的条件
  - 因子的状态:影响试验因子的取值,叫做因子的状态

  1. 正交表表示形式: Lr(mn)或Lr(mn,pq)
N、 Q代表因子数,即正交表中的列
M、P代表水平数也称状态,单个因子取的最大数
R代表行数,正交表中行的数量,即测试用例数

行数的计算r=(m-1)*n+1或r=(m-1)*n+(p-1)*q+1

  1. 正交分析步骤:
  1. 正交实际应用

正交的原则:两两组合!

十一、总结

  1. 使用各种测试方法
  1. 测试用例的设计步骤
  1. 优化测试用例的方法

作者:西门奄
链接:https://www.jianshu.com/u/77035eb804c3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

上一篇 下一篇

猜你喜欢

热点阅读