什么是静态测试?
静态测试是一种软件测试技术,用于在不执行代码的情况下检查软件应用程序中的缺陷。STA它还可以发现动态测试找不到的错误。
与之对应的是动态测试,它在代码运行时检查应用程序。有关静态测试和动态测试之间的详细区别,参阅本教程。
静态测试技术的两种主要类型是
- 手动检查:手动检查包括手动完成的代码分析,也称为评审。
- 使用工具进行自动化分析:自动化分析基本上都是使用工具完成的静态分析。
在本教程中,将了解-
- 什么是静态测试?
- 什么是测试评审?
- 为什么是静态检测?
- 静态测试中测试了哪些内容
- 静态测试是如何进行的
- 静态测试技术
- 静态测试使用的工具
- 成功完成静态测试流程的小贴士
什么是测试评审
静态测试中的审查是为了发现任何程序设计中的潜在缺陷而进行的过程或会议。审查的另一个重要意义是,所有团队成员的文档都由人直接审查,并对差异进行分类。
评审可进一步分为四个部分:
- 非正式评审
- 快速评审
- 技术评审
- 检查
在评审过程中,参与测试的四种类型的参与者是:
- 主持人:执行入门检查,跟进返工,指导团队成员,安排会议。
- 作者:对发现的缺陷负责修复,提高文档质量
- 抄写员:在评审期间记录缺陷并参加评审会议
- 审查员:检查材料是否有缺陷并进行检查
- 经理:决定评审的执行,并确保评审过程目标的实现。
静态测试期间更容易发现的缺陷类型包括:
- 与标准的偏差
- 不可维护的代码
- 设计缺陷
- 缺少需求
- 接口规范不一致
通常,静态测试过程中发现的缺陷是由于安全漏洞、未声明变量、边界违规、语法违规、接口不一致等原因。
为什么是静态检测?
执行静态测试的原因如下
- 及早发现和纠正缺陷
- 缩短开发时间
- 降低测试成本和时间
- 用于提高开发生产力
- 在测试后期减少缺陷
静态测试中测试了哪些内容
在静态测试中,测试了以下内容
- 单元测试用例
- 业务需求文档(BRD)
- 用例
- 系统/功能要求
- 原型
- 原型规范文档
- 数据库字段字典电子表格
- 测试数据
- 可追溯性矩阵文档
- 用户手册/培训指南/文档
- 测试计划策略文档/测试用例
- 自动化/性能测试脚本
静态测试是如何进行的
要进行静态测试,可以通过以下方式进行:
- 执行检查流程,全面检查应用程序的设计
- 对每个正在审查的文档使用核对表,确保所有审查都被完全覆盖
执行静态测试的各种操作包括:
- 用例需求验证:验证所有最终用户操作以及与相关联的任何输入和输出是否都已被识别。用例越详细、越彻底,测试用例就越准确、越全面。
- 功能需求验证:确保功能需求识别所有必要的元素。它还考察了数据库功能、接口列表以及硬件、软件和网络要求。
- 架构审查:所有业务级别流程,如服务器位置、网络图、协议定义、负载平衡、数据库可访问性、测试设备等。
- 原型/屏幕模型验证:此阶段包括需求和用例的验证。
- 字段字典验证:UI中的每个字段都定义得足够好,可以创建字段级验证测试用例。检查字段的最小/最大长度、列表值、错误消息等。
静态测试技术
- 非正式评审
- 快速评审
- 技术评论
- 检查
-
静态分析
- 数据流
- 控制流

静态测试使用的工具
静态测试使用的各种工具如下:
- Checkstyle
- Soot
- SourceMeter
成功完成静态测试流程的小贴士
在软件工程中执行静态测试过程的一些有用提示。
- 只关注真正重要的事情
- 明确计划和跟踪评审活动。软件遍历和检查通常包含在同行评审中
- 用实例培训参与者
- 解决人员问题
- 将过程形式化作为项目文化
- 持续改进-过程和工具
- 通过消除测试执行中的主要延迟,可以减少测试成本和时间
总结:
- 静态检测就是要及早发现缺陷。
- 静态测试不是对替身进行动态测试,两者都发现了不同类型的缺陷
- 点评是静态测试的有效技术
- 评审不仅有助于发现缺陷,还可了解缺失的需求、设计缺陷和不可维护的代码。