实验三 黑盒测试—决策表法、因果图法

实验三  黑盒测试—决策表法、因果图法
实验三  黑盒测试—决策表法、因果图法

实验3、黑盒测试:决策表法、因果图法及测试用例设计

一、实验目的

1、掌握决策表法、因果图的概念。

2、掌握决策表法、因果图测试用例设计法。

二、实验内容

有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:

若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

用程序模拟该自动售货机(注:用屏幕输入、输出来模拟售货机的动作),然后用因果图法测试该程序。

三、实验步骤:

1)分析原因与结果

2)画出因果图

3)转化为决策表

4)根据决策表设计测试用例,得到测试用例表

代码:

#include

main(){

float i;

char j;

printf("请投入硬币:\n");

scanf("%f",&i);

printf("请选择所需饮料:\na:橙汁 or b:啤酒\n");

scanf("%s",&j);

if(i==0.5){

printf("出货成功");

}

else{

printf("找零%.2f元\n出货成功",i-0.5);

}

}

答:

因果图法

测试用例设计—因果图法 1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 2.因果图介绍 图例说明 1、4种符号分别表示了规格说明中向4种因果关系。如图2-1所示。

图2-1 因果图关系 2、因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci 和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。 因果图概念 1、关系(图2-1 因果图关系) ①恒等:若ci是1,则ei也是1;否则ei为0。 ②非:若ci是1,则ei是0;否则ei是1。 ③或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。

④与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。 2、约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。如图2-2所示。 图2-2因果图约束 A.输入条件的约束有以下4类: ① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。

因果图分析法研究与实现

因果图分析法研究与实现 因果图分析法是编写测试用例的重要方法之一,属于黑盒测试的范畴。因果图分析法原理简单,步骤明确,应用广泛。但目前诸多参考教材对于该方法的介绍基本都采用了相对复杂而且相类似的实例,对学习者来说有一定的困难。结合多年软件测试用例设计的经验,在实践的前提下,就因果图分析法设计测试用例给出了详尽的介绍,特别是针对因果图转换成判定表这一步骤,提出了明确简洁的转换办法并结合浅显易懂的实例加以实现,从而进一步简化了因果图分析法的应用,也为广大学习者提供了一定的参考价值。 标签:黑盒测试;测试用例;因果图;判定表 1引言 随着软件质量受重视程度的日益增加,软件测试在国内软件项目开发中也越来越受重视,并得以迅速发展,而测试用例是软件测试全部过程的核心,是测试执行环节的基本依据。因果图分析法是设计测试用例的重要方法之一,它属于黑盒测试的范畴。因果图分析法原理简单,步骤明确,但由于目前诸多参考教材对于该方法的介绍基本都采用了相对复杂实例,特别当把因果图转换成判定表这一步骤,目前还没有提出过明确性的方法,所有的实例都是直接给出答案,而没有解释方法,这样就给学习者在理解上造成一定的困难,本文在教学实践前提下,就因果图如何转换为判定表提出了一种简易可行的方法,并结合实例加以实现。 2方法介绍 2.1因果图定义 因果图(cause effect graphics)是一种形式化语言,是一种组合逻辑网络图。它是把输入条件视为“因”,把输出或程序状态的改变视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。因果图法的基本原理是通过因果图,把用自然语言描述的功能说明转换为判定表,然后为判定表的每一列设计一个测试用例。 2.2产生背景 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图。因果图法是一种帮助人们系统地选择一组高效率测试用例的方法。

鱼骨图分析法(完整篇)

编号:SY-AQ-01646 ( 安全管理) 单位:_____________________ 审批:_____________________ 日期:_____________________ WORD文档/ A4打印/ 可编辑 鱼骨图分析法(完整篇) Fishbone diagram analysis

鱼骨图分析法(完整篇) 导语:进行安全管理的目的是预防、消灭事故,防止或消除事故伤害,保护劳动者的安全与健康。在安全管理的四项主要内容中,虽然都是为了达到安全管理的目的,但是对生产因素状态的控制,与安全管理目的关系更直接,显得更为突出。 鱼骨分析法是咨询人员进行因果分析时经常采用的一种方法,其特点是简捷实用,比较直观。现以上面提到的某炼油厂情况作为实例,采用鱼骨分析法对其市场营销题进行解析。 鱼骨分析法简介 鱼骨图是由日本管理大师石川馨先生所发展出来的,故又名石川图。鱼骨图是一种发现问题“根本原因”的方法,它也可以称之为“因果图”。鱼骨图原本用于质量管理。 问题的特性总是受到一些因素的影响,我们通过头脑风暴找出这些因素,并将它们与特性值一起,按相互关联性整理而成的层次分明、条理清楚,并标出重要因素的图形就叫特性要因图。因其形状如鱼骨,所以又叫鱼骨图(以下称鱼骨图),它是一种透过现象看本质的分析方法。 头脑风暴法(BrainStorming——BS):一种通过集思广益、

发挥团体智慧,从各种不同角度找出问题所有原因或构成要素的会议方法。BS有四大原则:严禁批评、自由奔放、多多益善、搭便车。 鱼骨图的三种类型 A、整理问题型鱼骨图(各要素与特性值间不存在原因关系,而是结构构成关系) B、原因型鱼骨图(鱼头在右,特性值通常以“为什么……”来写) C、对策型鱼骨图(鱼头在左,特性值通常以“如何提高/改善……”来写) 鱼骨图制作 制作鱼骨图分两个步骤:分析问题原因/结构、绘制鱼骨图。 1、分析问题原因/结构。 A、针对问题点,选择层别方法(如人机料法环等)。 B、按头脑风暴分别对各层别类别找出所有可能原因(因素)。 C、将找出的各要素进行归类、整理,明确其从属关系。 D、分析选取重要因素。

测试用例设计方法之因果图法

测试用例设计方法之因果图法 (一)因果图法的来源 大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等; 但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例; 因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。(二)因果图法的特点 考虑输入条件间的组合关系; 考虑输出条件对输入条件的信赖关系,即因果关系; 测试用例发现错误的效率高; 能检查出功能说明中的某些不一致或遗漏; 因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。 (三)因果图法基本步骤 1.分割功能说明书 对于规模比较大的程序来说,由于输入条件的组合数太大,所以很难整体上使用一个因果图。我们可以把它划分为若干部分,然后分别对每个部分使用因果图。例如,测试编译程序时,可以把每个语句作为一个部分。 2.识别出“原因”和“结果”,并加以编号 所谓原因,是指输入条件或输入条件的等价类;而结果则是指输出条件或输出条件的等价类。每个原因或结果都对应于因果图中的一个节点。当原因或结果成立(或出现)时,相应的节点取值为1,否则为0。 例如,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下: 若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

分析这一段说明,我们可以列出原因和结果。 原因如下: ?投入1元硬币; ?投入5角硬币; ?按下“橙汁”按钮; ?按下“啤酒”按钮 结果 ?退还5角钱; ?送出“橙汁”饮料; ?送出“啤酒”饮料 3.根据功能说明书中规定的原因和结果之间的关系画出因果图 因果图的基本符号如图1所示: 1.因果图的基本符号 图中左边的节点表示原因,右边的节点表示结果。恒等、非、或、与的含义: ?恒等:若a=1,则b=1;若a=0,则b=0; ?非:若a=1,则b=0,若a=0,则b=1; ?或:若a=1或b=1或c=1,则d=1;若a= b= c=0,则d=0; ?与:若a= b= c=1,则d=1;若a=0或b=0或c=0,则d=0。 画因果图时,原因在左,结果在右,由上而下排列,并根据功能说明书中规定的原因和结果之间的关系,用上述基本符号连接起来。在因果图中还可以引入一些中间节点。

鱼骨图分析法(又名因果图)

鱼骨图Cause & Effect/Fishbone Diagram 第1章概念与来源 鱼骨图又名特性因素图是由日本管理大师石川馨先生所发展出来的,故又名石川图。鱼骨图是一种发现问题“根本原因”的方法,它也可以称之为“因果图”。鱼骨图原本用于质量管理。 问题的特性总是受到一些因素的影响,我们通过头脑风暴找出这些因素,并将它们与特性值一起,按相互关联性整理而成的层次分明、条理清楚,并标出重要因素的图形就叫特性要因图。因其形状如鱼骨,所以又叫鱼骨图(以下称鱼骨图),它是一种透过现象看本质的分析方法,又叫因果分析图。同时,鱼骨图也用在生产中,来形象地表示生产车间的流程。下图为鱼骨图基本结构: 一般可转化为三种类型: A、整理问题型鱼骨图(各要素与特性值间不存在原因关系,而是结构构成关系,对问题进行结构化整理) B、原因型鱼骨图(鱼头在右,特性值通常以“为什么……”来写) C、对策型鱼骨图(鱼头在左,特性值通常以“如何提高/改善……”来写) 第2章应用场景 鱼骨图常用于查找问题的根因时使用,如对于现场客户的需求进行分析整理时可使用该工具分析用户的本质需求。 第3章使用步骤 制作鱼骨图分两个步骤:分析问题原因/结构、绘制鱼骨图。 分析问题原因/结构

A、针对问题点,选择层别方法(如人机料法环测量等)。 B、按头脑风暴分别对各层别类别找出所有可能原因(因素)。 C、将找出的各要素进行归类、整理,明确其从属关系。 D、分析选取重要因素。 E、检查各要素的描述方法,确保语法简明、意思明确。 分析要点: a、确定大要因(大骨)时,现场作业一般从“人机料法环”着手,管理类问题一般从“人事时地物”层别,应视具体情况决定; b、大要因必须用中性词描述(不说明好坏),中、小要因必须使用价值判断(如…不良); c、脑力激荡时,应尽可能多而全地找出所有可能原因,而不仅限于自己能完全掌控或正在执行的内容。对人的原因,宜从行动而非思想态度面着手分析; d、中要因跟特性值、小要因跟中要因间有直接的原因-问题关系,小要因应分析至可以直接下对策; e、如果某种原因可同时归属于两种或两种以上因素,请以关联性最强者为准(必要时考虑三现主义:即现时到现场看现物,通过相对条件的比较,找出相关性最强的要因归类。) f、选取重要原因时,不要超过7项,且应标识在最未端原因; 绘制鱼骨图 鱼骨图做图过程一般由以下几步组成: 1.由问题的负责人召集与问题有关的人员组成一个工作组(work group),该组成员必须对问题有一定深度的了解。 2.问题的负责人将拟找出原因的问题写在黑板或白纸右边的一个三角形的框内,并在其尾部引出一条水平直线,该线称为鱼脊。 3.工作组成员在鱼脊上画出与鱼脊成45°角的直线,并在其上标出引起问题的主要原因,这些成45°角的直线称为大骨。 4.对引起问题的原因进一步细化,画出中骨、小骨……,尽可能列出所有原因 5.对鱼骨图进行优化整理。 6.根据鱼骨图进行讨论。完整的鱼骨图如图2所示,由于鱼骨图不以数值来表示,并处理问题,而是通过整理问题与它的原因的层次来标明关系,因此,能很好的描述定性问题。鱼骨图的实施要求工作组负责人(即进行企业诊断的专家)有丰富的指导经验,整个过程负责人尽可能为工作组成员创造友好、平等、宽松的讨论环境,使每个成员的意见都能完全表达,同时保证鱼骨图正确做出,即防止工作组成员将原因、现象、对策互相混淆,并保证鱼骨图层次清晰。负责人不对问题发表任何看法,也不能对工作组成员进行任何诱导。 鱼骨图使用步骤 (1)查找要解决的问题; (2)把问题写在鱼骨的头上; (3)召集同事共同讨论问题出现的可能原因,尽可能多地找出问题; (4)把相同的问题分组,在鱼骨上标出; (5)根据不同问题征求大家的意见,总结出正确的原因;

5M因素法(鱼骨图)分析案例

运用5M因素法(鱼骨图)分析及解决问题的实际操作案例 背景:某民营房地产集团公司下属商贸分公司,在自有房产基础上经营有超市5家, 经营业种以生鲜食品、传统食品、日用日化为主,总营业面积10000平方米;百货一家, 主要经营业种为服装针织、皮具、皮鞋、化妆品,小吃,营业面积4500平方米;正在筹备 中的购物中心18000平方米。 问题1 :经过统计商贸公司2001年9月一2002年3月的销售,总体毛利率为不到8%,注意:此毛利率是在公司无低毛利的家电以及百货毛利率近20%的基础上产生的总体毛利 率,相对于市场状况以及竞争对手来讲,此毛利率偏低,从中反映了占销售比重近80%的超市经营毛利不正常。 问题2 :经过进一步的市场调查,针对超市每个业种安排如下数量的市调(按销售数量排名),得出以下数据比较: 注:甲连锁店为一国营零售企业,在本地有34家连锁店,拥有诸多食品、日化产品的代理批发权; 乙连锁店为一民营连锁零售企业,现有18家分店,拥有部分食品、日化产品的批发代理权; 丙为一家200平方米左右的便利店; 将市调数据经过进一步分析,发现价格问题----[b]我司进价比竞争对手售价高[/h]的情况如下(先忽略在正常供价基础上零售价格异常状况): 感觉到问题的严重性,公司紧急召开了采购人员的专项会议,要求在规定时间内(一周) 针对以上问题各采购主任做出解释并及时与供应商进行谈判,希望能得到实质性的解决。

一周过去了,供价问题依然没有得到明显的改善,高出比例依然居高不下。总结各采购主任的解释,主要如下: 1、甲、乙对手拥有诸多敏感商品的控制权,近水楼台先得月,人家有权利及有实力去进行降价; 2、公司政策对于供应商的通道利润要求过高,厂商在无奈情况下,只有提高供价,保持其基本利润,如果要求供应商降价,只有舍弃部分通道利润才可行; 3、公司要求的经营方式过于呆板,竞争对手部分商品是从批发市场上进行铲货来冲击市场,而公司没有此先例,都是以正常方式进行经营; 4、公司的付款方式问题:由于现金进货与押款进货的供价有区别,但是公司最低的付款要求为7 天付款,因此在价格上没有办法降低; 5、竞争对手的恶意竞争行为:牺牲利润,亏本赚吆喝; 6、人手不够,杂事多,没有办法集中时间与精力与供应商谈判。 针对以上解释,公司明确回复:如果在有把握的情况下,以上由于公司自身原因造成的供价高的问题,可以放宽尺度与供应商进行交涉。 但是,一周时间过去了,问题仍然没有得到改善。 真的就是以上问题造成的吗?是主要的原因呢还是有其他的原因? 没有过多的责怪各采购主任,在随后的中层干部例会上,我将此问题谈了出来,然后让大家了解了什么是鱼骨图分析法(5M 因素分析法),希望通过大家的理解来讨论这个问题产生的根源所在,主要问题主要出现在哪些环节,哪些是需要重点解决的问题,哪些是虽然是先天的因素,但是可以通过努力去改进的环节,哪些是虽然由于条件的限制暂时不能改进但是可以通过改进其他问题予以弥补的问题。 5M 因素包括人、机、料、法、环5 个方面,“人”指的是造成问题产生人为的因素有哪些;“机”通俗一点就象战斗的武器,通指软、硬件条件对于事件的影响;“料”就如武器所用的子弹,指基础的准备以及物料;“法” 与事件相关的方式与方法问题是否正确有效;“环” 指的是内外部环境因素的影响。 5 个方面就象鱼的“主刺”一样,每个主刺上还有很多的小刺,这些小刺就是与主刺相关的问题,来构成了一条难以下咽的鱼骨头,如果不拔掉,一不小心就会卡住喉咙,让人痛苦不堪。

以中国象棋中走马的测试用例设计为例学习因果图的使用方法

以中国象棋中走马的测试用例设计为例学习因果图的使用方法。 分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明) 1如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5、如果不属于1-4条,且落点处无棋子,则移动棋子; 6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。原因:结果: 1、落点在棋盘上; 2、落点与起点构成日字; 3、落点处为自己方棋子; 4、落点方向的邻近交叉点无棋子; 5、落点处无棋子; 6、洛点处为对方棋子(非老将); 7、洛点处为对方老将。21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子,并提示战胜对方,结束游戏。 L2345678 111110000 2]101I00 3L3101c10 11111100 2200001 2101000 23(.1010] 测试 用例 A3 A8 AR A? R5 B4 RN ur Cl X6 SD PS 考虑结果不能同时发生,所以对其施加唯一约束施加异约束E。 根据因果图建立判定表:(分为两表)0。原因5、6、7不能同时发生,所以对其 添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表

注:1、以上判定表中由于表格大小限制没有列出最后所选的测试用例;2、第2表中部分列被合并表示不可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。减少工 作量。 四、根据判定表写测试用例表(略)

因果图判定表

第五讲因果图和判定表 1、因果图适用场合 在一个界面里有多个控件,如果控件之间有组合或者限制关系,不同控件组合会产生不同的输出结果,为了弄清楚不同的输入组合会产生怎样的输出结果,就可以使用因果图(适合测试组合量少的一般情况少于20种,如果超过20种组合,一般就考虑正交排列法) 2、因果图核心概念: 因(原因):指的是输入条件 果(结果):指的是输出结果 因果图法:通过画图的方式表达输入条件和输出条件之间的关系3、图形符号 1)基本的图形符号 说明:输入和输出之间的关系用基本图形符号表示 A=1那么B=1,如果A=0那么B=0,恒等就是

B、与:若几个输入条件都满足,结果才出现 C、或 复习:全0位0,有1出1。 理解:输入条件中有一个条件满足结果就出现,只有所有输入条件都不满足,结果不出现 D非(用的少,了解) 例如A=1,那么B=0 2)限制(约束)图形符号。

说明:要么限制的是同为输出条件,要么限制的都是输出条件,互斥(E-exclude) 说明:如果选只能选1个,但可以不选 2)唯一(o-only) 说明:必须要选,只能选一个 唯一和互斥的区别:相似之处,必须选一个,不同之处互斥可以不用选, 3)包含(I—include)

说明:至少有一个被选中(支持多选) 4)要求(R-required) 说明:如果A=1,那么要求B=1,反之如果A=0,B就无所谓了(结合自动登录的案例) 5)屏蔽(M-masked) 说明:当A=1时,b必须是0,反之A=0时,b的值就不一定 二、因果图的操作步骤 1、找出所有的输入条件(因) 投币50元 投币100元

因果图分析法实例讲解

因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑 输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或 称原因),右结点表示输出状态(或称结果)。 ci 表示原因,通常置于图的左部;ei 表示结果,通常在图的右部。ci 和ei 均可取值0 或1,0表示某状态不出现,1表示某状态出现。 4种符号分别表示了规格说明中向4种因果关系。如上图所示。 ①恒等:若ci 是1,则ei 也是1;否则ei 为0。 ②非:若ci 是1,则ei 是0;否则ei 是1。 ③或:若c1或c2或c3是1,则ei 是1;否则ei 为0。“或”可有任意个输入。 ④与:若c1和c2都是1,则ei 为1;否则ei 为0。“与”也可有任意个输入。 因果图概念--约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。 A.输入条件的约束有以下4类: ① E 约束(异):a 和b 中至多有一个可能为1,即a 和b 不能同时为1。 ② I 约束(或):a 、b 和c 中至少有一个必须是1,即 a 、b 和c 不能同时为0。 ③ O 约束(唯一);a 和b 必须有一个,且仅有1个为1。 ④R 约束(要求):a 是1时,b 必须是1,即不可能a 是1时b 是0。 B.输出条件约束类型 (d )与

测试用例八大设计方法和实例

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

因果分析法(鱼骨图)

因果分析法(Causal Factor Analysis,CFA) 是通过因果图表现出来,因果图又称特性要因图、鱼刺图或石川图。 它是1953年在日本川琦制铁公司,由质量管理专家石川馨最早使用的,是为了寻找产生某种质量问题的原因,发动大家谈看法,做分析,将群众的意见反映在一张图上,就是因果图。 用此图分析产生问题的原因,便于集思广益。因为这种图反映的因果关系直观、醒目、条例分明,用起来比较方便,效果好,所以得到了许多企业的重视。 使用该法首先要分清因果地位;其次要注意因果对应,任何结果由一定的原因引起,一定的原因产生一定的结果。因果常是一一对应的,不能混淆;最后,要循因导果,执果索因,从不同的方向用不同的思维方式去进行因果分析,这也有利于发展多向性思维。 一、鱼骨图定义 问题的特性总是受到一些因素的影响,我们通过头脑风暴找出这些因素,并将它们与特性值一起,按相互关联性整理而成的层次分明、条理清楚,并标出重要因素的图形就叫特性要因图。因其形状如鱼骨,所以又叫鱼骨图(以下称鱼骨图),它是一种透过现象看本质的分析方法。同时,鱼骨图也用在生产中,来形象地表示生产车间的流程。 头脑风暴法(Brain Storming——BS):一种通过集思广益、发挥团体智慧,从各种不同角度找出问题所有原因或构成要素的会议方法。BS有四大原则:严禁批评、自由奔放、多多益善、搭便车。 [编辑本段] [title2]二、鱼骨图的三种类型[/title2] 鱼骨图基本结构 A、整理问题型鱼骨图(各要素与特性值间不存在原因关系,而是结构构成关系,对问题进行结构化整理) B、原因型鱼骨图(鱼头在右,特性值通常以“为什么……”来写) C、对策型鱼骨图(鱼头在左,特性值通常以“如何提高/改善……”来写) 三、鱼骨图制作 制作鱼骨图分两个步骤:分析问题原因/结构、绘制鱼骨图。 1、分析问题原因/结构。

测试用例设计—自动售货机因果图分析

命题 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1 元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。分析 根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是:条件: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 1.售货机〖零钱找完〗灯亮???当售货机中没有零钱的时候就有亮红灯 2.退还1元硬币当投入1元,而且售货机中没有零钱可找的时候 3.退还5角硬币????????????当投入1元,而且售货机中有零钱可找的时候 4.送出橙汁饮料 5.送出啤酒饮料 因果图-画条件和结果 因果图-画简单关系 在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出 1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。 2、条件“投1元”和条件“投5角”是一个“E”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。 3、条件“选啤酒”和条件“选橙汁”是一个“E”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。 4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。而且这两个条件之间使用“或”的关系。 5、注意,条件“投1元”和条件“投5角”不是等价关系,表面上看,他们都是“钱”,好像差不多,但是对于程序的处理过程确实完全不同的,“投5角”后完全不用判断当前售货机中是否有零钱(因为题目中规定所有的商品都是5角钱),而“投1元”就不行了。 因果图-送出商品 现在我们从结果的角度考虑,要想“出啤酒”或者“出橙汁”,从现实买卖中分析必须要有什么先决条件呢?是的,就是“你的钱要付清”,而且你一定要选择了“啤酒”或者“橙汁”才行。而在上面的已有因果图中,我们无法找到“钱付清”的因素,因此这时候我们可以试着再加一个中间节点,就叫“钱付清”吧。 要想获得选中的商品,则条件“钱付清”和条件“选啤酒/选橙汁”必须要同时成立,因此是“与”的关系。 因果图-应该找零钱 根据题意,当投入1元钱,而且又选中了某一种商品的时候,系统是需要找零钱的。而现有条件和结果中并没有涉及到“应该找零钱”这种情况,因此我们还需要增加一个中间节点“应该找零钱”。

因果图分析法实例讲解教学资料

因果图分析法实例讲 解

仅供学习与交流,如有侵权请联系网站删除 谢谢2 因果图分析法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条 件,但未考虑输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件 容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况 也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相 应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻 辑模型)。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种 组合情况。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输 入状态(或称原因),右结点表示输出状态(或称结果)。 ci 表示原因,通常置于图的左部;ei 表示结果,通常在图的右部。ci 和 ei 均可取值0或1,0表示某状态不出现,1表示某状态出现。 (d )与

因果图概念—关系 4 种符号分别表示了规格说明中向4种因果关系。如上图所示。 ①恒等:若ci 是1,则ei 也是1;否则ei 为0。 ②非:若ci 是1,则ei 是0;否则ei 是1。 ③或:若c1或c2或c3是1,则ei 是1;否则ei 为0。“或”可有任意个输入。 ④与:若c1和c2都是1,则ei 为1;否则ei 为0。“与”也可有任意个输入。 因果图概念--约束 输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。 A.输入条件的约束有以下4类: ① E 约束(异):a 和b 中至多有一个可能为1,即a 和b 不能同时为1。 ② I 约束(或):a 、b 和c 中至少有一个必须是1,即 a 、b 和c 不能同时为0。 ③ O 约束(唯一);a 和b 必须有一个,且仅有1个为1。 ④R 约束(要求):a 是1时,b 必须是1,即不可能a 是1时b 是0。 B.输出条件约束类型 输出条件的约束只有M 约束(强制):若结果a 是1,则结果b 强制为0。 E I O

因果图法测试用例

例题:程序规定:输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三条边类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能够成一个三角形) 黑盒测试(因果图法) 程序: #include #include using namespace std; void main(){ cout<<"输入三边边长:"<>a; cin>>b; cin>>c; if(a+b>c&&a+c>b&&b+c>a&&fabs(a-b)

E2:普通三角形 E3:等腰三角形 E4:等边三角形 (2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。 (3)将因果图转换成决策表。

[黑盒测试基本方法]之因果图与判定表

测试用例设计方法 之因果图法与判定表 1.因果图法 1.1.前言 从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。 因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。 1.2.定义 因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。 因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。 1.3.因果关系 因果图的表示中输入与输出间的因果关系有四种: 1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。 2)非关系:与恒等关系相反。 3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。

4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。 特定的符号标明因果关系如下(图1.3.1): 图1.3.1 因果图的表示中输入与输入间的约束关系有四种: 1)异(E):所有输入中至多一个输入条件发生。 2)或(I):所有输入中至少一个输入条件发生。 3)唯一(O):所有输入中有且只有一个输入条件发生。 4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。 特定的符号标明输入与输入间约束关系如下(图1.3.2): 图1.3.2 因果图的表示中输出条件约束类型(见图1.3.2): 1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。1.4.方法应用 利用因果图导出测试用例一般要经过以下几个步骤: 1)画出因果图。 2)因果图上用一些记号表明约束条件或限制条件。 3)对需求加以分析并把它们表示为因果图之间的关系图。

因果图设计测试用例

测试用例设计方法的介绍—因果图 前言为什么需要测试用例 ......................................................... 错误!未指定书签。 1.测试用例设计的方法分类 .................................................... 错误!未指定书签。 1.1.黑盒测试 ......................................................................... 错误!未指定书签。 1.2.白盒测试 ......................................................................... 错误!未指定书签。 1.3.灰盒测试 ......................................................................... 错误!未指定书签。 2.因果图的具体介绍 ................................................................ 错误!未指定书签。 2.1.为什么么需要因果图 ..................................................... 错误!未指定书签。 2.2.因果图概念介绍 ............................................................. 错误!未指定书签。 2.2.1.布尔逻辑运算符 ...................................................... 错误!未指定书签。 2.2.2.因果图的约束关系表示法 ...................................... 错误!未指定书签。 2.3.使用因果图设计测试用例的步骤 ................................. 错误!未指定书签。 2.3.1.分析需求 .................................................................. 错误!未指定书签。 2.3.2.确定原因和结果 ...................................................... 错误!未指定书签。 2.3.3.确定逻辑关系 .......................................................... 错误!未指定书签。 2.3.4.确定约束关系 .......................................................... 错误!未指定书签。 2.3.5.把因果图转换为决策表 .......................................... 错误!未指定书签。 2.3.6.根据原因给出结果 .................................................. 错误!未指定书签。 2.3.7.设计测试用例 .......................................................... 错误!未指定书签。 2.4.举例说明 ......................................................................... 错误!未指定书签。 2.4.1.例子1 ....................................................................... 错误!未指定书签。 2.4.2.例子2 ....................................................................... 错误!未指定书签。 3.使用因果图的好处 ................................................................ 错误!未指定书签。 4...................................................................................................... 错误!未指定书签。

因果图测试规范

因果图设计测试规范

本文档介绍了针对终端软件测试的因果图法测试规范。 本测试规范中对移动终端用因果图法设计测试用例原理进行了详细的描述,并用实例加以说明如何使用该方法设计测试用例。包括设计测试用例时的使用范围,设计测试用例的步骤等。 本测试规范介绍了一种通用的测试方法,需要根据被测终端软件需求才能形成具体的测试用例。

1.简介 (4) 2.作用 .............................................................................................................. 错误!未定义书签。 3.因果图法基本规则 (4) 3.1.因果图的基本符号 (4) 3.2.因果图的约束符号 (5) 4.测试用例设计步骤 (6) 4.1.列出输入项和输出项 (7) 4.2.分析因果关系 (7) 4.3.标注约束形成因果图 (7) 4.4.转换成判定表 (7) 4.5.设计测试用例 (7) 5.因果图法举例 (8) 5.1.因果图法典型例子 (8) 5.2.飞信添加好友实例 (10) 6.因果图的优点和缺点 (13) 6.1.优点 (13) 6.2.缺点 (13) 7.名词解释 (14) 8.参考文档 (14) 9.修改历史 ...................................................................................................... 错误!未定义书签。

1.简介 因果图是一种测试用例的设计方法。能从用自然语言书写的程序规格说明的描述中找出的“因”(输入条件)和“果”(输出或程序状态的改变),通过因果图转换为判定表,最后依据判定表进行测试用例的设计。所生成的判定表可以不通过剪裁直接生成测试用例,但会导致测试用例的冗余。即使是对于一般的小规模软件,画出的因果图也可能是非常庞大的,以至于依据因果图的写出测试用例数量很庞大,给测试工作带来沉重的负担。 2. 适用范围 因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。 因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。 3. 因果图法基本规则 检查输入条件的组合不是容易的事情,即使把所有输入条件都划分成等价类,它们之间的组合情况也相当多。如果没有系统性的方法来选择输入条件的一个子集,可能导致低效率的测试。因此,必须考虑使用一种适合于描述这样一种情况的测试设计方法,对于多种条件的组合相应产生多个动作的形式,这就用到了因果图法。 3.1. 因果图的基本符号 通常在因果图中用ci表示原因,用ei表示结果;各结点表示状态,可取值0或1。0表示某状态不出现;1表示某状态出现。因果图的基本关系,如下图:

因果图法实例

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

表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 2.有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 1)分析这一段说明,列出原因和结果 原因: 1——售货机有零钱找 2——投入1元硬币 3——投入5角硬币 4——押下橙汁按钮 5——.押下啤酒按钮 结果: 21——售货机〖零钱找完〗灯亮

22——退还1元硬币 23——退还5角硬币 24——送出橙汁饮料 25——送出啤酒饮料 2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建 立中间结点,表示处理的中间状态。中间结点: 11——投入1元硬币且押下饮料按钮 12——押下〖橙汁〗或〖啤酒〗的按钮 13——应当找5角零钱并且售货机有零钱找 14——钱已付清 3)转换成判定表:

相关文档
最新文档