黑盒测试

已知产品所应具有的功能,通过验证输入可否得到预期输出来检测每个功能是否都能正常使用。黑盒测试方法一般有等价类划分、边界值分析法、错误猜测法、因果图法、随机测试、场景法

等价类划分法
等价类是一类具有共同特性的测试输入的一部分。在等价类中,各个输入数据对于揭露程序中的错误都是等效的,测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据,取得较好的测试结果。
分类:有效等价类、无效等价类(长度,类型,操作,空)
典型应用场景:具有输入功能,但输入之间没有组合关系
边界值分析法
是对等价类划分方法的补充。大量的错误是发生在输入或输出范围的边界上,因此针对各种边界情况设计测试用例,可以查出更多的错误。
边界确定:上点必选;离点开内闭外;内点必选
典型应用场景:在等价类的基础上针对有边界范围的测试数据输入的地方
场景法
用流程图描述用户的使用场景,一条流程路径就是一条测试用例
典型应用场景:对于多个功能之间的组合逻辑测试,可以使用场景法
判定表法
一种以表格形式表达多条件逻辑判断的工具
条件桩:列出问题中的所有条件。列出条件的次序无关紧要。
动作桩:列出问题中可能采取的操作。操作的排列顺序没有约束。
条件项:列出条件对应的取值。所有可能情况下的Y/N值或0/1值。
动作项:列出条件项的各种取值情况下应该采取的动作结果。
设计测试用例的步骤:明确条件桩(找到所有的输入条件)-生成测试用例-对条件桩进行全组合-明确每个组合对应的动作桩(基于每一种条件的组合情况,确定本组合下的输出结果)-设计测试用例,每行数据对应一条测试用例
典型应用场景:有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
因果图
用图解的方法表示输入的各组合关系,写出判定表,进而设计测试用例的一种黑盒测试方法
基本符号
恒等(-):条件成立,结果成立。
非(~)NOT:条件成立,结果不成立;条件不成立,结果成立。
或(V)OR:只要有一个条件成立,结果就成立;所有条件都不成立时,结果才不成立。
与/且(^)AND:多个条件必须同时成立,结果成立;只要有一个不成立,结果就不成立。
正交法
大量的参数的组合引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围。
k因素m水平Ln(mk):k代表因素(输入参数),m叫水平(输入参数的取值),n代表测试用例数
设计测试用例的步骤
需求分析-确定因素与水平(因素:控件名称;水平:每个控件对应的取值)-确定要采用的正交表-将正交表中的字母用文字代替-设计测试用例(一行就是一条测试用例)

白盒测试

白盒测试也称结构测试或逻辑驱动测试,白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

语句覆盖 程序中每条语句至少被执行一次。
判定覆盖:程序中的每个判断真假至少执行一次。
条件覆盖:每个判定的每个条件至少有一次为真值,有一次为假值。
判定/条件覆盖:判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。
条件组合覆盖:每个判定中条件结果的所有可能组合至少出现一次。
路径覆盖:覆盖程序中所有可能的路径。

灰盒测试

灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。接口测试是典型的灰盒。