多测师课堂005_设计用例方法_(上)高级讲师肖sir

测试技术和技巧

一、术语:

动态测试: 通过运行软件的组件或 系统来测试软件 (软件在运行中测试)

静态测试:对组件的规格说明书进行 评审,对静态代码进行走查 (软件在静止:代码,文档)

 正式评审:对文档的评审 (测试工作中最多就是“用例评审”)

度量:测量所使用的方法或标准 (达到要求衡量)

评审员:参加评审的人员

记录员:记录评审会议上的会议纪要

技术评审:同行间对技术进行的评审,目的是技术实现达成共识

走查:由文档作者逐步陈述文档内容,以收集信 息并对内容达成一致 

复杂性:系统或组件的设计或内部结构比较复杂, 导致难以理解,维护或验证的程度 (可理解为:软件难不难)

圈复杂度(Cycloramic complexity):程序中独立路径的数量。可 以衡量一个组件模块的判定结构的复杂程度。(重点:衡量一个软件复杂度)
控制流(Control Flow):执行组件或系统的一系列顺序的路径
数据流(Data Flow):表示数据对象的顺利或状态发生变化的过程 (举例:选择商品(待支付),订单,确认订单,支付订(已支付)),待发货,已发货,签收订单(待签收))
控制流程图:也叫控制流程图,是一个过程或程序的抽象表现
圈复杂度:
程序中独立路径的数量,可以衡量 一个组件模块的判定结构的复杂程 度
三个公式:
1、圈复杂度=区域数
2、圈复杂度=判定节点+1  (具有判断功能的节点)
3、圈复杂度=边数-节点+2 
 
----------------------------------------------------------------------------------------------------
用例设计方法:

黑盒测试方法:(10种)

 白盒测试方法:(5种)

一、等价类设计用例方法:

等价类:指某个输入域的集合,在集合中各个输 入的条件都是等效的

通常等价类划分为2种情况:
有效等价类:对程序规格说明有意义的、合理 的输入数据 (qq登录成功:账号,密码,都正确)
无效等价类:对程序规格说明无意义的、不合 理的输入数据(登录不成功:1、密码错误,2
账号错误,3、账号和密码多错4、密码为空,5,账号为空)
等价类划分举例:
• 规定了输入值的范围或值的个数(如:0<a<100或输入6-10个字符)
• 输入值为布尔值(如:真或假)
• 规定了输入数据的一组值(如 文化程度:初中、高中、大学)
• 规定了输入规则时,可以划分出一个有效的等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
 
等价类划分的设计用例思路:
1. 找输入条件
2. 为每个输入条件找有效、无效等价类
3. 为每个等价类编号
4. 用最少的用例覆盖最多的有效等价类
5. 每一个无效等价类都是一个用例 (重点)
6. 并非所有有效等价类都有无效
7. 等价类的覆盖可以重复覆盖 (重点)
小结:等价类设计用例覆盖的原则:
1、每个用例尽可能多的覆盖多个有效的等价类 
2、每个用例只能覆盖一个无效等价类

案例:

 

 

 

常见的能够划分等价类的地方:
1. 数值范围  (如:1990-2049年这是范围)
2. 重复次数 (密码错误次数3次)
3. 字符串长度 (6位数字)
4. 字符串组中字符的个数 (已输入最多输入8个汉字)
5. 文件命名(图片上图.png)
6. 文件大小 (  微信上传100m,不能上传)
7. 屏幕的颜色种类(柔和,明亮,)
8. 超时时间 (外卖订单,支付倒计时)

 

边界值设计用例方法:

 例如:

闭区间

设置密码2-8位   (上点:2 , 8)

           内点:3,4,5,6,7

           离点:1,9

开区间

设置密码2-8位   (上点:2 , 8)

           内点:4,5,6

           离点:3,7

 

边界条件分析:
1. 输入条件明确了一个值的取值范围,或规定了值的个数
2. 输入条件明确了一个有序集合
边界值分析原则
1. 如果输入(输出)条件规定了取值范围,则应该 以该范围的边界内及边界附近的值作为测试用例
2. 如果输入(输出)条件规定了值的个数,则用最 大个数,最小个数,比最小个数少一,比最大个 数多一的数作为测试数据
3. 如果程序规格说明中提到的输入或输出是一个有 序集合,应该注意选取有序集合的第一个和最后 一个元素作为测试数据
 
 手机号11位: 上点11位,  10位(1~10),12位
输入金额:100~5000   上点(100,5000)内点(101-4999),离点(99,5001)
 数据的小数点:保留两位小数(上点3.12)(离点3.122)(内点 :3.1)
 
判定表:(主要是组合情况进行设计用例)

 

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

理解:1、 功率大于50马力的机器 和维修记录不全(优先)
2、已运行10年以上的机器(优先)
 2**3=8种
 

 

因果图:

 因果图最终转换成判定表

 举例:恒等:没钱----穷 ,  非:有钱-----穷

 或:有车,有房,有存款,  随便满足一个条件 ,就是有钱

与:有车,有房,有存款  ,满足三个条件,才能算有钱

异E:有存款,有取款 ,两个选择任选一个选择项,只能选择1个

或i:有车,有房,有存款 ,最少有1个选择,不能同时为0

 唯一:有存款,有取款 两个选择任选一个选择项,必须有一个选项为1

要求:有车,有房     ,可以理解为:有车就必须有房,有房必须有车,

强制:有车,有房       可以理解为:经济压力大的时,选择买车就不能买房,买房就不能买车

 最主要把因果关系找出来

案例:

 

我们理解下:

 

 

 理解:

比如:1、第一个条件都为1,是不存在的情况

 2、条件:满足1,2,4 ,中间结果:满足11,12,13,14 ,结果:是23,24

 

重点:

 

案例:

某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解答:
1)    根据题意,原因和结果如下:
             原因:
             1——第一列字符是A;
             2——第一列字符是B;
             3——第二列字符是一数字。
             结果:
             21——修改文件;
             22 ——给出信息L;
             23——给出信息M。
2)    其对应的因果图如下:
11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

原文地址:https://www.cnblogs.com/xiaolehua/p/13944814.html