测试用例设计方法基础知识学习笔记:

1、等价类:

指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。


有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。  

无效等价类:与有效等价类的定义恰巧相反。


指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都

是等效的。

指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都

是等效的。

2、边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。


3、判定表

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

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

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

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

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


判定表的建立步骤:(根据软件规格说明) 

① 确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则. 

② 列出所有的条件桩和动作桩. 

③ 填入条件项. 

④ 填入动作项.等到初始判定表. ⑤ ⑤简化.合并相似规则(相同动作).


4、因果图:

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。


5、正交实验

依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等.


6、功能图法

功能图由状态迁移图和布尔函数组成.状态迁移图用状态和迁移来描述.一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变.同时要依靠判定表或因果图表示的逻辑功能.


7、场景法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。


8、错误推测法:

基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 


43 

10.

 

测试用例设计综合策略

 

 

1.

 

Myers

提出了使用各种测试方法的综合策略:

 

1)

 

在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发

现程序错误的能力最强。

 

2)

 

必要时用等价类划分方法补充一些测试用例。

 

3)

 

用错误推测法再追加一些测试用例。

 

4)

 

对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆

盖标准,应当再补充足够的测试用例。

 

5)

 

如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。

 

2.

 

测试用例的设计步骤

 

1)

 

构造根据设计规格得出的基本功能测试用例;

 

2)

 

边界值测试用例;

 

3)

 

状态转换测试用例;

 

4)

 

错误猜测测试用例;

 

5)

 

异常测试用例;

 

6)

 

性能测试用例;

 

7)

 

压力测试用例。

 

3.

 

优化测试用例的方法

 

1)

 

利用


测试用例设计综合策略 

1. Myers提出了使用各种测试方法的综合策略: 

1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发

现程序错误的能力最强。

2) 必要时用等价类划分方法补充一些测试用例。 

3) 用错误推测法再追加一些测试用例。 

4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆

盖标准,应当再补充足够的测试用例。 

5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。 

2. 测试用例的设计步骤

1) 构造根据设计规格得出的基本功能测试用例; 

2) 边界值测试用例; 

3) 状态转换测试用例;

4) 错误猜测测试用例; 

5) 异常测试用例;

6) 性能测试用例; 

7) 压力测试用例。 

3. 优化测试用例的方法 

1) 利用设计测试用例的8种方法不断的对测试用例进行分解与合并; 

2) 采用遗传算法理论进化测试用例; 

3) 在测试时利用发散思维构造测试用例;