因果图法、判定表法

一、 应用场合

在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果,如果想弄清楚不同的输入组合到底对应哪些输出结果,可以使用因果图/判定表法。(提示:因果图/判定表法比较适合测试组合数量较少的情况,一般少于20种;如果组合数量过大,可以使用正交排列法)

二、因果图

  • 因(原因):输入条件

  • 果(结果):输出结果

因果图:就是通过画图的方式来表示输入条件(因)和输出结果(果)之间的关系。

  • 基本图形符号-表达的是因和果之间的关系
    • 恒等、与、或、非
  • 限制图形符号-表达的是因之间和果之间的限制
    • 互斥、唯一、包含、要求、屏蔽

三、因果图中的图形符号

1、基本图形符号表示的是因与果之间的关系

1)恒等

如果a=1,那么b=1

如果a=0,那么b=0
在这里插入图片描述

2)与

与的含义:只有所有条件都为1时,结果为1,有任何一个条件为0(或者所有条件为0)那么结果为0.

简化:全1为1,有0为0

分析过程如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NVcS40Pj-1617102627469)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps2.jpg)]

与的图形符号:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yUZWlt7o-1617102627471)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps3.jpg)]

3)或(了解)

或的含义:只有所有条件都为0时,结果为0,有任何1个条件为1(或者所有条件为1)时,结果为1

简化:全0为0,有1为1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9h4kdvAZ-1617102627472)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps4.jpg)]

或的关系图形符号:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-haz9sqSt-1617102627473)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps5.jpg)]

3)非:取反

如果a=1,那么b=0

如果a=0,那么b=1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-omwFPnHr-1617102627475)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps6.jpg)]

2、限制关系图形符号

  • 限制关系图形要么在因(输入条件)之间,要么在果(输出结果)之间。

    • 1) 互斥(E-exclude)含义:可以不选,如果选只能选1个

    • 2) 唯一(O-Only) 含义:有且只有1个(必须要选,而且只能选1个)

      • 唯一和互斥的区别:互斥可以不选;唯一必须要选1个

在这里插入图片描述

  • 3) 包含(I-include)

    • 含义:至少选1个(可以多选,不能不选,最少得选1个)

在这里插入图片描述

  • 4) 要求(R-required)

    • 含义:如果a=1 那么要求b必须是1,反之如果a=0,那么b值无所谓

在这里插入图片描述

  • 5) 屏蔽(M-masked)

    含义:当a=1时,b=0

    当a=0,b的值有可能是1,也有可能是0

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZogmMvfh-1617102627475)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps11.jpg)]

四、测试步骤

被测程序:交通一卡通充值模拟系统

步骤1:了解需求,找出所有的输入条件(因)

1) 投币50元

2) 投币100元

3) 充值50元

4) 充值100元

步骤2:找出所有的输出结果(果)

A) 成功充值并退卡

B) 找零

C) 错误提示并退卡

将因和果填入《判定表》中

步骤3:找出输入条件之间的组合和限制关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWeqHETX-1617102627476)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps12.jpg)]

步骤4:明确不同的输入组合会产生怎样的输出结果,画因果图,填判定表。(在实际工作中可以只填判定表,不画因果图)

四、测试步骤

  • 步骤1:分析需求,找出所有的输入条件

  • 步骤2:找出所有的输出结果

  • 步骤3:找出输入条件中的所有组合和限制关系

  • 步骤4:明确每种输入组合对应的输出结果,填判定表,画因果图(熟练后,画因果图可以省略)

    • 说明:
      • 画因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。但是有时画因果图比较麻烦,影响测试效率,所以在应用熟练之后,可以省略画因果图直接填判定表,进而编写测试用例。
      • 判定表的缺点:判定表中输入条件的限制关系不好体现。
        • 如何解决:可以在判定表中添加备注,将限制关系写入备注部分。
  • 步骤5:根据判定表,编写测试用例

    • 每1列表示1种组合,写1条用例
  • 问题:编写测试用例可以参考什么?

    • 需求
    • 设计(开发)文档
    • 已经开发出来的被测程序
    • 通过和产品经理、开发人员、客户等沟通

五、总结:

  • 1、因果图/判定表适合测试控件的组合情况,而且适合测试组合数量比较少的情况。常见的控件有:按钮(按/不按),单选按钮(选/不选),复选框(选/不选),选项较少的下拉列表等

  • 2、判定表的特点:

    • 1)输入条件的顺序是无关紧要的
    • 2)输出结果的顺序是无关紧要的
    • 3)先测哪种组合,后测哪种组合是无关紧要的
    • 4)每种组合之间是相互独立的
  • 3、介绍判定表的组成项:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-99Ywtrma-1617102627476)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml8180\wps1.jpg)]

六、 多种测试方法的综合应用

6.1 案例:《工资发放系统》

说明:在实际工作中,通常一个功能,是需要2-4种测试方法综合测试才能完成的。

6.2 测试步骤:

  • 步骤1:根据需求和控件特点,分析每组(每个)控件,要使用什么测试方法。(要求:熟练掌握每种测试方法的应用场合,分析,判定使用什么测试方法)

    • 1)“基本信息”部分
      • 使用方法:等价类+边界值
    • 2)“扣款比例”部分
      • 使用方法:判定表法
  • 步骤2:使用相应的测试方法,对每组(每个)控件进行单独的方法分析。将分析结果填入相应的表格。(要求:每种测试方法能够熟练应用。)

    • 1) 基本信息部分
      • 将分析结果填入《数据分析表》
    • 2) 扣款比例部分
      • 将分析结果填入《判定表》中
  • 步骤3:分析所有的数据结果,形成较为完善的测试思路,编写测试用例。

    • 思路:
      • 首先:判定表(8种组合)+3个文本框的有效数据 组合测试
      • 接下来:每个文本框的无效数据要单独测试(避免屏蔽现象)
      • 最后:3个文本框的无效数据组合测试—适当强化
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
工资发放系统 某公司按月给其雇员发放工资,该公司有4种雇员:  固定薪金的雇员:不管工作多长时间,总拿固定月薪;(但如果请假,要扣除相应的薪金,请假次数×每次扣除金额30)  小时工:以小时计算,加上加班费;(每月基本工作时间为160小时,其余为加班时间)  销售员:按销售收入提成计算;(每月基本销售额度为30000元,低于此额度,在月薪里扣除少于30000部分的千分之二)  带薪销售员:底薪加上销售收入提成(要求同上,若有请假,也要扣除相应的薪金) 如果雇员的生日所在的月份在本月,那么公司无条件补贴200元。 设计一工资发放系统,完成各种工资的计算,并实现以下功能: 1) 初始化系统 创建存储该公司职工信息的存储系统(Employee.dat),并进行职工信息的输入,注意:公司的职工编号由系统按顺序自动生成,并且员工号一旦分配好就不可以再修改! 第一次运行系统,根据系统提示从键盘输入员工的相应信息进行初始化操作,并保存至Employee.dat文件中。以后每次运行程序,初始化时都从文件Employee.dat中读取员工数据即可。 2) 职工信息输出 要求可以输出: 某类职工当月的薪水发放信息 分类输出全体职工当月的薪水发放信息 某一名职工当月的薪水发放信息 格式如下: ******************************** 固定薪金职员********************************* 编号 姓名 出生年月 工种 奖励薪金 固定月薪 请假天数 应扣 实发工资 是否领取 **********************************计时职员*********************************** 编号 姓名 出生年月 工种 奖励薪金 工作时长 时薪 加班时长 实发工资 是否领取 **********************************普通销售员*********************************** 编号 姓名 出生年月 工种 奖励薪金 销售额 提成比例 应扣 实发工资 是否领取*********************************带薪销售员************************************ 编号 姓名出生年月工种奖励薪金固定月薪销售额提成比例请假天数应扣实发工资是否领取 3) 添加职工 通过键盘输入相应的职工信息,添加职工,并保存至Employee.dat文件中。 4) 删除职工 通过输入职工的工号,首先输出要删除的职工相应的信息,经确认后删除,要考虑职工不存在的情况。删除后保存至Employee.dat文件中。 5) 修改信息 要求可以修改: 除编号外的所有职工信息,包括工种以及由修改工种带来的各项操作 修改某一类工种的信息,如销售人员的提成比例,统一提高0.05; 输出修改前的职工信息,经确认后修改后,输出修改后的职工信息,考虑职工不存在的情况,修改后保存至Employee.dat文件中。 6) 工资发放 通过输入职工号方式,输出查询到的职工相应的信息,经确认发放工资,将员工是否领取工资信息设置为是(即真),考虑所要查询的职工编号不存在和已经发放过工资的情况。 7) 保存退出 通过确认,保存修改的信息至文件Employee.dat中,退出系统,结束运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值