软件测试可以分为黑盒测试(又叫功能测试)和白盒测试(也叫结构化测试或者逻辑驱动测试)。 所谓黑盒测试,就是把软件当作一个“黑盒”,测试人员不关心软件的内部结构、运作情况只需要根据软件需求文档,验证软件与需求的一致性。所以,如果软件只进行黑盒测试是不需要提供源代码的。 黑盒测试能够发现以下类型的错误:软件的功能错误或遗漏的功能、界面错误、数据结构或外部数据库访问错误、性能缺陷、初始化和程序终止错误等。 黑盒测试不应当由编码人员来执行,因为他知道太多的程序内部知识。最常见的黑盒测试类型有功能测试、容量测试、安全性测试、负载测试、恢复性测试、稳定性测试、可靠性测试等。 黑盒测试具有以下优点:
黑盒测试具有以下缺点:
所谓白盒测试按照程序内部的结构来测试程序,检验程序中的每条路径是否都能按预定要求正确工作。因此,白盒测试是基于程序的测试,测试人员必须知道软件内部的工作过程, 白盒测试的主要方法有基本路径测试和控制结构测试等。白盒测试又可分为静态方法和动态方法。静态分析是不通过执行程序进行测试的方法。它是任何进一步测试执行的前提。动态分析方法包含了程序在受控环境下使用特定的期望结果进行正式的运行。 白盒测试期望达到这样的目的:
白盒测试具有以下优点:
白盒测试具有以下缺点:
总之,黑盒测试和白盒测试的测试对象、测试目的是不同的,白盒测试重在验证代码的正确性,黑盒测试重在软件与需求的符合性,在软件的测试过程中,二者缺一不可。 这正是: 测试分为黑白盒,二者功效差很多 若要测试很有效,二者缺一都不可 |
|