文章目录
一.黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。
在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
包括等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
1.等价类划分
等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。
等价类可以划分为有效等价类和无效等价类,设计测试用例的时候要考虑这两种等价类。
2.边界值分析法
边界值分析法是对等价类划分的一种补充,因为大多数错误都在输入输出的边界上。
边界值分析就是假定大多数错误出现在输入条件的边界上,如果边界附件取值不会导致程序出错,那么其他取值出错的可能性也就很小。
边界值分析法是通过优先选择不同等价类间的边界值覆盖有效等价类和无效等价类来更有效的进行测试,因此该方法要和等价类划分法结合使用。
常见的边界值
1)对16-bit 的整数而言 32767 和 -32768 是边界
2)屏幕上光标在最左上、最右下位置
3)报表的第一行和最后一行
4)数组元素的第一个和最后一个
5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次
6)6 =< x =< 18时,边界值取 5、6、7、17、18、19,其中5、19为无效边界值,6、7、17、18为有效边界值。
7)若文本框输入字符的个数要求是不大于150字时,测试时边界值为151、150、149、0、1,不选-1因为不存在这种情况。
为什么边界值处容易出错:
软件测试 用例设计方法中的边界值,为什么说程序的边界容易出错呢
-
for循环,起始条件和终止条件是最重要的。一定要考虑是从0还是1开始,终止条件是<还是<=
-
if语句也是常见的错误。if语句中的 <和 <=
-
上下文逻辑错误时,边界值处也可能会出错
举例:
- 当程序的边界是用循环变量去约束的,最简单的for (var a=0; a<=100;a++)这个语句,a的值为100时还可以执行循环体,但是for (var a=0; a<100;a++)这个语句,当a的值为100时,就跳出循环了,不执行循环体了,这两种情况边界就不一样,如果处理不好就会出错。
3.正交试验法
正交是从大量的试验点中挑选出适量的、有代表性的点。正交试验设计是研究多因素多水平的一种设计方法,他是一种基于正交表的高效率、快速、经济的试验设计方法。
正交表:
- 大量的实验组合中,挑选出一部分具有代表性的点进行实验,分析数据。
- 影响实验结果的量称为实验因素(因子),简称因素
- 因素所处的状态或者状况(取值),称为水平
- 在正交表中,每列中不同数字出现的次数相等
- 在任意两列其横向组成的数字对中,每种数字对出现的次数相等
- 正交表Ln(m^k):m为水平数,n为试验次数,k为因素的数量,这三个数字之间无任何数学关系。仅适用于每一个因素的水平数都相同的正交表
步骤:
- 分析所有对结果有影响的因素(从多角度和方式分析)
- 分析每个因素的水平数量,采用等价类、边界值等方式(需求中说明和未说明的都要分析)
- 选择正交表,只有特定的因素数和水平数才有对应的正交表(在实际中,找最贴近的正交表,正交表的因素数和水平数一般要大于实际的因素数和水平数)
4.状态迁移法(功能图法)
状态迁移法是对一个状态在给定的条件内能够产生需要的状态变化,有没有出现不可达的状态和非法的状态,
使用场合:
- 软件的状态会根据某些内容、条件、操作的变化而变化。
目标:
- 设计足够的用例覆盖系统状态、以及状态–条件组合、状态迁移路径。
步骤:
- 1)识别和列举所有的输入(操作)事件以及IPn(input)(n=1&#x