软件测试中的因果图,状态图怎么画?要求详细解释为什么,最好有例子

Python019

软件测试中的因果图,状态图怎么画?要求详细解释为什么,最好有例子,第1张

因果图法

定义:

用于描述系统的输入输出、以及输入与输出之间的因果关系、输入和输入之间的约束关系,一般结合判定表一起使用,是判定表的前置过程。

关系:

输入、输出的因果、制约关系:

输入与输出的因果关系(c,e)

恒等关系:当输入项发生,一定会产生输出项,反之亦然

非关系:当输入项发生,一定不会产生输出项

或关系:多个输入条件中,只要有一个发生,则会产生对应输出

与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出

输入与输入之间的制约关系

异E:所有输入中至多一个输入条件发生

或I:所有输入中至少一个输入条件发生

唯一O:所有输入中有且只有一个输入条件发生

要求R:所有输入中只要有一个输入条件发生,则其他输入也会发生

输出与输出之间的制约关系

强制M:约束输出与输出之间的制约关系

输入、输出的因果、制约关系:

输入与输出的因果关系(c,e)

恒等关系:当输入项发生,一定会产生输出项,反之亦然

非关系:当输入项发生,一定不会产生输出项

或关系:多个输入条件中,只要有一个发生,则会产生对应输出

与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出

输入与输入之间的制约关系

异E:所有输入中至多一个输入条件发生

或I:所有输入中至少一个输入条件发生

唯一O:所有输入中有且只有一个输入条件发生

要求R:所有输入中只要有一个输入条件发生,则其他输入也会发生

输出与输出之间的制约关系

强制M:约束输出与输出之间的制约关系

实施步骤:

1.列出所有的输入和输出

2.画出因果图

3.转为判定表

4.简化、合并相似规则(建议不使用)

5.设计测试用例

优缺点和使用范围:

优点:能减少因果关系的复杂程度,更快地生成判定表

缺点;规模太大,容易产生测试冗余

适用范围:必须存在因果关系很明显的

因果图

1.因果图法是一种适合于描述对于多种输入条件组合的测试方法

2.根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法

3.它适合于检查程序输入条件涉及的各种组合情况。

因果图内容(重要)

画因果图

第一步:根据功能说明书中规定的原因和结果之间的关系画出因果图

恒等关系:原因A成立,那么结果B就一定成立.原因A不成立,结果B不一定不成立

非关系:原因A成立,那么结果B就一定不成立.原因A不成立,结果B不一定不成立

或关系:原因A,B,C,只要有一个成立,那么D就一定成立.如果三个原因不成立,那么D不一定不成立,用符号v

与关系:原因A,B,C都要成立,那么D才成立.用符号^

第二步:根据功能说明在因果图中加上约束条件(原因之间的关系)

其中互斥、包含、唯一、要求 时对原因的约束

原因成立是1,不成立是0

互斥:表示不同时为1,即a,b,c中至多只有一个1(a+b+c<=1)[要么都为0,要么其中一个为1,其他2个为0]

包含:表示至少有一个是1,即a,b,c不同时为0(1<=a+b+c<=3)

唯一:表示a,b,c有且仅有一个为1(a+b+c=1)

要求:表示若a=1,则b为1.不可能存在a=1且b=0的情况

屏蔽是对结果的约束

结果成立为1,不成立为0

屏蔽:表示若a=1,b必须为0

因果图的符号:

e表示互斥

i表示包含

o表示唯一

r表示要求

m表示屏蔽

因果图案例(重要)

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

若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。

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

1.分析原因和结果(看01分析原因和结果图.png)

2.画出原因与结果的关系

3.给原因之间和结果之间添加约束

4.列出所有的原因和结果的列表,设计初步的测试用例步骤:

c1c2c3c4c5错c6错c7错c8错

投币投5角1111

投1元11

按键按橙汁111

按啤酒111

结果出橙汁1111

出啤酒1111

退5角11

5.c错,是步骤错误,不能设计为测试用例正向

c1:

1.投5角

2.按橙汁

c2:

1.投5角

2.按啤酒

c1c2c3c4c5

邮箱11111

密码11110

手机号码11101

同意协议11011

点击立即注册10111

注册成功1

注册失败1111

判定表概念(重要)

判定表驱动法:(工作中用的最多的就是他)

1.是分析和表达多逻辑条件下执行不同操作的情况的工具。

2.是用表格的方法去展现相应的过程

3.使用场景:等价类和边界值无法覆盖到控件与控件之间的联系,此时我们需要判定表来覆盖控件与控件之间的影响

4.使用条件:

    1.所有的条件桩在表中的位置和顺序互相不影响(先操作a,后操作b或先操作b,后操作a,结果是一样的)

    2.所有的动作桩的顺序不会因为条件顺序变化而产生不同(先操作a,后操作b或先操作b,后操作a,产生的结果顺序都是x,y)

判定表内容(重要)

它由以下几个内容组成:

条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序无关紧要。

动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。

动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

建立判定表的步骤(重点)

第一步:确定规则的个数

第二步:列出所有的条件桩和动作桩

第三步:简化,合并相似规则或者相同动作

判定表实例(重点)

需求:订购单的检查。

1.如果金额超过500元,又未过期,则发出批准单和提货单;

2.如果金额超过500元,但过期了,则不发批准单;

3.如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。

判定表的其他

判定表优点

判定表法主要针对功能需求中的处理过程,处理过程越是复杂,就越有必要使用判定表法。判定表法充分考虑了输入条件间的组合,对组合情况覆盖充分,且可得出每个组合的预期输出。其实,做测试需求分析的目的也就是得出完整的测试用例。重测试需求分析,轻测试执行过程。

判定表缺点

当被测试特性输入较多时,会造成判定表的规模很庞大。当输入条件间的约束条件不能有效区分输入是否需要进行组合测试时,有可能产生冗余。需手工剔除冗余用例。

适合使用判定表设计测试用例的条件:

规格说明以判定表的形式给出,或很容易转换成判定表

条件的排列顺序不影响执行哪些操作

规则的排列顺序不影响执行哪些操作

当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则

如果某一规则要执行多个操作,这些操作的执行顺序无关紧要

测试用例的设计方法:没有哪一种方法的单独使用

如:

1.所有的软件都是因为某中操作才导致结果 --因果图法

2.所有的软件都有文本框 --等价类,边界值

我现在学啊,给你份考题,具体是不是你需要的,还要你自己看喽!(是去年的我们的考题)答案告诉你喽!

(1)在信息时代,计算机的应用非常广泛,主要有如下几大领域:科学计算、信息处理、过程控制、计算机辅助工程、家庭生活和

A)军事应用

B)现代教育

C)网络服务

D)以上都不是

答案:B

(2)在ENIAC的研制过程中,由美籍匈牙利数学家总结并提出了非常重要的改进意见,他是

A)冯•诺依曼

B)阿兰•图灵

C)古德•摩尔

D)以上都不是

答案:A

(3)十进制数75用二进制数表示是

A)1100001

B)1101001

C)0011001

D)1001011

答案:D

(4)一个非零无符号二进制整数后加两个零形成一个新的数,新数的值是原数值的

A)4倍

B)二倍

C)4分之一

D)二分之一

答案:A

(5)与十进制数291等值的十六进制数为

A)123

B)213

C)231

D)132

答案:A

(6)下列字符中,其ASCII码值最小的是

A)$

B)J

C)b

D)T

答案:A

(7)下列4条叙述中,有错误的一条是

A)通过自动(如扫描)或人工(如击键、语音)方法将汉字信息(图形、编码或语音)转换为计算机内部表示汉字的机内码并存储起来的过程,称为汉字输入

B)将计算机内存储的汉字内码恢复成汉字并在计算机外部设备上显示或通过某种介质保存下来的过程,称为汉字输出

C)将汉字信息处理软件固化,构成一块插件板,这种插件板称为汉卡

D)汉字国标码就是汉字拼音码

答案:D

(8)某汉字的国际码是1112H,它的机内码是

A)3132H

B)5152H

C)8182H

D)9192H

答案:D

(9)以下关于高级语言的描述中,正确的是

A)高级语言诞生于20世纪60年代中期

B)高级语言的"高级"是指所设计的程序非常高级

C)C++语言采用的是"编译"的方法

D)高级语言可以直接被计算机执行

答案:C

(10)早期的BASIC语言采用的哪种方法将源程序转换成机器语言?

A)汇编

B)解释

C)编译

D)编辑

答案:B

(11)计算机软件系统包括

A)系统软件和应用软件

B)编辑软件和应用软件

C)数据库软件和工具软件

D)程序和数据

答案:A

(12)WPS 2000,Word 97等字处理软件属于

A)管理软件

B)网络软件

C)应用软件

D)系统软件

答案:C

(13)使用Pentium Ⅲ500的微型计算机,其CPU的输入时钟频率是

A)500kHz

B)500MHz

C)250kHz

D)250MHz

答案:B

(14)静态RAM的特点是

A)在不断电的条件下,信息在静态RAM中保持不变,故而不必定期刷新就能永久保存信息

B)在不断电的条件下,信息在静态RAM中不能永久无条件保持,必须定期刷新才不致丢失信息

C)在静态RAM中的信息只能读不能写

D)在静态RAM中的信息断电后也不会丢失

答案:A

(15)CPU的主要组成:运算器和

A)控制器

B)存储器

C)寄存器

D)编辑器

答案:A

(16)高速缓冲存储器是为了解决

A)内存与辅助存储器之间速度不匹配问题

B)CPU与辅助存储器之间速度不匹配问题

C)CPU与内存储器之间速度不匹配问题

D)主机与外设之间速度不匹配问题

答案:C

(17)以下哪一个是点阵打印机?

A)激光打印机

B)喷墨打印机

C)静电打印机

D)针式打印机

答案:D

(18)为了防止计算机病毒的传染,应该做到

A)不要拷贝来历不明的软盘上的程序

B)对长期不用的软盘要经常格式化

C)对软盘上的文件要经常重新拷贝

D)不要把无病毒的软盘与来历不明的软盘放在一起

答案:A

(19)下列关于计算机的叙述中,不正确的一条是

A)世界上第一台计算机诞生于美国,主要元件是晶体管

B)我国自主生产的巨型机代表是"银河"

C)笔记本电脑也是一种微型计算机

D)计算机的字长一般都是8的整数倍

答案:A

(20)下列关于计算机的叙述中,不正确的一条是

A)"裸机"就是没有机箱的计算机

B)所有计算机都是由硬件和软件组成的

C)计算机的存储容量越大,处理能力就越强

D)各种高级语言的翻译程序都属于系统软件

答案:A