求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
软件测试
1.教程
2. 软件测试原则
3. 软件开发生命周期(SDLC)
4. 软件测试命周期(STLC)
5. 软件测试的类型
6. 测试成熟度模型
7. 测试级别
SDLC 模型
1.瀑布模型
2.螺旋模型
3.混合模型
4.原型模型
5. V模型/V和V模型/验证和验证模型
测试的类型
1.手动测试
2.自动化测试
手册的类型
1.白盒测试
2.黑盒测试
3.灰盒测试
白盒技术
1.数据流测试
2.控制流测试
3.分支覆盖测试
4.语句覆盖率测试
5.决策覆盖率测试
黑盒技术
1.决策表
2.全对测试
3.黑盒测试中的因果图
4.状态转换技术
5.用例技术
黑盒的类型
1.功能测试
2.非功能性测试
功能类型
1.单元测试
2.集成测试
3.系统测试
非功能性的类型
1.性能测试
2.易用性测试
3.兼容性测试
测试用例开发
1.测试文档
2.测试场景
3.测试用例
测试技术
1.错误猜测技术
2.等效分区技术
3.边界值分析
测试管理
1.测试计划
2.测试用例审查过程
3.需求可追溯性矩阵
缺陷跟踪
1.软件测试中的错误
2.Bug生命周期
3.测试中bug的严重性和优先级
4.测试环境
5.缺陷管理过程
其他类型的测试
1.回归测试
2.冒烟测试
3.健全性测试
4.静态测试
5.动态测试
6.负载测试
7.压力测试
8.恢复测试
9.探索性测试
10.可视化测试
11.验收测试
12.Alpha 测试
13.Beta 测试
14.数据库测试
15.主机测试
16.Adhoc测试
17.全球化测试
18.变异测试
19.安全测试
20.可访问性测试
21.结构测试
22.批量测试
23.可伸缩性测试
24.稳定性测试
25.峰值测试
26.负面测试
27.正面测试
28.耐久性测试
29.可靠性测试
30.Monkey测试
31.敏捷测试
32.组件测试
33.GUI测试
34.测试策略
软件测试工具
1.软件测试工具
2.测试管理工具
3.缺陷/Bug跟踪工具
4.自动化测试工具
5.性能测试工具
6.跨浏览器测试工具
7.集成测试工具
8.单元测试工具
9.移动测试工具
10.GUI测试工具
11.安全测试工具
12.渗透测试工具
差异
1.自动化测试与手动测试
2.负载测试与压力测试
3.冒烟测试和健全性测试之间的差异
4.系统测试和验收测试之间的差异
5.质量保证与质量控制
6.静态测试与动态测试
7.验证和确认测试
8.Alpha 测试和 Beta 测试
9.黑盒测试与白盒测试与灰盒测试
10.全球化测试和本地化测试之间的区别
11.测试用例与测试场景
12.测试计划 VS.测试策略
13.边界值分析和等价划分之间的差异
14.SDLC VS.STLC
15.Bug, Defect, Error, Fault 和 Failure之间的区别
16.测试和调试之间的区别
17.前端测试 VS.后端测试
18.HLD和LLD的区别
19.BRS vs SRS
20.正面测试和负面测试之间的区别
21.自上而下和自下而上的集成测试之间的区别
22.用例和测试用例之间的区别
23.Monkey 测试 VS Gorilla 测试
24.Stubs和Drivers之间的区别
25.组件测试和单元测试之间的区别
26.软件测试和嵌入式测试之间的区别
27.GUI 测试和可用性测试之间的差异
28.SDET和Tester的区别
29.桌面应用程序测试、客户端-服务器应用程序测试和 Web 应用程序测试之间的区别
30.主动测试
31.什么是API
32.自动化测试
 
 
目录
静态测试
来源:Javatpoint     翻译:Linda (火龙果软件)
2008 次浏览
7次  

在本节中,我们将了解静态测试,它用于在不执行代码的情况下检查应用程序。我们还了解静态测试概念,为什么使用静态测试,如何执行它,静态测试的不同技术,静态测试的优势以及各种静态测试工具。

1. 静态测试简介

静态测试是一个验证过程,用于在不实现应用程序代码的情况下测试应用程序。这是一个具有成本效益的过程。

为了避免错误,我们将在开发的初始阶段执行静态测试,因为它更容易识别错误来源,并且可以轻松修复。

换句话说,我们可以说静态测试可以手动完成,也可以在工具的帮助下完成,通过在开发的早期阶段发现错误来提高应用程序的质量,这也称为验证过程。

在执行静态测试时,我们可以执行以下一些重要活动:

  • 业务需求审查
  • 设计审查
  • 代码演练
  • 测试文档审查

注意:静态测试是在白盒测试阶段执行的,开发人员在将代码交给测试工程师之前检查代码的每一行。

静态测试还有助于我们识别动态测试可能无法发现的错误。

2. 为什么我们需要执行静态测试?

我们可以执行静态测试以满足以下几个方面:

  • 我们可以使用静态测试来提高开发效率。
  • 如果我们对应用程序执行静态测试,我们可以在早期阶段找到检测并轻松修复它们。
  • 使用静态测试将降低测试成本、开发时间和时间。

3. 我们可以在静态测试中测试哪些不同的功能?

我们可以测试静态测试中的各种测试活动,具体如下:

  • BRD [业务需求文档]
  • 功能或系统要求
  • 单元用例
  • 原型
  • 原型规范文档
  • 测试数据
  • 数据库字段字典电子表格
  • 文档/培训指南/用户手册
  • 测试用例/测试计划策略文档
  • 可追溯性矩阵文档
  • 性能测试脚本/自动化

4. 当我们进行静态测试时?

要执行静态测试,我们需要遵循以下步骤:

步骤1:为了全面审查应用程序的设计,我们将执行检查过程。

步骤2:之后,我们将对每个正在审核的文档使用清单,以确保完全涵盖所有审核。

我们还可以在执行静态测试时实现几个活动,下表对此进行了讨论:

5. 为什么我们需要静态测试?

每当我们在测试应用程序或软件遇到以下情况时,我们都需要静态测试:

  • 动态测试非常耗时
  • 早期阶段的缺陷/错误识别
  • 动态测试成本高昂
  • 增加软件的大小

动态测试非常耗时

我们需要静态测试来测试应用程序,因为动态测试是一个耗时的过程,即使动态测试识别了错误并提供了有关错误的一些信息。

早期阶段的缺陷/错误识别

当我们开发软件时,我们不能完全依赖动态测试,因为它会在后期发现应用程序/软件的错误或缺陷,因为程序员需要大量的时间和精力来修复错误。

动态测试成本高昂

我们需要对软件产品进行静态测试,因为动态测试比静态测试更昂贵。在动态测试中涉及测试用例的成本很高,因为测试用例是在初始阶段创建的。

我们还需要保留测试用例的实现和验证,这需要测试工程师花费大量时间。

增加软件的大小

每当我们测试软件时,它都会增加软件产品的大小,由于代码覆盖率的生产力降低,我们无法处理。

这就是为什么我们需要静态测试,以便在软件开发生命周期的早期摆脱错误或缺陷。

6. 静态测试的目标

执行静态测试的主要目标如下:

  • 静态测试将减少生产中的缺陷。
  • 静态测试将尽早识别、预测和修复错误。
  • 它用于节省时间和成本。
  • 它用于在SDLC的早期阶段识别缺陷,在那里我们可以轻松修复它们。

7. 成功的静态测试过程的一些有用点

以下准则可帮助我们在软件测试中执行成功的静态测试过程。

  • 我们可以通过示例培训参与者。
  • 如果我们删除测试执行中的主要延迟,测试成本和时间可以减少。
  • 我们可以根据项目文化保留正式的流程。
  • 我们只能强调重要的事情。
  • 众所周知,软件演练和评审通常合并到同行评审中;因此,我们可以明确计划并跟踪审查活动。
  • 我们可以解决客户的问题。

8. 静态测试技术

静态测试技术为提高软件开发的质量和效率提供了很好的方法。静态测试技术可以通过两种方式完成,如下所示:

  • 审查
  • 静态分析

审查

在静态测试中,审查是一种实现的技术或过程,用于查找应用程序中可能的错误。在审查过程中,我们可以轻松识别和消除各种支持文档中的故障和缺陷,例如SRS [软件需求规范]。

换句话说,我们可以说静态测试中的审查是所有团队成员都将了解项目进度的地方。

在静态测试中,审查可以分为四个不同的部分,如下所示:

  • 非正式审查
  • 演练
  • 技术/同行审查
  • 检查

让我们一一详细了解它们:

  • 非正式审阅, 在非正式审阅中,文档设计者将内容放在查看者面前,每个人都发表自己的观点;因此,在早期阶段会承认错误。
  • 演练 ,通常,演练评审用于由技术人员或专家执行,以验证错误。因此,在开发或测试阶段可能没有问题。
  • 同行评审, 在同行评审中,我们可以检查彼此的文档以查找和解决错误,这通常是在团队中完成的。
  • 检查, 在审查中,检查本质上是由上级机构验证文档,例如,验证SRS [软件需求规范]文档。

静态分析

另一种静态测试技术是静态分析,它用于包含由开发人员建立的代码质量评估。

我们可以使用不同的工具来执行代码的分析和评估。

换句话说,我们可以说开发人员开发的代码是使用一些工具分析的结构错误,这可能会导致缺陷。

静态分析还将帮助我们识别以下错误:

  • 无作用程序代码
  • 未使用的变量
  • 无限循环
  • 语法不正确
  • 具有未定义值的变量

在静态测试中,静态分析可以进一步分为三个部分,如下所述:

数据流:在静态分析中,数据流连接到流处理。

控制流:通常,控制流用于指定命令或指令的实现方式。

循环复杂度:它是对程序复杂度的度量,主要与程序控制流图中独立路径的数量有关。

9. 用于静态测试的工具

在静态测试中,我们市场上有几种工具,但在这里我们讨论的是最常用的工具,如下所示:

  • CheckStyle
  • SourceMeter
  • Soot

CheckStyle

它是一种开发工具,用于帮助开发人员编写遵循编码标准的 Java 代码。CheckStyle 工具可自动执行检查 Java 代码的过程。

它是一个高度配置的工具,几乎可以支持任何编码标准。Google Java Style,Sun代码约定是那些配置文件,CheckStyle支持这些文件。

CheckStyle的功能

以下是 CheckStyle 最常见的功能:

  • 它可以检查我们源代码的各种特征。
  • CheckStyle 代码能够验证代码布局和格式问题。
  • 它还可以帮助识别方法设计问题、类设计问题。

SourceMeter

它是用于各种编程语言(如C / C++,C#,Java,Python和RPG项目)的特定静态源代码分析的高级工具。

在SourceMeter工具的帮助下,我们可以轻松地从源代码中识别正在开发的系统的薄弱点。

具有SourceMeter部分功能的免费版本可用于所有编程语言。

在SourceMeter中,我们可以使用分析的输出,分析源代码的质量,以定向的方式增强和发展短期和长期。

SourceMeter的特点

SourceMeter工具最常用的功能如下:

  • 它提供最精确的编码错误检测。
  • SourceMeter工具将提供深入的静态代码分析。
  • 它在第三方集成的帮助下改进了用户界面。
  • 它将提供独立于平台的命令行工具。

Soot

它是一个Java优化框架,这意味着它是一个用于分析和转换Java和Android应用程序的框架,我们可以在其中测试以下方面:

  • 命名模块和模块化 jar 文件。
  • 自动模块,这意味着模块是从模块路径中的 jar 重复创建的。
  • 分解模块
  • 解析Soot中的模块

Soot还可以生成各种输出格式的可能转换的代码,例如Android字节码,Java字节码Jasmin和Jimple。

10. 静态测试的优势

静态测试的优点如下:

  • 提高产品质量, 静态测试将提高产品质量,因为它可以在软件开发的初始阶段识别缺陷或错误。
  • 提高了动态测试的效率, 使用静态测试将提高动态测试的效率,因为执行静态测试后代码会变得更干净、更好。 正如我们上面所理解的,静态测试需要一些努力和时间来生成和保持高质量的测试用例。
  • 降低 SDLC 成本, 静态测试降低了 SDLC 成本,因为它在软件开发生命周期的早期阶段识别了错误。因此,更改产品并修复它们需要更少的辛勤工作和时间。
  • 即时评估和反馈, 静态测试为我们在开发软件产品的每个阶段提供软件的即时评估和反馈。
  • 跟踪错误的确切位置,当我们执行静态测试时,与动态测试相比,我们可以轻松识别错误的确切位置。

11. 概述

在静态测试部分,我们学习了以下主题:

  • 静态测试用于在软件开发周期 [SDLC] 的早期阶段识别故障。
  • 我们已经了解到静态测试不能替代动态测试,因为这两种测试都识别不同的错误类型。
  • 我们已经了解了静态测试的目标。
  • 在静态测试中,审查是测试应用程序的有效方法,因为审查有助于识别错误并识别设计缺陷、缺失的需求和不可维护的代码等。
  • 我们已经了解了几种静态测试工具,这些工具有助于我们提高软件产品的测试性能。

 

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



2008 次浏览
7次