黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?
正确答案:
白:优点:迫使测试人员去了解软件的实现
检测代码中的每条路径和分支、揭示隐藏在代码中的错误、对代码的测试进行比较彻底
缺点:白盒测试投入较大,成本较高、白盒测试不验证规格的正确性、无法检查代码中遗漏的路径和数据敏感性错误黑:优点:对较大的代码单元来说,黑盒测试比白盒测试的效率高
测试人员不需要了解实现得细节,包括特定的编程语言
测试人员和编程人员是相互独立的
从用户的角度进行测试,很容易被接受和理解
有助于暴露任何与闺阁不一致或者歧异的地方
测试用例可以在规格完成后马上进行
缺点:不能测试程序内部特定部位、如果程序未执行的代码无法发现、没有清晰的和简明的规格,测试用例很难被设计
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
检测代码中的每条路径和分支、揭示隐藏在代码中的错误、对代码的测试进行比较彻底
缺点:白盒测试投入较大,成本较高、白盒测试不验证规格的正确性、无法检查代码中遗漏的路径和数据敏感性错误黑:优点:对较大的代码单元来说,黑盒测试比白盒测试的效率高
测试人员不需要了解实现得细节,包括特定的编程语言
测试人员和编程人员是相互独立的
从用户的角度进行测试,很容易被接受和理解
有助于暴露任何与闺阁不一致或者歧异的地方
测试用例可以在规格完成后马上进行
缺点:不能测试程序内部特定部位、如果程序未执行的代码无法发现、没有清晰的和简明的规格,测试用例很难被设计
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
答案解析:有
微信扫一扫手机做题