单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。
集成测试是基于软件需求说明书的黑盒测试,是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确
确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试的主要目的是检查软件单位之间的接口是否正确,主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。
选项A:单元测试确实针对程序的最小单元(如函数、类)进行测试,目的是检查模块是否实现规定功能,并发现编码或算法错误。它涉及编码和详细设计文档(如单元设计说明),因此该叙述是正确的。
选项B:集成测试的主要目的是测试模块或组件之间的接口和交互,通常在集成过程中逐步进行(如自顶向下或自底向上方法)。它不是基于软件需求说明书的黑盒测试,而是基于设计文档(如架构设计),并常采用灰盒或白盒技术(关注内部结构)。系统测试才是基于需求说明书的黑盒测试,对整个系统进行验证。因此,该叙述将集成测试描述为“基于需求说明书的黑盒测试”和“对已经集成好的软件系统进行彻底测试”是不正确的,因为这混淆了集成测试和系统测试。
选项C:确认测试(也称为有效性测试或需求测试)的主要目的是检查已实现的软件是否满足需求规格说明书中定义的需求,通常通过系统测试或验收测试来执行。该叙述正确。
选项D:系统测试的主要目的是验证整个软件系统是否符合需求规格说明书的要求(包括功能、性能等),它是一种黑盒测试,关注外部行为,而不是针对程序内部结构或接口。检查软件单位之间接口的正确性是集成测试的目标。因此,该叙述错误地将系统测试描述为“主要目的是检查软件单位之间的接口”和“针对程序内部结构进行测试”,这是不正确的。