白盒测试:
依据:LLD(详细设计)
目的:利用不同的逻辑率到达某种程度的代码覆盖率(考虑全部程度的代码覆盖率会增加本)
步骤:静态分析和动态分析
优点:迫使测试人员去了解软件的实现
检测代码中的每条路径和分支
揭示隐藏在代码中的错误
对代码的测试进行比较彻底
缺点:白盒测试投入较大,成本较高
白盒测试不验证规格的正确性
无法检查代码中遗漏的路径和数据敏感性错误
黑盒测试:
依据:SRS(Software requriement specification软件需求说明书)
目的:从质量特性的不同方面,对软件进行测试,检测该软件是否实现了SRS中所有显示和隐式的需求
步骤:构造输入和预期输出,通过一定的操作步骤来测试软件。
优点:对较大的代码单元来说,黑盒测试比白盒测试的效率高
测试人员不需要了解实现得细节,包括特定的编程语言
测试人员和编程人员是相互独立的
从用户的角度进行测试,很容易被接受和理解
有助于暴露任何与规格不一致或者歧异的地方
测试用例可以在规格完成后马上进行
缺点:不能测试程序内部特定部位
如果程序未执行的代码无法发现
没有清晰的和简明的规格,测试用例很难被设计