静态测试与动态测试:它们之间的区别

静态测试和动态测试之间的区别

  • 静态测试无需执行程序即可完成,而动态测试则通过执行程序来完成。
  • 静态测试检查代码、需求文档和设计文档以查找错误,而动态测试检查软件系统的功能行为、内存/CPU 使用情况和系统的整体性能。
  • 静态测试是关于预防缺陷,而动态测试是关于查找和修复缺陷。
  • 静态测试执行验证过程,而动态测试执行确认过程。
  • 静态测试在编译之前执行,而动态测试在编译之后执行。
  • 静态测试技术是结构和语句覆盖,而动态测试技术是边界值分析和等价划分。

静态测试和动态测试之间的区别

什么是静态测试?

静态测试 是一种软件测试,其中测试软件应用程序而不执行代码。手动或自动审查代码、需求文档和文档设计以查找错误。静态测试的主要目标是通过在软件开发过程的早期阶段发现错误来提高软件应用程序的质量。

静态测试 涉及对文档进行手动或自动审查。此审查在测试的初始阶段进行,以便尽早发现缺陷 STLC。审查工作文件,提出评审意见。又称非执行测试或验证测试。

工作文件示例-

  • 需求规格
  • 设计文件
  • 源代码
  • 测试计划
  • 测试用例
  • 测试脚本
  • 帮助或用户文档
  • 网页内容

静态测试技术

  • 非正式的 Rev观点: 这是不遵循任何流程来查找文档错误的审阅类型之一。在这种技术下,您只需审阅文档并对其进行非正式评论。
  • 技术 Rev观点: 由您的同事组成的团队审查软件产品的技术规范,并检查其是否适合该项目。他们试图找出所遵循的规范和标准中的任何差异。这次审查主要集中在与软件相关的技术文档上,例如测试策略、 测试计划 以及需求规范文件。
  • 演练: 工作产品的作者向他的团队解释产品。参与者可以提出任何问题。会议由作者主持。记录员记录评论
  • 检查: 主要目的是发现缺陷,会议由经过培训的主持人主持。这种审查是一种正式的审查类型,它遵循严格的流程来发现 缺陷. Rev评审员有一份检查表来检查工作产品。他们记录缺陷并通知参与者纠正这些错误。
  • 静态代码 Review: 这是对软件源代码进行的系统审查,无需执行代码。它检查代码的语法、编码标准、代码优化等。这也称为白盒测试。此审查可以在开发过程中的任何阶段进行。

什么是动态测试?

动态测试,执行代码。它检查软件系统的功能行为、内存/CPU 使用率以及系统的整体性能。因此得名“动态”

该测试的主要目的是确认软件产品是否符合业务要求。该测试也称为执行技术或验证测试。

动态测试 执行软件并验证输出是否符合预期结果。动态测试在各个测试级别执行,可以是黑盒测试或白盒测试。

动态测试

动态测试技术

动态测试

  • 单元测试:单元测试,单个单元或模块由开发人员测试。它涉及开发人员对源代码的测试。
  • 集成测试: 开发人员将各个模块组合在一起并进行测试。目的是确定集成后哪些模块可以按预期运行。
  • 系统测试: 系统测试 对整个系统进行检查,检查系统或应用程序是否满足需求规范文档。

此外,性能等非功能性测试, 安全测试 属于动态测试类别。

静态测试与动态测试

静态测试 动态测试
测试是在没有执行程序的情况下进行的 通过执行程序进行测试
此测试执行验证过程 动态测试进行验证过程
静态测试是为了预防缺陷 动态测试是关于发现并修复缺陷
静态测试对代码和文档进行评估 动态测试会发现软件系统中的错误/瓶颈。
静态测试涉及要遵循的清单和流程 动态测试涉及执行的测试用例
此测试可以在编译之前执行 编译后进行动态测试
静态测试涵盖结构和语句覆盖测试 动态测试技术是边界值分析和等价分割。
查找缺陷并修复的成本较低 查找和修复缺陷的成本很高
由于这个过程涉及早期阶段,投资回报率将很高 由于该过程涉及开发阶段之后,投资回报率会很低
强烈推荐更多评论以获得更好的质量 为了获得更好的质量,强烈建议增加缺陷数量。
需要参加大量会议 相对而言,需要的会议较少