编写测试用例方法—-因果图&判定表

编写测试用例方法—-因果图&判定表因果图:一、应用场合       在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法。 二、因果图核心1、因—-原因,输入条件2、果—-结果,输出结果使用图形的方式,分析软件输入和输出的对应关系。 三、图形符号1、基本图形    表示输入和输出的对应关系(1)恒等(-)Ⓐ(输入、因…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

因果图:

一、应用场合

       在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法。

 

二、因果图核心

1、因—-原因,输入条件

2、果—-结果,输出结果

使用图形的方式,分析软件输入和输出的对应关系。

 

三、图形符号

1、基本图形

    表示输入和输出的对应关系

(1)恒等(–)Ⓐ(输入、因) Ⓑ(输出、果)   

若a=1,则b=1

若a=0,则b=0

编写测试用例方法----因果图&判定表

(2)非(~)Ⓐ(输入、因) Ⓑ(输出、果)    

若a=1,则b=0

若a=0,则b=1

编写测试用例方法----因果图&判定表

(3)或(V)

编写测试用例方法----因果图&判定表

若a=1,或b=1,或c=1,则d=1

若a=b=c=0,则d=0

(4)与(^)

编写测试用例方法----因果图&判定表

若a=b=c=1,则d=1

若a=0或b=0或c=0,则d=0

 

2、约束(限制条件)图形

要不然单独限制输入,要不然单独限制输出

(1)互斥(E)

编写测试用例方法----因果图&判定表

a、b、c不同时为1,则a,b,c中至多只有一个1

(2)包含(I)

编写测试用例方法----因果图&判定表

a、b、c至少有一个1,则a,b,c中不能同时为0

(3)唯一(O)

编写测试用例方法----因果图&判定表

a、b、c中必须有一个成立,且仅有一个成立(有且只有一个1)

说明:

唯一(O)的情况是有一个默认值;而互斥(E)没有默认值

(4)要求(R)

编写测试用例方法----因果图&判定表

若a=1,则b必须为1。即不可能a=1且b=0

(5)屏蔽(M)

编写测试用例方法----因果图&判定表

若a=1,则b必须为0;而当a为0时,b的值不定

 

四、使用因果图法分析程序

例子:

交通一卡通自动充值软件系统需求

系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额只能为50元或100元。
若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;

若选择充值按钮后不输入纸币,提示错误


1、找出所有的原因(输入),编号

    (1)投币50元

    (2)投币100元

    (3)充值50元

    (4)充值100元


2、找出所有的结果(输出),编号

    A、充值成功并退卡

    B、提示充值成功

    C、找零

    D、提示错误

步骤1、2就是初步分析需求。

 

3、在步骤1的基础上,找到输入的限制关系和组合关系

(1)、限制关系(哪些输入不能组合)

        1)输入(1)和(2)不能(互斥)

        2)输入(3)和(4)不能(互斥)

画出限制关系因果图

                编写测试用例方法----因果图&判定表因

(2)、组合关系(决定测试用例的数量)

        1)输入(1)和(3)组合

        2)输入(1)和(4)组合

        3)输入(2)和(3)组合

        4)输入(2)和(4)组合

        5)输入(1)单独

        6)输入(2)单独

        7)输入(3)单独

        8)输入(4)单独


4、在步骤2的基础上,找到输出的限制关系和组合关系

 (1)限制关系

        1)输出A和D不能(互斥)

        2)输出B和D不能(互斥)

画出限制关系因果图

                编写测试用例方法----因果图&判定表    

 

(2)组合关系

        1)输出A和B必须组合

        2)输出A、B、C组合

        3)输出C和D组合

        4)输出D单独

步骤3、4是深入分析需求的过程


5、找到输入组合和输出组合的对应关系(什么样的输入组合会产生什么样的输出组合)—–依据步骤3(2)和4(2)

情况1:

输入(1)和(3)组合

会产生:

输出A和B的组合


画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况2:

输入(1)和(4)组合

会产生:

输出C和D的组合

 

画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况3:

输入(2)和(3)组合

会产生:

输出A和B和C的组合


画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况4

输入(2)和(4)组合

会产生:

输出A和B的组合

 

画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况5:

输入(1)单独

会产生:

输出C和D的组合

 

画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况6:

输入(2)单独

会产生:

输出C和D的组合

 

画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况7:

输入(3)单独

会产生:

输出D


画出因果图:

编写测试用例方法----因果图&判定表

==========================================================

情况8:

输入(4)单独

会产生:

输出D

 

画出因果图:

编写测试用例方法----因果图&判定表

 

6、根据因果图,画出判定表

                       编写测试用例方法----因果图&判定表  

7、根据判定表编写用例

把判定表的一列转换成一条用例

 编写测试用例方法----因果图&判定表


五、因果图法的局限性

  每个控件的条件(或取值)最好为2个或3个,比如:按钮按下或不按下;复选框选择还是不选择;单选按钮选还是不选;有三个选项的下拉列表。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170412.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DHCP协议详解

    DHCP协议详解文章目录什么是DHCPDHCP协议DHCP报文种类DHCP报文格式DHCP工作流程IP地址分配方式租约表工作流程服务器处理流程什么是DHCPDHCP(DynamicHostConfigurationProtocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局…

    2022年5月10日
  • phpstorm 激活码生成【最新永久激活】2022.02.28

    (phpstorm 激活码生成)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
  • dojo加载树错误

    dojo加载树错误

    2022年1月8日
  • js数组转对象的方法_js json对象转换成数组

    js数组转对象的方法_js json对象转换成数组记录将数组转成对象方法letarray=[1,2,3,4,5];letobj={};obj=(Object.assign({},array)console.log(obj);//{1,2,3,4,5}

    2022年9月11日
  • Kettle实战视频教程

    Kettle实战视频教程呕心沥血制作的kettle视频教程,免费提供给大家,只要学不死,就往死里学,加油吧少年学完本课程,您将掌握:掌握kettle的基础知识,进阶知识和实际工作中的各种情况适合人群:1、熟悉数据库,想学习ETL的同学,想快速提升竞争力的ETL工程师2、运维相关工作人员课程目标:能够掌握实际工作中遇到的迁移和业务各种实际工作内容课程简介:1、本教程不是单纯的各种控件进行逐个讲解2、所有知识点均全部为项目实战的介绍和总结3、单表和全表所有的同步4、本视频由浅入深,再由深入浅,循序渐进逐步

    2022年5月23日
  • 字长为32位的计算机是指_微机的字长是4个字节

    字长为32位的计算机是指_微机的字长是4个字节2019-07-1932位计算机中,一个字长等于32位,一个字节是8位,所以从长度来说一个字长等于4个字节。字长简介:在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是在同一时间内处理字长为32位的二进制数据。二进制的每一个0或1是组成二进制的最小单位,称为位(bit)。字长:一般说来,计算机在同一时间内处理的一组二进制数称为一个计算机的“字”…

    2022年9月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号