静态测试、动态测试相对。根据动态测试在软件开发过程中所处的阶段和作用分为单元测试、集成测试、组装测试、确认测试和系统测试。单元测试就是白盒测试。系统测试是黑盒测试。
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处。
动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。
扩展资料:
静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面。
可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。
静态测试分为静态黑盒测试和静态白盒测试:静态黑盒测试主要指对产品需求说明书的测试(比如我们的产品说明书包含了用户没有明确指明的功能等);静态白盒测试主要是指对代码的走查、审查、复审。
动态测试分为动态黑盒测试和动态白盒测试:动态黑盒测试主要指对产品的功能性测试,这里涉及到了数据的输入与输出;动态白盒的测试主要是对程序的执行测试。
白盒测试往往采用静态测试的手段
黑盒测试一般只能用动态测试