白盒测试快速入门1-简介

简介: JMeter性能测试工具快速入门教程-目录 https://www.jianshu.com/p/7b1a3346dc0f JMeter性能测试工具快速入门教程1简介 JMeter性能测试工具快速入门教程3线程组,采样器,监听器,配置 JMeter性能测试工具快速入门教程4测试计划和工作台 JM.

什么是白盒测试?

白盒测试被定义​​为测试软件解决方案的内部结构,设计和编码。在这种类型的测试中,代码对测试人员是可见的。它主要侧重于通过应用程序验证输入和输出的流程,改进设计和可用性,加强安全性。白盒测试也称为透明盒测试,开箱测试,结构测试,基于代码的测试和玻璃盒测试。它通常由开发人员执行。

它是软件测试“盒子测试”方法的两个部分之一。其对应的黑盒测试涉及从外部或最终用户类型的角度进行测试。另一方面,白盒测试基于应用程序的内部工作,并围绕内部测试。

由于透视框概念,使用了术语“WhiteBox”。透明框或WhiteBox名称表示能够透过软件的外壳(或“盒子”)进入其内部工作。同样,“黑匣子测试”中的“黑匣子”表示无法看到软件的内部工作方式,因此只能测试最终用户体验。

白盒测试中验证什么?

白盒测试涉及测试以下软件代码:

  • 内部安全漏洞
  • 编码过程中的路径损坏或结构不良
  • 特定输入流
  • 预期输出
  • 条件循环
  • 单独测试每个语句,对象和函数

测试可以在系统,集成和单元级别的软件开发中完成。白盒测试的基本目标之一是验证应用程序的工作流程。它涉及针对预期或期望的输出测试一系列预定义输入。

如果视频无法访问,请单击此处

如何进行白盒测试?

  • 步骤1)理解源代码

测试人员经常做的第一件事就是学习并理解应用程序的源代码。由于白盒测试涉及测试应用程序的内部工作,因此测试人员必须非常了解他们正在测试的应用程序中使用的编程语言。此外,测试人员必须高度了解安全编码实践。安全性通常是测试软件的主要目标之一。

  • 步骤2)创建测试用例并执行

白盒测试的第二个基本步骤涉及测试应用程序的源代码以获得正确的流程和结构。一种方法是编写更多代码来测试应用程序的源代码。测试人员将针对应用程序中的每个过程或一系列过程开发少量测试。此方法要求测试人员必须熟悉代码,并且通常由开发人员完成。

白盒测试示例

考虑以下代码
image.png

WhiteBox测试的目标是验证代码中的所有决策分支,循环和语句。

要运用上面代码中的语句,WhiteBox测试用例就是

a = 1,b = 1
a= -1,b = -3

白盒测试技术

主要的白盒测试技术是代码覆盖率分析。有自动化工具可用于执行代码覆盖率分析。以下是一些覆盖分析技术

  • 语句覆盖: - 至少对代码中的每个可能的语句进行一次测试。
  • 分支覆盖 - 此技术检查软件应用程序的每个可能路径(if-else和其他条件循环)。

除此之外,还有许多覆盖类型,例如条件覆盖,多条件覆盖,路径覆盖,功能覆盖等。每种技术都有其自身的优点,并尝试测试(覆盖)软件代码的所有部分。使用Statement和Branch覆盖,您通常可以获得80-90%的代码覆盖率,这已足够。

白盒测试的类型

白盒测试包含几种用于评估应用程序,代码块或特定软件包的可用性的测试类型。下面列出了 -

  • 单元测试

它通常是在应用程序上完成的第一种类型的测试。在开发时,对每个单元或代码块执行单元测试。单元测试基本上由程序员完成。作为一名软件开发人员,您需要开发几行代码,一个函数或一个对象,并在软件开发生命周期早期继续进行单元测试以帮助识别大多数错误之前对其进行测试以确保其正常工作。在这个阶段确定的错误更便宜,易于修复。

  • 内存泄漏测试

内存泄漏是运行速度较慢的应用程序的主要原因。如果您的软件应用程序运行缓慢,那么在检测内存泄漏方面经验丰富的QA专家非常重要。

除此之外,一些测试类型是黑盒和白盒测试的一部分。它们列出如下

  • 白盒渗透测试

在此测试中,测试人员/开发人员拥有应用程序源代码,详细网络信息,涉及的IP地址以及运行应用程序的所有服务器信息的完整信息。目的是从多个角度攻击代码以暴露安全威胁

  • 白盒Mutation测试:

Mutation测试通常用于发现用于扩展软件解决方案的最佳编码技术。

参考资料

白盒测试工具

比如

  • pytest
  • nose
  • unittest
  • doctest
  • Veracode
  • EclEmma
  • RCUNIT
  • NUnit
  • JSUnit
  • JUnit
  • CppUnit
  • gtest

白盒测试的优点

  • 通过查找隐藏错误来优化代码。
  • 白盒测试案例可以轻松实现自动化。
  • 由于通常涵盖所有代码路径,因此测试更加彻底。
  • 即使GUI不可用,也可以在SDLC中尽早开始测试。

WhiteBox测试的缺点

  • 白盒测试可能非常复杂且昂贵。
  • 通常执行白盒测试用例的开发人员会厌恶它。开发人员测试的白盒测试不详细可能导致生产错误。
  • 白盒测试需要专业资源,并对编程和实现有详细的了解。
  • 白盒测试非常耗时,更大的编程应用程序需要时间来完全测试。

小结

白盒测试可能非常复杂。所涉及的复杂性与正在测试的应用程序有很大关系。执行单个简单操作的小型应用程序可以在几分钟内进行白盒测试,而较大的编程应用程序需要数天,数周甚至更长时间才能完全测试。

白盒测试应该在软件应用程序上进行,因为软件应用程序在编写后会在每次修改后再次开发。

相关文章
|
4月前
|
XML 测试技术 数据格式
Python性能测试Locust简介
Python性能测试Locust简介
Python性能测试Locust简介
|
4月前
|
JSON 测试技术 API
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
78 3
|
4月前
|
XML Java 测试技术
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
175 3
|
4月前
|
XML 测试技术 开发工具
『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、特点、启动到使用的完整过程
『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、特点、启动到使用的完整过程
77 4
|
3月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
203 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
3月前
|
安全 测试技术 数据库
简介性能测试
简介性能测试
简介性能测试
|
3月前
|
测试技术
HTTP性能测试工具Siege 简介
HTTP性能测试工具Siege 简介
|
4月前
|
Linux 网络安全 开发工具
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
65 0
|
4月前
|
Java 测试技术 持续交付
百度搜索:蓝易云【NetMock简介:简化 Java,Android和Kotlin多平台中的HTTP请求测试?】
使用NetMock,您可以在单元测试、集成测试和端到端测试中轻松地模拟和验证HTTP请求和响应,而无需实际发送请求到外部服务。这样可以提高测试的可靠性和可控性,并加快测试执行的速度。无论是在开发过程中还是在持续集成环境中,NetMock都可以帮助您更轻松地进行HTTP请求测试,提高代码质量和稳定性。
41 1
|
11月前
|
Java 测试技术 程序员
「敏捷架构」核心实践:测试驱动开发(TDD)简介
「敏捷架构」核心实践:测试驱动开发(TDD)简介

热门文章

最新文章