黑盒测试也就是针对功能进行测试,白盒测试就是后端根据自己的代码逻辑进行一下自测,灰盒测试就是黑盒和白盒的混合测试。
1.黑盒测试主要发现以下类型的错误
-
对比需求规格说明书功能遗漏或者不一致。
-
接口错误
-
数据库连接访问错误
-
效率不高,性能太差
-
初始化错误和最终结果错误
2.黑盒测试的测试用例设计方法
-
等价类划分法:等价划分是一种黑盒测试方法,他将程序的输入划分为若干个部分,在每个部分中设计用例,然后从每个部分中选取少数代表性数据作为测试用例。比如登录页面,有账号和密码,可以分为两个部分,然后在每个部分里面可以列举出多个数据,之后就可以各选出一些代表性的数据组合起来进行测试了。此时有效的数据称为有效等价类,无效的称为无效等价类。
-
边界值法:边界值法属于一种简单的用例设计方法,属于根据缺陷空间来反向构造测试数据,进而设计测试用例的方法。如整数就取其最大和最小的临界进行测试,字符串就取其临界长度,特殊字符等来进行测试。
-
因果图法:因果图法主要用于分析输入和输出之间的逻辑关系,先考虑输入和输出的所有情况,然后使用箭头连接原因和结果,表示它们的依赖关系,并且还需要考虑一些约束条件,它们不能同时发生,就比如计算器的运算,我们操作为除法,那么除数就不能为0,可以根据因果图和约束条件来设计测试用例了。
-
决策表法:决策表法用于描述在不同条件下系统的行为或输出,很适合那种在不同的输入情况下,会有不同的输出结果的情况,比如在购买物品时,输入条件就需要考虑物品库存够不够?用户是不是会员用户?有没有使用优惠券?那输出情况就会有是否原价购买?还是打折?还是物品库存不足?等情况。
-
正交实验法:如果要测试一个东西,这个东西有三个因素ABC,每个因素又有三个水平A1,A2,A3,B1...,那么如果枚举测试的话就需要3^3次方,如果影响因素过多,测试的数量就会指数型上涨,正交实验法就是我们通过正交表L9(和水平数量有关)设计出的测试用例每两个因素之间的水平选择都不能重复,只使用一次,这样每个水平都能够相遇并且只能相遇一次,能最大程度的减少实验次数。
-
错误推断法:错误推断法就是基于测试人员的经验和直觉,预测可能出错的地方,并针对这些可能的错误设计测试用例,就比如一个登录功能,测试人员设计的测试用例就可以包含像用户名或密码为空,格式不正确,账号不存在等等用例来验证系统是否能返回正确的结果。
-
场景法:场景法是将自身作为用户,站在用户的角度去使用软件,特别关注业务流程和业务逻辑的正确性,如用户使用ATM机,从登录账户,选择取钱功能,查询余额,输入取钱金额,确认转账,输入密码。这个流程中我们就要考虑一些异常的测试用例情况,如密码错误,取钱金额大于余额等等。