|
知识路径: > 系统开发和运行维护知识 > 系统实施知识 > 系统开发与测试 > 系统测试基础知识 > 软件测试方法 >
|
相关知识点:5个
|
|
|
|
黑盒测试也称为功能测试,在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。进行黑盒测试主要是为了发现以下几类错误:
|
|
|
|
(2)界面是否有误?输入是否正确接收?输出是否正确?
|
|
|
|
|
|
常用的黑盒测试技术有等价类划分、边界值分析、错误推测和因果图等。
|
|
|
|
等价类划分法将程序的输入域划分为若干等价类,然后从每个等价类中选取一个代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。这样就可以用少量代表性的测试用例取得较好的测试效果。等价类划分有两种不同的情况:有效等价类和无效等价类。在设计测试用例时,要同时考虑这两种等价类。
|
|
|
|
(1)在输入条件规定了取值范围或值的个数的情况下,可以定义一个有效等价类和两个无效等价类。
|
|
|
(2)在输入条件规定了输入值的集合或规定了“必须如何”的条件的情况下,可以定义一个有效等价类和一个无效等价类。
|
|
|
(3)在输入条件是一个布尔量的情况下,可以定义一个有效等价类和一个无效等价类。
|
|
|
(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以定义n个有效等价类和一个无效等价类。
|
|
|
(5)在规定了输入数据必须遵守的规则的情况下,可定义一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
|
|
|
(6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。
|
|
|
定义好等价类之后,建立等价类表,并为每个等价类编号。在设计一个新的测试用例时,使其尽可能多地覆盖尚未覆盖的有效等价类,不断重复,最后使得所有有效等价类均被测试用例所覆盖。然后设计一个新的测试用例,使其只覆盖一个无效等价类。
|
|
|
|
输入的边界比中间更加容易发生错误,因此用边界值分析来补充等价类划分的测试用例设计技术。边界值分析选择等价类边界的测试用例,既注重于输入条件边界,又适用于输出域测试用例。
|
|
|
|
(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
|
|
|
(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数据作为测试数据。
|
|
|
(3)根据规格说明的每个输出条件,使用上述两条原则。
|
|
|
(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
|
|
|
(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。
|
|
|
|
|
错误推测是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。其基本思想是列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。
|
|
|
|
因果图法是从自然语言描述的程序规格说明中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。
|
|
|
|
(1)分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。
|
|
|
(2)分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”。
|
|
|
(3)标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个标准的符号标明约束条件。
|
|
|
|
|
这样生成的测试用例(局部,组合关系下的)包括了所有输入数据的取“真”和取“假”的情况,构成的测试用例数据达到最少,且测试用例数据随输入数据数目的增加而增加。
|
|
|