教学项目:判断三角形类型程序的测试

教学项目:判断三角形类型程序的测试
教学项目:判断三角形类型程序的测试

教学项目:判断三角形类型程序的测试

需求:(程序的规格说明要求)

有一个程序,用来判断一个三角形的类型。输入三个整数a、b和c分别作为三角形的三条边的边长,通过程序来判断由这三条边构成的三角形类型是等边三角形、等腰三角形、一般三角形还是非三角形(不能构成一个三角形)。用决策表法对该程序进行测试。

分析:等价类划分法和边界值分析方法的局限性

等价类划分法和边界值分析方法比较适合输入变量或输入条件相互独立的情况,但是当输入变量或输入条件相互依赖、相互制约的时候,采用等价类划分法和边界值分析方法是难以描述的,测试效果也很难保障。

在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。

分析:什么是决策表?

1、决策表也称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具。

2、决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,设计出完整的测试用例集合。

在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。

知识点:采用决策表法设计测试用例的步骤:

(1)列出所有的条件桩和动作桩。

(2)确定规则的个数。

有n个条件(每个条件取真、假值的情况)的决策表有2n个规则。

(3)填入条件项。

(4)填入动作项,得到初始决策表。

(5)简化决策表,合并相似规则(相同动作)。

如果两条或多条规则的动作项相同,条件项只有一项不同,则可以将该项合并,合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。

(6)根据决策表设计测试用例。

一条规则一个测试用例,排除掉不可能的规则。

解答:

(1)列出所有的条件桩和动作桩。

条件桩—列出问题的所有条件。(通常认为列出的条件的先后次序无关紧要)

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

运用决策表设计测试用例时,可将条件理解为输入,将动作理解为输出。

分析:这一步是关键,如何得到三角问题的“条件桩”和“行动桩” ?

我们可以通过分析三角问题的处理过程得到:

当判断出a=b=c时,程序输出“等边三角形”。

当判断出a=b或b=c或a=c时,程序输出“等腰三角形”。

当a!=b且b!= c且c!=a时,程序输出“一般三角形”

可以看出程序的输出由a,b,c之间是否相等的关系决定,即a=b?, a=c?, b=c?,这样我们可以把a=b?, a=c?, b=c?当作条件桩,把程序的输出当作动作桩。

列出所有的条件桩与动作桩,如下表:

条件桩动作桩

C1:A1:非三角形

C2:A2:一般三角形

C3:A3:等腰三角形

C4:A4:等边三角形

A5:不可能

(2)确定规则的个数。

条件项—针对条件桩给出的条件列出所有可能的取值

动作项—指出在条件项的各组取值情况下应采取的动作

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。

分析:有n个条件的决策表有2n个规则(每个条件取真、假值的情况)。

规则的个数为:24=?

(3)填入条件项。

(4)填入动作项,得到初始决策表。

决策表通常由以下4部分组成:

条件桩—列出问题的所有条件

条件项—针对条件桩给出的条件列出所有可能的取值

动作桩—列出问题规定的可能采取的操作

动作项—指出在条件项的各组取值情况下应采取的动作

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。

选项规则12345678910111213141516

条件桩C1:a,b,c构成三角形N N N N N N N N Y Y Y Y Y Y Y Y C2:a=b?Y Y Y Y N N N N Y Y Y Y N N N N C3:a=c?Y Y N N Y Y N N Y Y N N Y Y N N C4:b=c?Y N Y N Y N Y N Y N Y N Y N Y N

动作桩A1:非三角形y y y y y y y y

A2:一般三角形Y A3:等腰三角形y Y Y

A4:等边三角形y

A5:不可能y y Y

(5)简化决策表,合并相似规则。

如果两条或多条规则的动作项相同,条件项只有一项不同,则可以将该项合并,合并后

的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。

选项规则123456789

条件桩C1:a,b,c构成三角形N Y Y Y Y Y Y Y Y C2:a=b?~Y Y Y Y N N N N C3:a=c?~Y Y N N Y Y N N C4:b=c?~Y N Y N Y N Y N

动作桩A1:非三角形Y

A2:一般三角形Y A3:等腰三角形y Y Y

A4:等边三角形y

A5:不可能y y Y

三角形问题合并后的决策表

(6)根据决策表设计测试用例。

一条规则一个测试用例,排除掉不可能的规则。

对每一条规则设计一个测试用例:

测试用例编号a b c预期输出

1231非三角形

2222等边三角形3???不可能4???不可能

5556等腰三角形6???不可能

7343等腰三角形8344等腰三角形9345一般三角形

去掉不存在的情况:

测试用例编号a b c预期输出

T1231非三角形

T2222等边三角形

T5556等腰三角形

T7343等腰三角形

T8344等腰三角形

T9345一般三角形

小结:

1、在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。

2、决策表也称判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。

3、决策表优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,

设计出完整的测试用例集合。

缺点:不能表达重复执行的操作,例如循环结构。

4、决策表通常由以下4部分组成:

(1)条件桩—列出问题的所有条件。

(2)条件项—针对条件桩给出的条件列出所有可能的取值。

(3)动作桩—列出问题规定的可能采取的操作。

(4)动作项—指出在条件项的各组取值情况下应采取的动作。

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。

5、采用决策表法设计测试用例的步骤:

(1)列出所有的条件桩和动作桩。

(2)确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值的情况)。

(3)填入条件项。

(4)填入动作项,得到初始决策表。

(5)简化决策表,合并相似规则。

如果两条或多条规则的动作项相同,条件项只有一项不同,则可以将该项合并,合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。(6)根据决策表设计测试用例。一条规则一个测试用例,排除掉不可能的规则。

6、决策表适用于下列情况:

(1) 规格说明以决策表形式给出,或很容易转换成决策表。

(2) 条件的排列顺序不会也不应影响执行哪些操作。

(3) 规则的排列顺序不会也不应影响执行哪些操作。

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

(5) 如果某一规则得到满足,要执行多个操作,这些操作的执行顺序无关紧要。

相关主题
相关文档
最新文档