黑盒测试
黑盒测试只知道输入输出的逻辑关系,依据需求规格说明书考虑测试用例和推断测试结果的正确性。
等价类划分就是把程序的输入域划分为若干部分,从每个部分选取少量代表性数据当测试数据,在需求规格说明书的基础上划分等价类、列出等价类的表。
等价类的特征:输入条件等效,只能发现相同错误。
有效等价类是对需求规格说明书有意义合理的集合,有效等价类可以是一个、也可以是多个。
无效等价类是对需求规格说明书不合理,无意义的输入数据所构成的集合。
如何划分等价类:
规定了取值范围,可以划分出一个有效等价类俩个无效等价类。
规定条件可以划分一个有效等价类和一个无效等价类,如果处理方式不同,等价类可以进一步划小。
弱一般等价类:单缺陷假设,实现测试用例中的每个等价类一个变量实现,实现所有变量覆盖。
强一般等价类:基于多缺陷假设。
弱健壮等价类
弱:考虑单缺陷假设。
健壮:考虑无效值。
对有效输入,使用每个等价类的一个值。
对无效输入,测试用例有一个无效值,其他有效。
边界值测试:
五点法:正常 最大 略小于最大值 最小 略大于最小值。
单缺陷假设:缺陷极少是由俩个或多个缺陷引起。
n变量边界值4n+1。
健壮性测试:加入了略大于最大值,略小于最小值。
最坏情况测试:5的n次方。
健壮最坏情况测试:7的n次方。
特殊值测试:使用领域知识,类似程序经验开发特殊值。
随机测试:使用随机数生成器选出测试用例。
判定表的生成:
一个操作依赖多个逻辑的取值。
多个逻辑的取值对应不同的操作。
处理这类问题有力的工具就是判定表。
条件桩列出问题所有的条件,通常在这里列出的条件的先后次序无关紧要。
条件项对条件的取值。
动作桩列出了问题动作所有的取值。
动作项支出在何种条件下采取哪些操作。
规则:条件组合的特定取值及相应的操作称为规则。判定表中一列就是规则。
合并规则:动作相同,条件相似可进行合并,其实俩个规则动作相同只有一个条件不同。
判定表的优点:把复杂的问题所有情况都一一列举出来,便于理解,避免遗漏。
缺点不能表达重复执行的操作。
使用判定表的条件:
规格说明以判定表的形式给出,很容易转换成判定表。
条件排序不影响操作执行。
规则排序不影响操作。
某一条规则执行,不必检查别的规则。
一个规则实现,这些操作的执行顺序无关紧要。
因果图:一种黑盒测试方法。
方法的依据:
需求规格说明书中的因果关系。
能够帮我们按一定的步骤,高效率地选择测试用例,同时指出规格说明书的问题。
E约束:最多只有1个变量为1.
I约束:至少1个变量为1.
O约束:有且只有一个为1.
R约束:a是1.b是1
M约束结果a是1,结果b强制是0.
根据程序规格说明书原因是输入条件的等价类。结果是输出条件,根据语义内容将他俩连接成因果图。
有些组合情况不可能出现。在因果图上使用若干个特殊的符号标明约束条件。
把因果图转换成判定表。
把判定表每一列写成测试用例
功能性划分:
等价类分析
边界值分析
判定表
因果图
边界值->等价类->决策表。测试数少,精细程度高。效果越好。