黑盒测试:又称功能测试或数据驱动测试,需要测试软件产品的功能,不考虑软件内部结构和处理过程
黑盒测试设计用例常用方法有《等价类划分,边界值分析,错误推测法,因果图法,场景法 》
黑盒测试试图发现以下类型的错误
1.功能错误或遗漏 2.界面错误 3.数据结构或外部数据库访问错误
4.性能错误 5.初始化和终止错误
测试用例常用方法
1.等价类划分:把所有输入数据即程序的输入域划分成若干个区域(子集),每个子集中选取具有代表性的数据作为测试用例。同一子集中的各个数据对于揭露程序的bug都是等效的。测试某等价类的代表值就等于这一类其他值的测试。
有效等价类:对于程序需求说明是合理的,有意义的数据构成的集合。检测是否实现需求的功能和性能。
无效等价类:无意的数据构成的集合,测试程序对于无意义数据的处理结果。
划分等价类的原则:
① 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
② 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
③ 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
④ 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
⑤ 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
⑥ 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
等价类的测试用例编写方法:
https://blog.****.net/weixin_36158949/article/details/79368656
2.边界值分析:是对等价类划分方法的补充
大量错误都是在测试范围的输入或输出的边界上因此针对各种边界情况设计测试用例,通常输入和输出的等价类边界就是应重点测试的边界情况,应选择正好等于或刚刚大于(小于)边界的值作为测试数据。而不是典型值或任意值。
基于边界值选择测试用例的原则:
1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
3)根据规格说明的每个输出条件,使用前面的原则1)。
4)根据规格说明的每个输出条件,应用前面的原则2)。
5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
7)分析规格说明,找出其它可能的边界条件。
边界值的测试用例编写方法:
https://blog.****.net/xiamo1994/article/details/77645215
3.错误推测法:基于测试经验和直觉推测程序中所有可能存在的各种错误。从而有针对性的设计测试用例
4.因果图法:考虑输入条件之间的关系,相互组合可能会产生一些新的情况。利用因果图描述多种条件的组合,相应产生多个动作。
利用因果图生成测试用例的基本步骤:
(1) 分析软件需求说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。
(2) 分析软件软件需求说明。找出原因与结果之间, 原因与原因之间对应的关系。 根据这些关系,画出因果图。
(3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现。 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
(4) 把因果图转换为判定表。
(5) 把判定表的每一列拿出来作为依据,设计测试用例。
从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加。
因果图的测试用例编写:
https://www.cnblogs.com/yangyangchunchun/p/8991364.html
5.场景法