医疗器械嵌入式软件 | 软件单元测试、集成测试和系统测试的区别

📅 2026/7/29 12:01:13
医疗器械嵌入式软件 | 软件单元测试、集成测试和系统测试的区别
软件单元测试、集成测试和系统测试是软件开发过程中三个不同层次和目的的测试活动它们之间有明确的区别。以下是基于法规要求对三者区别的详细说明1. 测试对象与范围不同测试类型测试对象范围描述软件单元测试软件单元测试最小的、不可再分的软件项如一个函数、一个类。集成测试软件项由若干软件单元组成即软件模块测试软件单元之间、软件项之间以及软件与外部组件硬件或其他软件的接口和交互。软件系统测试软件系统由若干软件项组成测试整个集成后的软件系统作为一个整体验证其是否满足所有软件需求。关键定义引用软件单元(Software Unit)不可再分的软件项YY/T 0664-2020, 3.26。软件项(Software Item)计算机程序中任何可识别的部分如源代码、目标代码、控制数据或这些项的集合YY/T 0664-2020, 3.24。软件系统(Software System)有组织的、经集成的软件项组合以完成某个特定功能或一组功能YY/T 0664-2020, 3.25。2. 测试目的与焦点不同测试类型主要目的测试焦点软件单元测试验证每个软件单元的逻辑正确性、边界条件并确保其按详细设计运行。单元内部实现的正确性。通常采用白盒测试方法关注代码逻辑、路径覆盖等。集成测试验证软件单元/软件项集成后接口和数据传输是否正确交互是否符合设计。接口和交互。通常采用白盒、黑盒、灰盒测试相结合的方式关注模块间的调用、数据传递、时序等。软件系统测试验证整个软件系统是否满足规定的功能和性能需求确认其作为产品的行为。系统整体功能和外部的行为。通常采用黑盒测试方法从用户视角验证需求实现。关键描述引用《医疗器械软件注册审查指导原则2022年修订版》2022年第9号YY/T 0664-2020《医疗器械软件软件生存周期过程》, 附录B3. 文档中关于“合并”的说明如YY/T 0664-2020, IEC 62304中提到从管理和计划的角度可以将集成测试和系统测试的活动合并到一个计划中执行。但这不意味着两者是同一件事而是指在项目策划时可以将这两类测试的组织、文档和资源安排进行统筹。关键注释引用“将集成测试和软件系统测试合并到一项单一的计划和一组活动中是可接受的。”YY/T 0664-2020, 5.1.5 注1IEC 62304, 5.1.5 NOTE 1结论软件单元测试、集成测试和系统测试是三个层次分明、对象不同、目的各异的测试阶段。单元测试关注代码单元的正确性。集成测试关注模块间接口的正确性。系统测试关注整个系统是否满足用户和产品需求。因此不能简单将软件系统测试简单地等同于集成测试。系统测试是在集成测试完成、系统整体构建完毕后进行的更高级别的验证和确认活动。