黑盒测试方法(功能测试):
1. 等价类的划分方法:有效值等价类等价
无效值等价类等价
必须包含两个方面的等价类等价测试。
等价类是子集代表全集的测试,等价类子集的必须不相交。
等价类的划分方法(6种方法)
(1)有效值表示的是一个范围,划分成一个有效等价类跟两个无效等价类。这两个无效等价类的划分方法分别是在左右两个边界值之外的值。
(2)输入条件是一个规定确定好的集合,设计一个有效值等价类和一个无效值等价类。
(3)布尔值的情况,一个有效等价类和一个无效等价类。
(4)输入值是一组值(N个),每个数据元素都要进行处理,设计等价类时是N有效等价类和一个无效等价类。
(5)输入情况必须是符合某些规则,则设计是一个有效等价类和N个无效等价类。
在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
********************************************************************
(6)等价类中不同的子集有对应不同的处理结果,这时处理等价类划分成更小的子等价类。
黑盒测试方法 --------- 等价类划分
2. 如何根据等价类法设计测试用例。
根据等价类划分出有效等价类跟无效等价类完成等价类表设计。
(1)为每个等价类确定唯一的编号。
(2)设计测试用例覆盖所有的有效等价类。
要求: 设计一个测试用例,这样尽可能多的完成有效的覆盖,循环执行。
(3)设计测试用例覆盖所有的无效等价类
方法操作:设计一个测试用例使它覆盖一个无效等价类的值,执行循环操作,完成所有无效等价类中值的测试。
第一步:划分等价类
第二步:设计有效等价类需要的测试用例
第三步:为每一个无效等价类至少设计一个测试用例。
黑盒测试方法 ------- 边界值方法
边界值的划分方式,最小值,最小值的右趋近,正常值, 最大值,最大值的左趋近。
边界值中的5种值的测试用例的设计。
黑盒测试方法 ------- 组合(条件组合法)
黑盒测试方法 -------- 因果图法
设计思想是根据输入的条件组成组合,得到结果,这个是重要的。加上考虑条件组合之间的制约关系,就是更准确的定位。
因果图 ----------转化成判定表。这个不是理论,实践完成。判定表的每一列设计成一个一个测试用例。
因果图测试步骤:(输入条件)是因,输出条件是果,输入条件的有效组合得到对应的果。
(1)分析软件规格说明描述中,哪些是原因 (即输入条件或输入条件的等价类),哪些是结果 (即输出条件),并给每个原因和结果赋予一个标识符;
(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图;
(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件;
(4)把因果图转换成判定表;
(5)把判定表的每一列拿出来作为依据,设计测试用例。
限制,制约的原因:
之所以有限制、制约是因为有的组合条件是无法成立的条件。
因果图画法:
重点:使用逻辑与或非相等完成。
因果图图示:
当原因是多条输入条件的时候,会产生条件之间的相互制约关系,这样的话会得出不同的结果。
因果图中基本图形介绍
(1)E约束(异):a、b中至多有一个可能为1,即a、b不
可能同时为1。
(2)I约束(或): a、b、c中至少有一个必须为1,即a、
b、c不能同时为 0。
(3)O约束(唯一):a、b中必须有一个,且仅有一个为1。
(4)R约束(要求):a是1时,b必须是1,即不可能出现a
是1时,b是 0。
(5)M约束(强制):如果结果a为1,则结果b强制为0。a为零
时,b值不定.
注意:1—5中只有5是对结果的约束。
其中,第4步,把因果图转化成判定表,有条件桩,动作桩(结果桩),条件项,结果项。
表示: 1为真,0为假。
条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.
动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.
条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值.
动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作.
下图分析:
中间11的条件设计,编号为11的结点是导出结果的进一步原因。这个中间原因件特别注意:
* 如何完成 从因果图到判定表的设计:这个是操作的重点,难点!
黑盒测试方法 ------- 决策表测试
决策表中输入,输出的条件和结果是多条的情况下。判定表 结果之后一项。
判定表
判定表(Decision Table),又叫决策表
判定表是分析和表达多逻辑条件下执行不同操作的工具。
规则:
任何一个条件组合的特定取值及其相应要执行的操作称为规则;
在判定表中贯穿条件项和动作项的一列就是一条规则;
判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。
规则合并
规则合并就是判定表的简化。
有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。
判定表建立的步骤:
根据软件规格说明
①列出所有的条件桩和动作桩;
②确定规则的个数;
假如有n个条件,每个条件有两个取值(0,1),则有2n 种规则;
③填入条件项;
④填入动作项,得到初始决策表;
⑤简化,合并相似规则(相同动作)。
因果图得到的判定表跟直接根据需求分析得到的判定表的比较:
前者可以直接得到“有效地判定表”,后者得到的先是2^n的条件桩动作桩,需要化简合并这部的处理。
***判定表技术适用的应用程序的特征:
if-then-else逻辑很突出
输入变量之间存在逻辑关系
涉及输入变量子集的计算
输入与输出之间存在因果关系
7. 黑盒测试方法 ------ 正交测试法
描述:
正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法
正交表的构成
行数(Runs):正交表中的行的个数,即试验的次数。
因素数(Factors):欲考察的变量数目,即正交表中列的个数。
水平数(Levels):变量取值的最大个数。
正交表的表示形式: L行数(水平数因素数)
步骤:
1 >有哪些因素(变量)
2 >每个因素有哪几个水平(变量的取值)
3 >选择行数最少的正交表
4 >把变量的值映射到表中
5 >把每一行的各因素水平的组合做为一个测试用例
6 >加上你认为可疑且没有在表中出现的组合
8. 黑盒测试方法 ------ 场景法设计
基本流:是流经用例的最简单路径;
备选流:自基本流开始,之后会在某特定条件下执行;
可能重新加入基本流(流1,流3)
可能起源于另一备选流(流2 )
终止用例不再重新加入某个流。(流2,流4)
9. 黑盒测试方法 ------ 错误推测发
错误推测法的概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如:
在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。
还有,输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。
10. 总结:黑盒测试方法的策略选择:
通常在确定测试策略时,有以下5条参考原则:
**首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。
**在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。
**采用错误推断法再追加测试用例,这需要依靠测试工程师的智慧和经验。
**对照程序逻辑,检查已设计出的测试用例的逻辑覆盖 程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。
**如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法和判定表驱动法。
**对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。
**对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。
设计测试用例的时候,首先用等价类划分得到有限的条件,结果,边界值是一定要测的,逻辑覆盖条理强要首先选择因果图,判定表的设计方法,正交试验有用公式设计,行数的计算,因子数,水平数的设计计算得到。场景流的方法操作,依据就是事件驱动整个用例的流程性。接着就是经验法的错误推断方法补充。