一.动态黑盒测试
1.概述
不深入代码细节的软件测试方法称为动态黑盒子测试。它是动态的,因为程序正在运行。动态黑盒测试常常被称为行为测试。
2.测试用例
①概述
测试用例是指进行测试时使用的特定输入,以及测试软件的过程步骤。下图是Windows计算器加法功能的测试用例:
②测试用例的重要性
选择测试用例是软件测试员最重要的一项任务
不正确的选择可能导致
测试量过大
测试量过小
测试目标不对
准确评估风险,把无穷尽的可能性减少到可以控制的范围
二. 通过性测试和失效性测试
通过性测试:确认软件至少能做什么,而不考验其能力。只运用最简单,最直观的 测试用例。
失效性测试:纯粹为了破坏软件而设计和执行的测试案例。
设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。常见的测试案例就是设法迫使软件出现错误提示信息。
三.等价类划分
1.概述
等价类划分(equivalence partitioning)有时称为等价分类(equivalence classing)
分步骤地把海量(无限)的测试用例集减小,但过程同样有效
—个等价类(equivalence class)或等价划分(equivalence partition)是指测试相同的目标或者暴露相同软件缺陷的一组测试用例
2.特点
等价类应具有
无冗余性:等价类为互不相交的一组子集
完整性:所有子集(等价类)的合并是整个集合
等价类划分有两种不同的情况
有效等价类 检验程序是否实现了预期的功能和性能
无效等价类 检验对于无效数字的处理能力
3.划分的原则
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类
③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类
字母还要区分大小写
4. 根据等价类选择用例
划分出等价类后,按以下三个原则设计测试用例:
为每一个等价类规定一个唯一的编号.
设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止
5. 等价类划分法的总体步骤
划分等价类
建立等价类表
选择覆盖等价类的测试用例形成测试用例表