软件测试全流程:从单元测试到系统确认测试通俗易懂详解

文摘   职场   2024-12-25 08:30   北京  

单元测试(UT)、集成测试(IT)、系统测试(ST)、模块接口测试(BBIT)、系统设计验证(SDV)、系统集成测试(SIT)以及系统确认测试(SVT)7种测试都是什么?咱们今天一一来分享给大家!

1. 单元测试 (UT)
  • 通俗解释

  • 想象你在搭积木,每一块积木就是一个函数或者类。单元测试就是检查每一块积木是不是都做得很标准,形状、大小是不是和设计图(LLD 文档)一致。如果每块积木都没问题,那搭起来的东西就更牢固。这个测试主要是开发人员在做,他们最清楚每块积木是怎么做出来的。

  • 专业说明

  • 单元测试的对象是软件设计详细说明书(LLD)中定义的程序单元或模块,是单元测试用例设计中的最大可测试单元。它通过执行函数来检查模块代码是否符合 LLD 文档要求,验证函数的输入输出是否和详细设计文档中预定义的一致。函数是软件开发中的基本单位,单元测试确保每个函数的可靠性,为后续的集成测试做准备。

2. 集成测试 (IT)
  • 通俗解释

  • 当你把几块通过单元测试的积木(单元)拼在一起,看看它们能不能很好地组合起来,有没有缝隙或者不匹配的地方,这就是集成测试。就像检查乐高积木拼在一起后能不能变成一个完整的造型,开发人员和测试人员都可以做这个检查。

  • 专业说明

  • 集成测试是对经过单元测试的单元进行组合后的测试,依据高层设计(HLD),主要检查模块之间的接口和依赖关系是否存在错误。集成测试的对象是多个单元测试对象的组合(至少两个),目的是从已验证的函数开始,逐层向上集成,形成可运行的模块。

3. 系统测试 (ST)
  • 通俗解释

  • 你把所有拼好的积木(软件模块)组成一个大的玩具(软件系统),然后从整体上看看这个大玩具能不能按照你想要的方式玩起来,不管里面每个小积木是怎么连接的,只看整个玩具的表现,这就是系统测试。

  • 专业说明

  • 系统测试是针对软件项目组开发的软件系统进行的全面测试,按照 CMMI(能力成熟度模型集成)定义,采用黑盒测试方法,即不考虑程序内部逻辑,只检查输入输出是否符合规格说明书中的需求规定,确保整个软件系统符合模块需求规格说明书(MST)要求。

4. 模块接口测试 (BBIT)
  • 通俗解释

  • 当你把积木拼起来的时候,要看看两块积木连接的地方是不是严丝合缝,这就是模块接口测试。它和整体调试有点像,但又不完全一样,它更专注于模块之间接口的配合。

  • 专业说明

  • BBIT 主要验证模块之间的接口是否能够正确配合。它从经过验证的模块开始,逐层向上集成,形成可运行的系统。与联调不同,它专注于模块接口,而联调涉及软件、硬件或不同产品间的配合测试。

5. 系统设计验证 (SDV)
  • 通俗解释

  • 你有一个很复杂的玩具设计(软件系统设计),在组装的过程中,你要看看各个小部分(子系统)组合起来是不是符合你一开始的设计想法,这就是系统设计验证。它有点像在组装过程中检查设计的合理性。

  • 专业说明

  • SDV 属于系统测试,偏向灰盒测试。它验证多个子系统的组合是否满足设计需求(DR),在关注系统内部实现的同时,检查模块集成后是否符合设计要求。

6. 系统集成测试 (SIT)
  • 通俗解释

  • 这就好比你把所有做好的玩具部件(子系统)放在一个大盒子里,然后从外面摇晃、操作这个盒子,看看整个玩具(系统)能不能正常运行,不去管里面每个部件是怎么工作的。

  • 专业说明

  • SIT 是对系统进行黑盒测试,验证系统是否满足设计需求。与 SDV 不同,SIT 不关注系统内部的具体实现。在实际应用中,通常由不同项目组(子系统)的测试人员分别进行,重点关注各自子系统在集成后的表现。

7. 系统确认测试 (SVT)
  • 通俗解释

  • 你把做好的玩具拿给别人玩,看看它在各种玩法(应用场景)下都能不能让玩家满意,这就是系统确认测试。它确保这个玩具(软件产品)在实际使用场景中都能正常工作。

  • 专业说明

  • SVT 是验收测试,其测试对象是产品包需求(OR)。它从产品可能的应用环境角度对系统进行评估,目的是确认产品能够满足产品包需求所规定的各种应用场景。

测试类型

定义

目的

执行者

单元测试 (UT)

单元测试的对象是 LLD 中所定义的程序单元或模块,是单元测试用例设计中可测试的最大单元,测试对象可能由一个或多个函数或者类组成

通过函数运行来检查模块代码对于 LLD 文档的符合性,验证每个函数的输入输出响应与详细设计文档中预定义的是否一致,确保每个函数牢固可靠,为 IT 测试做准备

开发人员

集成测试 (IT)

把若干个经过单元测试的单元组装到一起而进行的测试,依据 HLD,主要发现接口、依赖中的错误或不完善的地方,测试对象为若干个单元测试对象的组合,至少为两个

根据模块设计对模块的分解,从已验证的函数开始,逐层向上集成,得到一个可运行的模块

开发人员或测试人员

系统测试 (ST)

CMMI 定义的系统测试,是针对软件项目组所承担开发的软件系统进行的整体测试,采用黑盒测试方法

检验输入输出信息是否符合规格说明书中有关需求规定,确保模块符合模块需求规格说明书要求

/

模块接口测试 (BBIT)

模块接口测试,验证模块之间的接口能不能配合

根据系统设计对系统的分解,从已通过验证的模块开始,逐层向上集成,得到一个可运行的系统

开发人员

系统设计验证 (SDV)

属于测试人员开展的系统测试,偏灰盒测试

验证各子系统的配合是否满足设计需求 (DR),关注内部实现,验证多个模块集成以后是否满足设计需求

测试人员

系统集成测试 (SIT)

验证设计需求是否得以满足,把系统当作一个黑盒来测试,不关心内部具体的实现

/

不同项目组(子系统)的测试人员分别测试各自的子系统

系统确认测试 (SVT)

验收测试,测试对象是产品包需求 OR

确认 (或验收) 产品包需求给出的各种应用场景产品均能满足

/


近期热文:

图解最详细的项目研发全流程及各阶段核心问题表
找女项目经理做女朋友的18条好处【男生必看】
项目经理级研发人员绩效考核实例表V3.0
需求管理全过程流程图及各阶段核心关注点详解
年薪60w项目经理必备的复盘方法及模型【附每周复盘模板】
史上最详细的华为内部流程管理详解(附关键流程图下载)
工程项目管理必懂的12个流程图
图解华为新员工入职8个阶段180天详细培养计划
一文掌握IPD流程中的技术评审TR及其关键核心关注点
史上最简洁最高效的项目周报怎么写?
图解项目管理全流程图及详细管理过程
项目管理8种实用工具集锦
图解研发效能度量的指标,模型和落地方法
史上最实用的麦肯锡解决问题方法论详解没有之一
史上最详细的工业互联网项目开发工作流及各阶段核心关注点
史上最全的项目风险清单及应对措施要点--再也不愁项目风险管理了
图解华为LTC(从线索到回款)全流程及其运作体系PPT
一文详解甘特图如何画以及具体实例详解【附可编辑模板下载】
应广大粉丝要求,我们建立了一个【PMO前沿交流群】,小伙伴们热情踊跃,目前人数已经上万人了,不能直接进群啦,想要进群的添加小编微信,拉你进群。两个添加其一即可!

欢迎加入中国最大的PMO&PM社区

PMO前沿
传播项目管理知识,提升项目管理能力,关注PMO前沿动态 !
 最新文章