什么是静态测试和测试评审?


什么是静态测试?

静态测试是一种软件测试方法,用于在不运行程序的情况下查找软件应用程序中的故障。静态测试用于在开发的早期阶段预防问题,因为此时更容易发现和纠正故障。它还有助于检测动态测试可能错过的故障。

另一方面,动态测试在代码执行时检查应用程序。

静态测试方法分为两类:

  • 手动检查 - 手动检查包括手动代码分析,通常称为评审。

  • 使用工具进行自动分析 - 自动分析本质上是使用工具执行的静态分析。

您将在本文中学习以下内容:

  • 什么是静态测试?

  • 什么是测试评审?

  • 为什么进行静态测试?

  • 静态测试中测试什么?

  • 如何执行静态测试?

  • 静态测试技术

  • 用于静态测试的工具

  • 成功进行静态测试过程的技巧

什么是测试评审?

静态测试评审是一个程序或会议,旨在识别任何软件设计中的缺陷。评审的另一个好处是,所有团队成员都能够及时了解项目的进展,并且有时想法的多样性会导致很棒的建议。文档由个人亲自检查,任何不一致之处都将得到解决。

评审进一步细分为四类:

  • 非正式评审

  • 演练

  • 技术评审

  • 检查

在评审过程中,有四种参与测试的人员:

  • 主持人 - 检查条目,跟踪返工,指导团队成员并安排会议。

  • 作者 - 对修复发现的问题和提高文档价值承担责任。

  • 记录员 - 在评估期间记录缺陷并监控评审会议。

  • 评审员 - 检查内容并查找缺陷。

  • 经理 - 决定实施评估并确保实现评审过程目标。

以下类型的故障在静态测试期间可能更容易检测到:

  • 偏离标准

  • 不可维护的代码

  • 设计缺陷

  • 缺少需求

  • 不一致的接口规范

通常,静态测试期间检测到的缺陷是由于安全漏洞、未声明的变量、边界违规、语法违规、不一致的接口等造成的。

为什么进行静态测试?

静态测试出于以下列出的原因进行:

  • 快速发现和纠正缺陷

  • 缩短了开发时间表。

  • 节省测试时间和成本

  • 提高开发效率

  • 为了在以后的测试阶段减少复杂性

静态测试中测试什么?

在静态测试期间评估以下项目:

  • 单元测试用例

  • 业务需求文档 (BRD)

  • 用例

  • 系统/功能需求

  • 原型

  • 原型规范文档

  • 数据库字段字典电子表格

  • 测试数据

  • 可追溯性矩阵文档

  • 用户手册/培训指南/文档

  • 测试计划策略文档/测试用例

  • 自动化/性能测试脚本

如何执行静态测试?

静态测试以以下方式进行:

  • 进行检查程序以彻底检查应用程序的布局。

  • 为每个正在测试的文档使用清单,以确保所有评估都得到充分解决。

以下是执行静态测试的多种操作:

  • 用例需求验证 - 它确保已检测到所有用户操作以及与其相关的任何输入和输出。用例越广泛和完整,测试过程就越准确和完整。

  • 功能需求验证 - 这将验证功能需求是否涵盖所有相关方面。它还检查数据库功能、接口列表以及硬件、软件和网络需求。

  • 架构审查 - 所有业务功能,例如服务器位置、网络图、协议规范、负载平衡、数据库访问、测试设备等。

  • 原型/屏幕模型验证 - 此步骤包括验证目标和用例。

  • 字段字典验证 - UI 中的每个字段都具有足够的说明,以便创建字段级验证测试用例。检查字段的最小和最大长度、列表值、错误消息等。

静态测试技术

  • 非正式评审

  • 演练

  • 技术评审

  • 检查

  • 静态分析

    • 数据流

    • 控制流

用于静态测试的工具

以下是用于静态测试的一些工具:

  • Checkstyle

  • Soot

  • SourceMeter

成功进行静态测试过程的技巧

软件工程中执行静态测试的一些有用提示。

  • 专注于真正重要的事情。

  • 正确规划和监控审查活动。在大多数情况下,软件概述和评估将合并到同行评审中。

  • 使用举例来培训人员。

  • 解决人为问题

  • 将程序的正式性作为项目文化的一部分来维持。

  • 持续改进的方法和工具

  • 通过消除测试过程中的重大延迟,可以最大程度地减少测试成本和时间。

总结

  • 静态测试的目标是尽快检测到缺陷。

  • 静态测试并不是真正替代动态测试;两者都检测不同类型的故障。

  • 评审是一种有用的静态测试方法。

  • 评审不仅有助于发现问题,还有助于理解缺少的需求、设计缺陷和不可维护的代码。

更新于: 2021年6月9日

2K+ 次查看

开启您的职业生涯

通过完成课程获得认证

开始学习
广告