关于黑白盒测试,别人问起来,千万别再说黑盒测试就是黑色的盒子啦hhhh
黑盒测试也称为功能测试,它描述的是我们不关注程序的代码实现,只关注输入和输出。
黑盒测试设计测试用例的方法有哪些?
①等价类:依据需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为它所代表的等价类通过,这样我们就可以用较少的测试用例达到尽可能多的功能覆盖,解决了测试用例不能穷举的问题。等价类分为有效等价类和无效等价类,有效等价类:符合需求规格说明书的数据集合,无效等价类:不符合需求规格说明书的数据集合。
案例:登陆密码,要求 6-15(只允许使用字母+数字)
有效等价类:6-15: 无效等价类:
纯数字 <6位
纯字母 >15位
字母数字组合 使用其它特殊字符
+边界值5,6,15,16
②边界值:在程序代码中,边界是很容易出问题的,就比如我们的for循环条件判断等语句,是很容易出问题的,边界值作为等价类划分的补充,通常将二者结合起来进行测试用例的设计。
③场景分析法:将一个个孤立的功能点串起来,使之形成一个完整的业务流(场景),每个功能点不同的输入可能会导致业务走向不同的方向,逐一设计测试用例。
案例:ATM取钱
插卡——输入密码——输入取款金额——取钱——退卡
根据每一步操作的不同输入,会有不同的备选流,根据不同的备选流设计测试用例
④错误猜测法:根据自己的知识、经验、直觉针对性地去设计测试用例。
⑤因果图法:简化了的逻辑图,能直观表明输入条件和输出结果之间的相互关系,特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的情况。
⑥正交分析法
白盒测试是针对程序的代码进行测试,对逻辑路径进行覆盖,在程序不同的地方设立检查点,检查程序的状态。
白盒测试的方法有哪些?
①静态测试(大佬:只看代码)
②动态测试(将代码跑起来,进行逻辑覆盖测试)
语句覆盖:设计测试用例时,需要保证程序中每一条可执行语句至少应执行一次。
判定覆盖:每个判定的每个分支至少执行一次。
条件覆盖:设计测试用例时,应保证程序中每个复合判定表达式中,每个简单判定条件的取真和取假情况至少执行一次。
判定条件覆盖:
条件组合覆盖:
路径覆盖:选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。