1.黑盒测试:又叫功能测试。2.黑盒测试主要用于测试过程的后期,而白盒测试技术主要应用在测试过程的早期。3.黑盒测试,力图发现下述类型的错误:1)功能不正确或遗漏了功能2)界面错误3)数据结构错误或外部数据库访问错误4)性能错误5)初始化和终止错误7.7黑盒测试技术4.应用黑盒测试技术,能够设计出满足下述标准的测试用例集:1)所设计出的测试用例能够减少为达到合理测试所需要设计的测试用例的总数;2)所设计出的测试用例能够告诉我们,是否存在某些类型的错误,而不是仅仅指出与特定测试相关的错误是否存在。7.7黑盒测试技术1.等价划分法2.边界值分析法3.错误推测法7.7黑盒测试技术1.等价划分技术:把程序的输入域划分成若干个数据类,据此导出测试用例。2.等价划分法的目的:力图设计出能发现若干类程序错误的测试用例,从而减少必须设计的测试用例的数目。3.合理假设:如果把所有可能的输入数据划分成若干个等价类,则可合理地做出下述假定:每类中的一个典型值在测试中的作用与这一类中所有其他值的作用相同。4.结论:可以从每个等价类中只取一组数据作为测试数据。这样选取的测试数据最有代表性,最可能发现程序中的错误。7.7.1等价划分5.使用等价划分法设计测试方案的步骤:1)需要划分输入数据的等价类;为此需要研究程序的功能说明,从而确定输入数据的有效等价类和无效等价类。2)设计一个新的测试方案以尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步骤直到所有有效等价类都被覆盖为止;3)设计一个新的测试方案,使它覆盖一个而且只覆盖一个尚未被覆盖的无效等价类,重复这一步骤直到所有无效等价类都被覆盖为止。◆划分等价类的启发式规则:1)如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值或大于最大值);2)如果规定了输入数据的个数,则类似地也可以划分出一个有效的等价类和两个无效的等价类;3)如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值);4)如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则);5)如果规定了输入数据为整型,则可以划分出正整数、零和负整数等3个有效类;6)如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。◆总结:1)为了正确划分等价类,一:要注意积累经验,二:要正确分析被测程序的功能。2)在划分无效的等价类时还必须考虑编译程序的检错功能。3)这些启发式规则也同样适用于输出数据。例1:设计下程序的测试方案,假设有一个把数字字串转变成整数的函数strtoint。运行程序的计算机字长16位,用二进制补码表示整数。这个函数是用Pascal语言编写的,它的说明如下:functionstrtoint(dstr:shortstr):integer;函数的参数类型是shortstr,它的说明是:typeshortstr=array[1..6]ofchar;几点说明:1)被处理的数字串是右对齐的;2)如果数字串比6个字符短,则在它的左边补空格;3)如果数字串是负的,则负号和最高位数字紧相邻(负号在最高位数字左边一位);4)考虑到pascal编译程序的固有的检错功能;分析这个程序的规格说明,可划分出如下等价类:◆有效输入的等价类:1)1~6个数字字符组成的数字串(最高位数字不是零);2)最高位数字是零的数字串;3)最高位数字左邻是负号的数字串;◆无效输入的等价类:4)空字符串(全是空格);5)左部填充的字符既不是零也不是空格;6)最高位数字右面由数字和空格混合组成;7)最高位数字右面由数字和其他字符混合组成;8)负号与最高位数字之间有空格;◆合法输出的等价类有:(9)在计算机能表示的最小负整数和零之间的负整数;(10)零;(11)在零和计算机能表示的最大正整数之间的正整数;◆非法输出的等价类有:(12)比计算机能表示的最小负整数还小的负整数;(13)比计算机能表示的最大正整数还大的正整数。根据上面划分出的等价类,可以设计出下述测试方案:(1)1~6个数字组成的数字串,输出是合法的正整数;输入:’1’预期的...