*********************************黑盒测试一些基本理论********************************
定义:
它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
目的:
(1)功能不正确或遗漏;
(2)界面错误;
(3)输入和输出错误;
(4)数据库访问错误;
(5)性能错误;
(6)初始化和终止错误等。
注意点:
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
缺点:
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
**********************************实际操作可以参考的步骤***************************
黑盒测试用例设计方法:
*首先是流程图法:
流程图操作步骤:
a.详细了解需求
b.根据需求说明或界面原型找出业务流程的各个页面及各页面之间的流转关系
c.画出业务流程图
*其次再是针对某个页面或模块使用等价类、边界值、因果图法:
(1).划分等价类测试用例原则
a.输入条件规定了取值范围和值的个数的情况下,确定一个有效,二个无效。
b.输入条件规定了‘必须’的情况下,确定一个有效,一个无效。
c.输入条件是布尔量的情况下,确定一个有效,一个无效。
d.在规定了输入数据的一组值(n个)的情况下,程序要对每一个值分别处理,确定n个有效,一个无效。
e.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
f.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
注意:等价类如果有多个值,取值取的是同一范围内的值,而不是不同范围内取一个值
比如1~100,取值的例子就是a=-1,b=-1;a=20,b=20;a=101,b=101
(2).边界值分析法测试用例原则
a.如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
b.如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据
c.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
d.如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例
e.分析规格说明,找出其它可能的边界条件。
注意:边界值取的是范围的值和超出范围外的值。
比如1~100,边界值取的就是a=1,b=1;a=100,b=100;a=0,b=0;a=101,b=101
(3).错误推测法
(4).决策表(判定表组成)法
定义:是分析和表达多个逻辑条件下执行不同操作情况的工具
注意:条件和操作的排列顺序无关紧要,没有影响。先不看因果关系列出所有条件项和动作项,以表格的形式展现。
(5).因果图法
定义:
分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系.根据这些关系,画出因果图。由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现.为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。把因果图转换为判定表。把判定表的每一列拿出来作为依据,设计测试用例。
因果关系分类为:
a.恒等:原因出现则结果出现
b.非:原因出现则结果不出现
c.或:几个原因中有一个出现则结果出现。只有当这几个原因都不出现时,结果才不出现。
d.与:结果原因都有出现结果才出现,若几个原因中有一个不出现则结果就不出现。
方法:
1.找出所有的输入条件和输出条件
2.分析输入条件之间的关系是互斥还是可以同时满足
3.画出输入条件的排列组合情况
注意:
因果关系用因果图列出来以后,转换成决策表,决策表中列出条件项和动作项,条件项多了中间节点,动作项多了不可能情况。
(6).场景法:
基本流和备选流
注意:
基本流:在每项输入项都输入正确的情况下的正常场景
备选流:输入项有输入错误的场景
(6).正交试验设计
******************************************************************************************
黑盒测试包括功能测试和性能测试
功能测试
定义:功能测试它检查实际软件的功能是否符合用户的需求
分类:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试
性能测试
定义:主要是时间性能和空间性能
分类:一般性能测试、稳定性能测试、负载测试、压力测试