软件测试级别

软件测试分为多个级别。按测试类别,还可以分为功能测试和非功能测试。下一章将详细介绍这两类测试。

软件测试级别概览

测试分为以下四个级别:

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
打开完整尺寸图表

软件测试级别概览

单元测试

单元是源代码中可以独立测试的最小部分。单元测试是第一个测试级别,通常由开发人员或同组成员执行,而不是由软件测试人员执行。应在集成单元前完成单元测试。清晰的单元测试计划和测试用例必不可少。

确认各个单元都能正确工作后,就可以更有把握地进行集成。开发与测试同步进行,起初可能感觉进度较慢,因为发现缺陷后需要修改代码。随着代码质量提高,缺陷会逐渐减少。这样可以打下更扎实的基础,加快后续开发并节省时间。

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
打开完整尺寸图表

单元测试

有效的单元测试还可以节省成本。开发后期修复缺陷的成本通常远高于开发初期。

单元测试只覆盖较小的组件,因此测试用例和测试数据无法验证整个应用的所有功能或信息流场景。有些场景必须等多个单元组合成更大的组件后才能测试。

集成测试

完成单元测试后,集成测试会检查两个或更多单元如何交互,以及它们在不同场景下产生什么输出。这项工作由软件测试工程师执行。

集成测试可以发现功能缺陷、与需求有关的缺陷以及性能缺陷。单元测试检查组件能否独立运行。集成测试检查组件能否按预期协同工作。主要方法有:

  1. 大爆炸集成
  2. 自顶向下集成
  3. 自底向上集成
采用大爆炸集成测试时,先将所有模块组合成完整系统,再对整体进行测试以发现缺陷。

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
打开完整尺寸图表

集成测试

自顶向下集成从最高层模块开始,逐个加入并测试下层模块。自底向上集成的顺序相反,先测试最低层模块,再逐步加入上层模块。一种常见做法是先做自底向上测试,再做自顶向下测试。

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
打开完整尺寸图表

自顶向下与自底向上的集成测试

在自顶向下测试中,桩程序可替代尚未完成或无法使用的下层模块或子程序。在自底向上测试中,如果所需的上层程序尚不可用,则由驱动程序充当调用方。

系统测试

集成成功后,系统测试会在各组件协同工作的情况下检验整个系统。这项测试检查性能、功能与技术规格,以及组织的质量标准。应由技术熟练的测试团队在尽量接近实际部署的环境中开展。

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
打开完整尺寸图表

系统测试

系统测试完全采用黑盒测试。它从用户视角检查系统是否符合需求,涉及应用行为、设计和最终用户的预期。它对应用架构和客户的业务需求进行验证与确认。

验收测试

单元测试、集成测试和系统测试完成后,验收测试使用预先定义的场景和测试用例评估质量与准确性。质量保证团队从多个角度审查系统,包括外观和内部运行。客户能否接受系统也取决于法律和合同要求,因此这个阶段至关重要。验收测试包括:

  1. 用户验收测试。实际用户在接受软件前进行测试,可以在自己的场所进行,也可以在开发组织的场所进行。
  2. 运营验收测试。检查使用和维护系统所需的流程及操作规程是否已经到位。
  3. 合同与法规验收测试。检查系统是否满足合同要求,以及适用的政府、法律和安全标准。
  4. Alpha 测试。在开发接近结束且可以测试整个系统时,检查产品整体质量,并为 Beta 测试做准备。测试工程师和其他团队成员从客户视角审查质量及技术实现。这可能需要较长时间。
  5. Beta 测试。Alpha 测试结束后,实际用户在真实条件下试用产品,以提升质量并确认产品满足他们的要求。这项测试在发布前几天或几周进行,可能持续数天。此阶段发现缺陷的概率相对较低,因此测试可能比 Alpha 测试更短。

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
打开完整尺寸图表

验收测试



我们保证,学完免费在线培训,您就能通过软件测试认证考试!

  1. 01

    在线报名

    选择您希望获得的认可认证,完成报名。

  2. 02

    接收访问码

    您的专属考试访问码将立即发送到您的电子邮箱。

  3. 03

    准备并参加考试

    学习免费培训材料,在线回答 50 道选择题。

  4. 04

    获得终身有效的认证

    领取全球有效的证书和可验证的数字徽章。

Accredited Software Test Manager Certification™ 证书样本
报名参加认证

您的免费优质在线培训

Software Testing Revealed 第二版已为您备好。

我们与来自各主要行业的知名企业领导者、团队负责人、软件测试教练、导师、专家及权威人士共同开发了这套培训。所有访问 International Software Test Institute™ 的人士都可以学习。您可通过 您的免费软件测试书籍 以及 您的免费优质软件测试培训 获取培训资料。这两个栏目都在顶部菜单中。

这些资料是 International Software Test Institute™ 享有版权的知识产权。我们免费向所有人分享,因为公开我们的专业经验能帮助软件测试从业者,并促进这一领域的发展。

认证考试采用选择题。请学习在线培训,掌握通过考试和获得软件测试认证所需的知识。

我们保证,学完免费优质在线培训,您就能通过软件测试认证考试!