【软件工程】软件测试 二
第二模块 软件测试方法与过程–黑盒测试
文章目录
一、黑盒测试
黑盒相当于看不到内部结构的盒子,好比是你去使用一个电器或工具,但你不关心它内部是怎么运作的,你只关心它能不能按照你的指令正常工作。
黑盒测试就是测试人员不去查看软件的代码,也不关心软件内部的逻辑结构和工作原理。他们只关心软件的功能是否满足需求,是否能够正确地响应用户的输入并产生正确的输出。
1.1 等价类划分法(掌握)
简单的讲:将输入数据划分为不同的等价类,从每个等价类中选取代表性的数据进行测试。因此,在每个等价类中选取的输入数据对揭露程序中的错误都是等效的。
1.1.1 等价类划分原则
(1)如果输入条件规定了取值范围或个数,则可确定一个有效等价类和两个无效等价类。
例如,输入值是选课人数,在0到100之间,那么有效等价类是“0≤学生人数≤100”,无效等价类是“学生人数<0”和“学生人数>100”。
(2)如果输入条件规定了输入值的集合或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。
例如,输入值是日期类型的数据,那么有效等价类是:日期类型的数据;无效等价类是:非日期类型的数据。
(3)如果输入条件是布尔表达式,则可以分为一个有效等价类和一个无效等价类。
例如,要求密码非空,则有效等价类为非空密码,无效等价类为空密码。
(4)如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每个允许的输入值对应一个有效等价类,所有不允许的输入值的集合为一个无效等价类。
例如,输入条件“职称”的值是初级、中级或高级,那么有效等价类应该有3个,即初级,中级,高级,无效等价类有一个,即其他“职称”。
(5)如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从不同的角度违反规则)。
例如,对变量标识符规定为“以字母为开头的串”,那么其有效等价类是“以字母开头的串”,而“以非字母开头的串”为其中的一个无效等价类。
如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类,如最终用户与系统交互的提示。
1.1.2 测试步骤
(1)对每个输入和外部条件进行等价类划分,画出等价类表,并为每个等价类进行编号。
(2)设计一个测试用例,使其尽可能多地覆盖有效等价类,重复这一步,直到所有的有效等价类被覆盖。
(3)为每一个无效等价类设计一个测试用例。
1.1.3 举个栗子
测试NextDate函数的具体实例,输入3个变量(年、月、日)函数返回输入日期后一天的日期,数据范围:1<= 月份 <=12,1<= 日期 <=31,1812<= 年 <=2024。
既然给定了范围那可确定一个有效等价类和两个无效等价类,但是,对于日期和月份存在的特殊情况需要考虑进去。
(1)第一步,划分等价类