当前位置: 首页> 技术文章> 用例设计方法之判定表、因果图、正交表等等

用例设计方法之判定表、因果图、正交表等等

用例设计方法之判定表、因果图、正交表等等

深圳多测师小树原创

日期:2019-12-07



黑盒测试:对程序外部进行测试白盒测试:对代码/逻辑结构(内部)进行测试


术语一:
动态测试(dynamic testing):通过运行软件的组件或系统来测试软件 
静态测试(static testing):对组件的规格说明书进行评审,对静态代码进行走查
正式评审(formal review):对评审过程及需求文档的一种特定评审

度量(metric):测量所使用的方法或标准
评审员(reviewer):参与评审的人
记录员(scribe):记录评审会议上的会议纪要


术语二:
复杂性(complexity):系统或组件的设计或内部结构比较复杂,导致难以理解,维护或验证的程度 
圈复杂度(Cycloramic complexity):程序中独立路径的数量。可以衡量一个组件模块的判定结构的复杂程度
控制流(Control Flow):执行组件或系统的一系列顺序的路径 
数据流(Data Flow):表示数据对象的顺利或状态发生变化的过程
技术评审(Technical Review):同行间对技术进行的评审,目的是技术实现达成共识走查(Walkthrough):由文档作者逐步陈述文档内容,以收集信息并对内容达成一致

主要包括三个方面:
1. 控制流图与圈复杂度 
2. 白盒测试技术与黑盒测试技术,基于经验的测试技术
3. 基于WEB的系统测试方法(上一节课已经讲完)


圈复杂度:程序中独立路径的数量,可以衡量一个组件模块的判定结构的复杂程度。 
                 计算对象是结构图或程序图,而程序图又包括控制流图与流程图。


  圈复杂度的三个通用公式:   

1.V=E-N+2(E:结构图的边数 N是节点数)  V(G)=10-7+2=5
 
2.V=区域数

3.V=P+1(P是判定节点数)
判定节点为:1,2,3,4

上图里有几条路径:

1-4-6

1-2-5-6

1-4-5-6

1-2-3-7-6

1-2-3-2-5-6



黑盒测试方法:等价类,边界值,判定表,因果图,正交表,场景法,状态迁移。   *重点!!
白盒测试方法:语句覆盖,判断覆盖,条件覆盖,判断,条件覆盖,路径覆盖(基本路径法,Z路径法)。    *重点!!
经验测试方法:错误推测法,异常分析法,随机测试。




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


等价类分为:有效等价类:对程序规格说明有意义的、合理的输入数据 。
                   无效等价类:对程序规格说明无意义的、不合理的输入数据。
例子:
1个有效等价类[1970,2010]
2个无效等价类(-,1970),(2010,+

边界值:
边界点定义      *重点!!
上点:边界上的点 
离点:离上点最近的点(即上点左右两边最邻近的点) 
内点:在域范围内的点
 



上点:1970,2010
离点:1969,2011
内点:2009


闭区间:[1970,2010]            测四个:1969,1970,2010,2011
开区间:(1970,2010)            测四个:1970,1971,2009,2010
半闭半开:[1970,2010)        测四个:1969,1970,2009,2010
半开半闭:(1970,2010]        测四个:1970,1971,2010,2011


[1970,2010]等价类中的等价是什么?
答:1970,1971,1972,2010都是等价的。



测试用例的模版:
 

HW的用例模版:
用例ID    用例描述  重要级别     预置条件     测试步骤    输入数据(可选)  预期结果(可能有多个)



等价类:有效等价类
             无效等价类
边界值:
上点:边界上的点
离点:离边界最近的点
离点:区间内的点

等价类案例:现有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6位数字字符组成,前4位表示年

后2位表示月,现场编写8个测试用例:

用例数据如下:

有效等价类:
200311
无效等价类:
2000aa
20001
20001212
198808
205808
200000
200013



等价类用例设计思路:
1,并非所有有效等价类一定有效
2,等价类的覆盖可以重复覆盖


接着学习了黑盒测试方法:判定表,因果图,正交表,场景法,状态迁移图。   *重点!!
经验测试方法:错误推测法,异常分析法,随机测试。



一:判定表
判定表定义:分析和表达多逻辑条件下的执行不同操作的情况
 
结构:由4个部分组成 
1)条件桩(condition stub):列出问题的所有条件(通常条件次序无关紧要)
2)条件项(condition entry):列出针对它条件的取值(所有情况下的真假值) 
3)动作桩(action stub):列出问题规定可采取的动作(顺序无约束)
4)动作项(action entry):列出条件各种情况的应采取的动作


创建的步骤:
1)确定规则的个数:若有N个条件,每一个条件下有2个值,则有2^n种规则。 
2)列出所有条件桩与动作桩。 
3)输入条件项。
4)输入动作项得到初始判定表。
5)简化(合并相似规则)。 
6)编写测试用例。


例子:以12306登入写出判定表! *重点!!
 


*每一个条件真假取值的组合
每一个竖向都是一个用例


  C21*C21*C21  (阶乘算法)     0的阶乘为“1”
=2*2* 
=8种排列组合


  C31(1真2假)+C32(2真1假)+C33(全为真)+C33(全为假)
=3+3+1+1
=8 
注:也可用Web页面需要填写的信息资料来进行测试[8-10个字段]
如:姓名,出生年月,手机号,QQ号等..


二:因果图
因果图定义:提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中,原因是表示输入条件
结果是对输入执行的一系列计算后得到的输出。因果图方法最终生成的就是判定表。
*做题时优先选择因果图


因果图逻辑关系:
或:或者,要么,或许,还有,OR,/,V,||
与:和,且,and, ^ ,& ,&&(地址符)
非:不是,否,no,not,~
等于:=(赋值符),a=a+1(把a+1的值赋值给"a")
不等于:< >,!=


因果图案例:
一个处理单价为5角钱的饮料的自动售货机。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,
则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币
也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 
条件桩为:1,售货机有零钱
2,投入1元硬币
3,投入5毛硬币
4,按下橙汁按钮
5,按下啤酒按钮

 
   C55+C51+C52+C53+C54+C55

=1+5+10+10+5+1
=32种排列组合


列子:a.b.c是“与”的关系,但是其中a与b是“异”的关系,d与a.b.c是或的关系,那么a&c/d为真的情况有几种?
   C33+C31+C32+C33
=1+3+3+1
=8




因为a与b是“异”的关系,a,b不能同时为“0”或“1”,所以排除111 ,001,110,000
最后剩下5种结果:
10/1
00/1
11/1
01/1
11/0

  因果图的4种基本关系:
1)恒等:c1=1                    则e1=1     否则e1=0
2)  非:c1=1                     则e1=0     否则e1=1
3)或:c1或c2或c3=1       则e1=1    否则e1=0    (7种真)
4)与:c1和c2=1              则e1=1    否则e1=0


E约束(异):a和b中最多有一个可能为1,即a和b不能同时为"1"
I约束(或):a.b.c中至少有一个必须为1,即a.b.c不能同时为“0”



三:正交表

正交表特点:

1)正交表当中必须有一行为全真或全假。

2)整齐可比性:同一个正交表当中,每一个因素每一个水平出现的次数要相同。

3)均衡分散性:在同一张正交表中,任意俩列(俩个因素)的水平搭配(横向形成的数字对)是完全相同的。

4)正交表行数的确定:选取比例数大且最接近的偶数,

    a,列数为奇数,则行数=列数+1  

    b,列数为偶数,则行数=列数+2

5)正交表中的一行为一条用例,必须要增加全真或全假的用例,当我们写用例的时候当表中只有全真那一行的时候,则最后增加全假的那条用例,反之亦然。

例子:
     



需要了解更多技术和获取更多免费技术视频的可以微信我(15367499889)或者加入我们多测师的技术交流群:

关注我们多测师的微信公众号定期获得福利哦!!!

upfile1583500570164.png                       upfile1583500583471.png   


更多免费软件测试和python、Java开发、大数据和人工智能的学习资料就在多测师官网地址:http://www.duoceshi.cn

加入我们只需要三个月就可以月薪上万!!!

upfile1583500745149.png


上一篇: 深圳多测师45班

下一篇: 软件测试之手工测试人员如何转测试开发?

QQ技术交流群

多测师官方学习交流
556733550

加入群聊