白盒测试快速入门2-静态测试
什么是静态测试?
通过静态测试我们无需实际执行就可以检查软件中的缺陷。
进行静态测试是为了避免在开发的早期阶段出现错误。静态测试有助于查找动态测试无法找到的错误。
静态测试技术的两种主要类型是
- 手动检查 :手动检查包括手动完成的代码分析,也称为REVIEWS。
- 使用工具进行自动分析:自动分析基本上是使用工具完成的静态分析。
什么是测试评审?
静态测试中的评论是为了发现任何程序设计中的潜在缺陷而进行的过程或会议。 评审的另一个重要意义是所有团队成员都了解项目的进展情况,有时思想的多样性可能会产生出色的建议。 文件由人直接检查,并且差异被整理出来。
评审可以进一步分为四个部分:
- 非正式评审
- 走读
- 技术评审
- 检查
在审核过程中,参与测试的四种参与者是:
- 主持人 :执行进入检查,跟进返工,指导团队成员,安排会议。
- 作者 :负责修复发现的缺陷并提高文档质量
- Scribe :它在审核期间记录缺陷并参加审核会议
- 审稿人 :检查材料是否有缺陷和检查
- 经理 :决定审核的执行并确保满足审核流程目标。
在静态测试期间更容易找到的缺陷类型有:
- 偏离标准
- 不可维护的代码
- 设计缺陷
- 缺少需求
- 接口规范不一致
通常,静态测试期间发现的缺陷是由于安全漏洞,未声明的变量,边界违规,语法违规,接口不一致等原因造成的。
为何静态测试?
由于以下原因执行静态测试
早期缺陷检测和纠正
- 缩短开发时间
- 降低了测试成本和时间
- 为了提高开发效率
- 在测试的后期阶段减少缺陷
静态测试中的内容
在静态测试中,测试以下内容
- 单元测试用例
- 业务需求文档(BRD)
- 用例
- 系统/功能要求
- 原型
- 原型规范文件
- 数据字典
- 测试数据
- 可追溯性矩阵文档
- 用户手册/培训指南/文档
- 测试计划策略文档/测试用例
- 自动化/性能测试脚本
如何进行静态测试
要执行静态测试,可通过以下方式完成:
- 执行检查过程以完全检查应用程序的设计
- 对每个正在审核的文档使用清单,以确保完全涵盖所有审核
执行静态测试的各种活动包括:
- 用例需求验证:验证是否已识别所有最终用户操作,以及与之关联的任何输入和输出。 用例越详细和彻底,测试用例就越准确和全面。
- 功能需求验证 :确保功能需求识别所有必需元素。 它还介绍了数据库功能,接口列表以及硬件,软件和网络要求。
- 架构评审 :所有业务级别流程,如服务器位置,网络图,协议定义,负载平衡,数据库可访问性,测试设备等。
- 原型/屏幕样机验证 :此阶段包括要求和用例的验证。
- 字段字典验证 :UI中的每个字段都定义得足以创建字段级验证测试用例。 字段检查最小/最大长度,列表值,错误消息等。
静态测试技术
- 非正式评审
- 演练
- 技术评审
- 检查
- 静态分析
- 数据流
- 控制流
用于静态测试的工具
比如
- flake8
- Parasoft Jtest
- Checkstyle
- IntelliJ IDEA
- FindBugs
- Jarchitect
- Soot
- SQUALE
- ThreadSafe
- SourceMeter
参考资料
- python测试开发项目实战-目录
- python工具书籍下载-持续更新
- python 3.7极速入门教程 - 目录
- 讨论qq群630011153 144081101
- 原文地址
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
注意点
在软件工程中执行静态测试过程的一些有用技巧。
- 只关注真正重要的事情
- 明确规划和跟踪审核活动。 软件演练和检查通常合并到同行的评论中
- 通过实例培训参与者
- 解决人员问题
- 保持流程正式作为项目文化
- 持续改进 - 流程和工具
- 通过消除测试执行中的主要延迟,可以降低测试成本和时间
小结
- 静态测试可尽早发现缺陷。
- 静态测试不能代替动态测试
- 评审是静态测试的有效技术
- 评审不仅有助于发现缺陷,还可以了解缺失的要求,设计缺陷,不可维护的代码,
网友评论