软件开发因果图制作指导书
- 格式:pdf
- 大小:143.22 KB
- 文档页数:7
莱州市金田机械有限公司作业文件文件编号:JT/C-8.1.1J-002版号:A/0因果图使用指导书批准:王春审核:尹宝永编制:吕春刚受控状态:分发号:2006年11月15日发布2006年11月15日实施因果图使用指导书JT/C-8.1.1J-0021目的测量和控制过程波动情况,确保产品实现过程符合要求。
2适用范围适用于本公司统计技术的应用。
3因果图3.1因果图是表示质量特性与原因关系的图,因果图又叫特性要因图、石川图、树枝图、鱼刺图等,其图形如下图所示:大原因大原因3.2因果图的作图步骤3.2.1先明确要分析的质量问题和确定需要解决的质量特性。
例如产品的产量、质量、销售量等问题。
3.2.2召集同该质量有关的人员参加讨论,认真分析,查找根源。
3.2.3将质量问题写在图的右边,画一条带箭头的主干,箭头指向右端,确定造成质量问题的大原因。
因为影响产品质量一般有五大要素(人、机器、原料、方法、环境),所以经常见到五大因素分类的因果图。
可以根据具体情况增减项目,也可以按生产工艺先后顺序分类等。
把大原因用箭头排列在主干线的两侧。
JT/C-8.1.1J-0023.2.4按各大原因展开分析。
把中小原因及相互之间的关系,用长短不等的箭头线画在图上,展开分析到能采取措施为主。
3.2.5记录重要的有关事项,如绘制日期、制图者、单位、参加讨论人员及其他可供参考查询的注意事项。
3.3因果图应用实例在排列图应用中列举的卷烟外观不合格排列图中,“空松”是主要因素,针对“烟支为什么空松”的问题,统计技术应用部门作了一张因果图如下图一:烟支空松因果图JT/C-8.1.1J-0023.4作因果图的注意事项3.4.1确定的质量问题,应尽量具体,必须是一个问题,如某一质量特性达不到要求。
3.4.2应记录所有与问题有关人员的各种意见,包括相反意见。
3.4.3原因的分析要扣紧问题、针对性强。
原因分析要细到能采取措施为止。
3.4.4主要原因一定要标出。
软件测试⽤例之因果图法
简介
从⽤⾃然语⾔书写的程序规格说明的描述中找出因(输⼊条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,⼜叫特性要因图、⽯川图或鱼翅图,它是由⽇本东京⼤学教授⽯川馨提出的⼀种通过带箭头的线,将质量问题与原因之间的关系表⽰出来,是分析影响产品质量的诸因素之间关系的⼀种⼯具。
作⽤
因果图法是⼀种适合于描述对于多种输⼊条件组合的测试⽅法,根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件涉及的各种组合情况。
因果图法⼀般和判定表结合使⽤,通过映射同时发⽣相互影响的多个输⼊来确定判定条件。
因果图法最终⽣成的就是判定表,它适合于检查程序输⼊条件的各种组合情况。
采⽤因果图法能帮助我们按照⼀定的步骤选择⼀组⾼效的测试⽤例,同时,还能指出规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输⼊条件的各种组合,每种组合条件就是“因”,它必然有⼀个输出的结果,这就是“果”。
基本步骤
利⽤因果图导出测试⽤例⼀般要经过以下⼏个步骤:
1)分析软件规格说明的描述中哪些是原因,哪些是结果。
原因是输⼊或输⼊条件的等价类,结果是输出条件。
给每个原因和结果并赋予⼀个标识符,根据这些关系,画出因果图。
2)因果图上⽤⼀些记号表明约束条件或限制条件。
3)对需求加以分析并把它们表⽰为因果图之间的关系图。
4)把因果图转换成判定表。
5)将判定表的每⼀列作为依据,设计测试⽤例。
因果图法测试⽤例设计—因果图法1、引⾔?等价类划分⽅法与边界值分析⽅法,都就是着重考虑输⼊条件,但未考虑输⼊条件之间得联系、相互组合等。
考虑输⼊条件之间得相互组合,可能会产⽣⼀些新得情况。
但要检查输⼊条件得组合不就是⼀件容易得事情,即使把所有输⼊条件划分成等价类,她们之间得组合情况也相当多。
因此必须考虑采⽤⼀种适合于描述对于多种条件得组合,相应产⽣多个动作得形式来考虑设计测试⽤例。
这就需要利⽤因果图(逻辑模型)。
?因果图(Cause-E ffectGraphing)提供了⼀个把规格转化为判定表得系统化⽅法,从该图中可以产⽣测试数据。
其中原因就是表⽰输⼊条件,结果就是对输⼊执⾏得⼀系列计算后得到得输出。
?因果图⽅法最终⽣成得就就是判定表,它适合于检查程序输⼊条件得各种组合情况。
2、因果图介绍??2、1图例说明??1、4种符号分别表⽰了规格说明中向4种因果关系。
如图2-1所⽰。
?2、因果图中使⽤了简单得逻辑符号,以直线联接左右结点。
左结点表⽰输⼊状态(或称原因),右结点表⽰输出状态(或称结果)。
图2-1 因果图关系??3、ci表⽰原因,通常置于图得左部;ei表⽰结果,通常在图得右部。
ci与ei均可取值0或1,0表⽰某状态不出现,1表⽰某状态出现。
??2、2因果图概念?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、果——结果,输出结果。
使⽤画图的⽅法找出输⼊(因)和输出(果)的关系 因果图法需要考虑:所有输⼊条件的相互制约关系以及组合关系输出结果对输⼊条件间的依赖关系。
也就是什么样的输⼊组合会产⽣怎样的输出结果。
即“因果关系”三、图形符号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 2、约束(限制)符号——约束的永远都是同⼀类型:要不然同时限制⼏个输⼊之间的关系,要不然同是限制⼏个输出之间的关系。
互斥(E)*含义:表⽰a、b、c三个原因不会同时成⽴;最多有⼀个可能成⽴。
a、b、c不能同时为 1,即a/b/c中⾄多只有1包含(I)含义:表⽰a、b、c三个原因中⾄少有⼀个必须成⽴a、b、c⾄少有有⼀个1,即a,b,c中不能同时为0唯⼀(O)*含义:表⽰a、b、c三个原因中必须有⼀个成⽴,且仅有⼀个成⽴(唯⼀和互斥⾮常接近,就差⼀个默认值) 说明:互斥和唯⼀的区别:⼀般有默认选项—唯⼀,没有默认选项—互斥要求(R)*含义:表⽰a 出现时,则b 必须出现若a = 1 ,则b 必须= 1,即不可能a = 1 且 b = 0 屏蔽(M)含义:若a = 1 ,则b 必须= 0,若a = 0 时则 b 的值不⼀定重点要求: 互斥、唯⼀、要求 屏蔽⼀般在输出中常⽤。
测试用例设计--因果图定义因果图法就是从程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。
首先我们来了解一下因果图的基本符号:2. 应用的范围更复杂的条件组合,2^n,n比较多的时候3. 步骤1) 根据程序规格说明书描述的语义内容,分析并确定“因”和“果”;2) 将“因”和“果”表示成“因果图”;3) 在因果图上使用若干个约束符号来标明约束条件;4) 将得到的因果图转换成判定表;5) 为判定表中每一列所表示的情况设计一个测试用例。
4. 案例以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
案例分析--因果图1) 根据程序规格说明书描述的语义内容,分析并确定“因”和“果”;原因:1、落点在棋盘外;2、不构成日字;3、落点有自方棋子;4、绊马腿;5、落点无棋子;6、落点为对方棋子;7、落点为对方老将。
结果:21、不移动;22、移动;23、移动己方棋子消除对方棋子;24、移动并战胜对方。
2) 将“因”和“果”表示成“因果图”,并标明约束条件;3) 将得到的因果图转换成判定表;11这个结点称做中间结点,是为了让因果图的结构更加明了,简化因果图导出的判定表。
分析得出以下两个结论:只有1、2、3、4都不成立时,产生11,跟5、6、7结合分别得出22、23、24三个结果;不管5、6、7哪个成立,只要1、2、3、4有一个成立,就产生结果21;再加上落点有自方棋子的状况。
测试用例设计方法的介绍—因果图前言为什么需要测试用例 (2)1.测试用例设计的方法分类 (2)1.1.黑盒测试 (2)1.2.白盒测试 (2)1.3.灰盒测试 (3)2.因果图的具体介绍 (3)2.1.为什么么需要因果图 (3)2.2.因果图概念介绍 (4)2.2.1.布尔逻辑运算符 (4)2.2.2.因果图的约束关系表示法 (6)2.3.使用因果图设计测试用例的步骤 (8)2.3.1.分析需求 (8)2.3.2.确定原因和结果 (8)2.3.3.确定逻辑关系 (8)2.3.4.确定约束关系 (8)2.3.5.把因果图转换为决策表 (8)2.3.6.根据原因给出结果 (9)2.3.7.设计测试用例 (9)2.4.举例说明 (9)2.4.1.例子1 (9)2.4.2.例子2 (12)3.使用因果图的好处 (14)4...................................................................................................... 错误!未定义书签。
前言为什么需要测试用例测试的目的是在有限的资源下,尽可能多的找出系统的缺陷。
这就要求在测试中,尽可能完全的走完系统的所有流程,保证所有的分支都经过测试。
而测试过程是由人来执行的,不可能避免的会遗漏一些应该测试内容,这样就很容易出现测试不全面的问题。
再者,现有的软件开发大多都是迭代式进行的,需要对同一个功能反复测试多遍。
很有可能第一轮测试得比较全面,当进行第二轮的时候,可能也会遗漏某些点。
这种情况下,测试过程是由人控制的,具有盲目性,是不可控制的。
而测试用例就是把软件测试行为做一个科学化的组织和归纳,用来指导测试行为。
一般需求入基线后,测试人员开始介入项目,对需求进行分析,并根据自己对需求的理解设计出详细的测试用例。
这样在测试执行时,按照设计好的过程去执行,避免由于人为的原因使测试不全面。
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)转换成判定表:4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。
第16列与第32列因什么动作也没做,也删去。
最后可根据剩下的16列作为确定测试用例的依据。