黑盒测试(详细)(软件测试)
2015-10-17 20:36
393 查看
黑盒测试又称功能测试或数据驱动测试
–把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性.
–站在使用软件或程序的角度,从输入数据与输出数据的对应关系进行的测试
–在软件的接口处进行测试
–通过导出执行程序所有功能需求的输入条件集,实现功能覆盖,需求覆盖
黑盒测试的方法:
等价类划分法
–等价类,把所有可能的输入数据,即程序的输入域划分成若干部分,
–划分,从每一部分中选取少数有代表性的数据做为测试用例,代表 性数据等同于该类中的其他值
(1) 划分等价类的考虑因素
1. 输入数据
2. 输出数据
有效等价类:对于程序规格说明来说,是合理的,有意义的输入数据构成的集合
无效等价类:对于程序规格说明来说,是不合理的,无意义的输入数据构成的集合
(2)划分等价类的标准
1) 完备测试、避免冗余
2) 划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合
3) 并是整个集合:备性
4) 子集互不相交:保证一种形式的无冗余性
5) 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。
(3)设计测试用例
在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
1)为每一个等价类规定一个唯一的编号;
2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的 有效等价类都被覆盖为止;
3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
边界值分析法
–边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,稍高于其边界值及稍低于其边界值的一些特定情况
(1)一般来说,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部,针对各种边界情况设计测试用例,可以查出更多的错误
比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三数值应当满足:A>0、B>0、C>0、A+B>C、A+C>B、B+C>A,才能构成三角形。
但如果把六个不等式中的任何一个大于号“>”错写成大于等于号“≥”,那就不能构成三角形,问题恰出现在容易被疏忽的边界附近
(2) 边界值分析原则
1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚 超越这个范围的边界值作为测试的输入数据。 例如:输入值的范围是“1~9”,则可以选取“1”、“9”、“0.9”、“9.1”作为测试输入数据。 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为册数数据。 例如:一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
3)根据规格说明的每个输出条件,使用原则 1)例如:某程序的功能是计算折扣量,最低折扣是0元,最高折扣是1000元。则设计一些测试用例,使他们刚好产生0元和1000元的结果。 4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。 5)分析规格说明,找出其他可能的边界条件。
(3)编写测试用例的步骤:
1) 根据被测对象的输入(或输出)要求确定边界值。
2) 选取等于、刚刚大于、刚刚小于边界的值作为测试数据。
注:基本思想是在最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)和最大值(max)等处取值。
因果图方法
(1)利用图解法分析输入的各种组合情况,从而设计测试用例的方法,该方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系。
(2)适用范围适合检查程序输入条件的各种组合情况 等价类法、边界值法分析着重考虑输入条件,未考虑输入条件之间的关系
(3)
①恒等:若C1是1,则E1也是1;否则E1为0。
②非:若C1是1,则E1是0;否则E1是1。
③或:若c1或c2是1,则E1是1;否则E1为0,或”可有任意个输入。
④与:若c1和c2都是1,则E1为1;否则E1为0, 与”也可有任意个输入。
(4)因果图生成测试用例的基本步骤:
随机数法
猜错法
–把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性.
–站在使用软件或程序的角度,从输入数据与输出数据的对应关系进行的测试
–在软件的接口处进行测试
–通过导出执行程序所有功能需求的输入条件集,实现功能覆盖,需求覆盖
黑盒测试的方法:
等价类划分法
–等价类,把所有可能的输入数据,即程序的输入域划分成若干部分,
–划分,从每一部分中选取少数有代表性的数据做为测试用例,代表 性数据等同于该类中的其他值
(1) 划分等价类的考虑因素
1. 输入数据
2. 输出数据
有效等价类:对于程序规格说明来说,是合理的,有意义的输入数据构成的集合
无效等价类:对于程序规格说明来说,是不合理的,无意义的输入数据构成的集合
(2)划分等价类的标准
1) 完备测试、避免冗余
2) 划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合
3) 并是整个集合:备性
4) 子集互不相交:保证一种形式的无冗余性
5) 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。
(3)设计测试用例
在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
1)为每一个等价类规定一个唯一的编号;
2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的 有效等价类都被覆盖为止;
3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
边界值分析法
–边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,稍高于其边界值及稍低于其边界值的一些特定情况
(1)一般来说,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部,针对各种边界情况设计测试用例,可以查出更多的错误
比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三数值应当满足:A>0、B>0、C>0、A+B>C、A+C>B、B+C>A,才能构成三角形。
但如果把六个不等式中的任何一个大于号“>”错写成大于等于号“≥”,那就不能构成三角形,问题恰出现在容易被疏忽的边界附近
(2) 边界值分析原则
1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚 超越这个范围的边界值作为测试的输入数据。 例如:输入值的范围是“1~9”,则可以选取“1”、“9”、“0.9”、“9.1”作为测试输入数据。 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为册数数据。 例如:一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
3)根据规格说明的每个输出条件,使用原则 1)例如:某程序的功能是计算折扣量,最低折扣是0元,最高折扣是1000元。则设计一些测试用例,使他们刚好产生0元和1000元的结果。 4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。 5)分析规格说明,找出其他可能的边界条件。
(3)编写测试用例的步骤:
1) 根据被测对象的输入(或输出)要求确定边界值。
2) 选取等于、刚刚大于、刚刚小于边界的值作为测试数据。
注:基本思想是在最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)和最大值(max)等处取值。
因果图方法
(1)利用图解法分析输入的各种组合情况,从而设计测试用例的方法,该方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系。
(2)适用范围适合检查程序输入条件的各种组合情况 等价类法、边界值法分析着重考虑输入条件,未考虑输入条件之间的关系
(3)
①恒等:若C1是1,则E1也是1;否则E1为0。
②非:若C1是1,则E1是0;否则E1是1。
③或:若c1或c2是1,则E1是1;否则E1为0,或”可有任意个输入。
④与:若c1和c2都是1,则E1为1;否则E1为0, 与”也可有任意个输入。
(4)因果图生成测试用例的基本步骤:
随机数法
猜错法
相关文章推荐
- CSDN,我焦辉林来啦!我必须战胜自己学会java没有退路!
- 大道至简-第三章-心得体会
- <LeetCode><Easy> 88 Merge Sorted Array
- linux下打开、关闭tomcat,实时查看tomcat运行日志
- 内联函数
- 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-05-模型
- eclipse 操作HDFS时出现Permission denied的三个解决方法
- 杭电1004(简单题)
- 转化为用欧几里得算法判断互质的问题D - Wolf and Rabbit
- Eclipse使用问题——web程序部署问题
- KMP算法
- 自动布局AutoLayout
- C++智能指针简单剖析 www.cnblogs.com/lanxuezaipiao/p/4132096.html
- Java IO1:IO和File
- 【RxJava】给 Android 开发者的 RxJava 详解
- 状态模式的具体实现 情景三
- 课堂例子验证
- (记录前面算过的后面仍然会用的数减小复杂度)A - AC Me
- Java常用的设计模式09:单例模式的强化(控制实例个数n)
- Myeclipse8.5 里复制粘贴(ctr c ctr v)卡的解决方法