一.动态黑盒测试

 1.概述

 

不深入代码细节的软件测试方法称为动态黑盒子测试。它是动态的,因为程序正在运行。动态黑盒测试常常被称为行为测试。

2.测试用例

①概述

测试用例是指进行测试时使用的特定输入,以及测试软件的过程步骤。下图是Windows计算器加法功能的测试用例:

②测试用例的重要性

选择测试用例是软件测试员最重要的一项任务

不正确的选择可能导致

  • 测试量过大
  • 测试量过小
  • 测试目标不对
准确评估风险,把无穷尽的可能性减少到可以控制的范围

 

二. 通过性测试和失效性测试

通过性测试:确认软件至少能做什么,而不考验其能力。只运用最简单,最直观的 测试用例。

失效性测试:纯粹为了破坏软件而设计和执行的测试案例。
   
设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。常见的测试案例就是设法迫使软件出现错误提示信息。   

  

 

三.等价类划分

 

1.概述

等价类划分(equivalence partitioning)有时称为等价分类(equivalence classing)

分步骤地把海量(无限)的测试用例集减小,但过程同样有效
 
—个等价类(equivalence class)或等价划分(equivalence partition)是指测试相同的目标或者暴露相同软件缺陷的一组测试用例
 
2.特点 
 
等价类应具有
  • 无冗余性:等价类为互不相交的一组子集
  • 完整性:所有子集(等价类)的合并是整个集合

等价类划分有两种不同的情况

  • 有效等价类 检验程序是否实现了预期的功能和性能
  • 无效等价类 检验对于无效数字的处理能力
 
3.划分的原则

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类

  • 字母还要区分大小写

 

4. 根据等价类选择用例

划分出等价类后,按以下三个原则设计测试用例:

  • 为每一个等价类规定一个唯一的编号.
  • 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.
  • 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止

5. 等价类划分法的总体步骤

  • 划分等价类
  • 建立等价类表
  • 选择覆盖等价类的测试用例形成测试用例表