黑盒测试
1、概念
黑盒测试又称功能测试或数据驱动测试。它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,通过程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
(1)黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试
(2)站在使用软件或程序的角度,从输入数据与输出数据的对应关系进行的测试。
(3)在软件的界面接口处进行测试。
(4)通过导出执行程序所有功能需求的输入条件集,实现功能覆盖,需求覆盖。
2、黑盒测试的作用
3、黑盒测试的要求
每个软件特性或功能必须被一个测试用例或一个被认可的异常所覆盖。
构造数据类型和数据值的最小集测试。
对影响性能的关键模块,应测试模块性能。
4、测试思路
程序做了该做的
程序没有做不该做的
程序错误处理是否完整
测试用例设计方法
黑盒测试要有一套产生测试用例的方法,用以产生有限的测试用例而覆盖足够多的“任何情况”。
等价类划分、边界值、因果图、场景法、错误猜测法…
一、等价类划分
1、概念
等价类,把所有可能的输入数据,即程序的输入域划分成若干部分。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
划分,从每一部分中选取少数有代表性的数据作为测试用例,代表性数据等同于该类中的其他值。
理解:
1)分而不交 - 划分出的任意两个等价类之间不存在交集,测试无冗余
2)合而不变 - 所有等价类的并集仍然是原始的输入域,测试无漏洞
3)类内等价 - 任意一个等价类中的数据相互“等价”,以一代全
2、两种情况
有效等价类
对于程序规格说明来说,是合理的,有意义的输入数据构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类
对于程序规格说明来说,是不合理的,无意义的输入数据构成的集合。
3、划分等价类的方法
1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0~100;
2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;
3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。(真假的辨别)
例:简历录入时有一栏是否党员
一个有效等价类:{True,False}
一个无效等价类:{非布尔量}
4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和n个无效等价类。
例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。
5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
6)在确知已划分的等价类中各元素在程序处理中的