软件测试的定义:
书面定义:为了发现程序中的错误而执行程序的过程。
自己理解:软件质量的检查。
软件测试分类:
按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试
黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为功能测试或者数据驱动测试。
白盒测试:要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为结构测试或逻辑驱动测试。
灰盒测试:介于黑盒测试与白盒测试之间的测试,既要像黑盒测试那样关注输出对于输入的正确性,同时也关注内容表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。
按测试方式,软件测试可分为:静态测试、动态测试
静态测试:是指不运行程序,对程序和文档进行分析与检查;静态测试技术又称为静态分析技术。
动态测试:通过运行程序进行检查、分析程序的执行状态和程序逻辑的外部表现。
按测试阶段,软件测试可分为:单元测试、集成测试、系统测试、验收测试
单元测试:单元测试是对软件设计的最小单元——模块,进行正确性检验的测试工作。
目的:主要是测试模块在语法、格式和逻辑上的错误。
集成测试:集成测试也称为组装测试,集成测试按设计要求把通过单元测试的各个模块组装在一起之后所进行的测试。
目的:检查模块间的接口关系,以便发现与接口有关的各种错误
系统测试:系统测试是将已经集成好的软件系统置于实际运行环境中所进行的测试。
目的:根据需求分析时确定的标准检验软件是否满足功能、行为、性能和系统协调性等方面的要求。
验收测试:是软件开发结束后,用户对软件产品投入实际应用前,进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各种要求,以及用户能否接受的问题。