白色 Box 测试 – 什么是测试、技术、示例和类型

白色 Box 测试

白色 Box 测试 是一种测试软件内部结构、设计和编码以验证输入输出流程并改进设计、可用性和安全性的测试技术。在白盒测试中,代码对测试人员是可见的,因此也称为透明盒测试、开盒测试、透明盒测试、基于代码的测试和玻璃盒测试。

它是 Box 软件测试的测试方法。它的对应物是黑盒测试,涉及从外部或最终用户的角度进行测试。另一方面,软件工程中的白盒测试基于应用程序的内部工作原理,并围绕内部测试进行。

“白人Box” 是因为透明盒子的概念而使用的。透明盒子或白色Box 名称象征着能够透过软件的外壳(或“盒子”)看到其内部工作原理的能力。同样,“黑色 Box 测试”象征着无法看到软件的内部工作原理,因此只能测试最终用户的体验。

白色 Box 测试视频

点击 点击这里 如果视频无法访问

你用白色验证了什么 Box 测试?

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

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

测试可以在软件开发的系统、集成和单元级别进行。白盒测试的基本目标之一是验证应用程序的工作流程。它涉及根据预期或期望的输出测试一系列预定义的输入,以便当特定输入未产生预期输出时,您遇到了错误。

你如何表演白色 Box 测试?

我们将其分为两个基本步骤,以便为您简化白盒测试的解释。这是测试人员在使用白盒测试技术测试应用程序时所做的工作:

步骤 1)了解源代码

测试人员通常要做的第一件事就是学习和理解应用程序的源代码。由于白盒测试涉及测试应用程序的内部工作原理,因此测试人员必须非常熟悉他们正在测试的应用程序中使用的编程语言。此外,测试人员必须高度了解安全编码实践。安全性通常是测试软件的主要目标之一。测试人员应该能够发现安全问题并防止黑客和天真的用户有意或无意地将恶意代码注入应用程序的攻击。

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

白盒测试的第二个基本步骤是测试应用程序的源代码是否具有正确的流程和结构。一种方法是编写更多代码来测试应用程序的源代码。测试人员将为应用程序中的每个流程或一系列流程开发一些小测试。这种方法要求测试人员必须对代码有深入的了解,并且通常由开发人员完成。其他方法包括 手动测试、反复试验测试以及测试工具的使用,我们将在本文中进一步解释。

白色Box 测试

白色Box 测试示例

考虑以下一段代码

Printme (int a, int b) {                       ------------  Printme is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code

白队目标Box 软件工程中的测试是验证代码中的所有决策分支、循环和语句。

为了执行上述白盒测试示例中的语句,WhiteBox 测试用例

  • A = 1,B = 1
  • A = -1, B = -3

白色 Box 测试技术

代码覆盖率分析是白盒测试的主要技术之一。代码覆盖率分析可以消除 测试用例 套件。它识别程序中未被一组测试用例执行的区域。一旦发现差距,就可以创建测试用例来验证代码中未经测试的部分,从而提高软件产品的质量

有自动化工具可以执行 代码覆盖率分析。下面是盒子测试人员可以使用的几种覆盖率分析技术:

声明覆盖范围:- 这种技术要求在测试过程中对代码中的每个可能的语句至少进行一次测试 软件工程.

分支机构覆盖范围 – 该技术检查软件应用程序的每条可能路径(if-else 和其他条件循环)。

除上述之外,还有许多覆盖类型,例如条件覆盖、多条件覆盖、路径覆盖、功能覆盖等。每种技术都有自己的优点,并试图测试(覆盖)软件代码的所有部分。 使用语句和分支覆盖通常可以获得 80-90% 的代码覆盖率,这是足够的。

以下是重要的白色Box 测试技术:

  • 声明覆盖范围
  • 决策覆盖
  • 分支机构覆盖范围
  • 条件覆盖
  • 多重条件覆盖
  • 有限状态机覆盖
  • 路径覆盖
  • 控制流测试
  • 数据流测试

白色类型 Box 测试

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

  • 单元测试: 它通常是对应用程序进行的第一种测试。 单元测试 在开发每个单元或代码块时执行单元测试。单元测试本质上是由程序员完成的。作为软件开发人员,您可以开发几行代码、一个函数或一个对象,然后对其进行测试以确保其正常工作,然后再继续。单元测试有助于在软件开发生命周期的早期识别大多数错误。在此阶段识别的错误更便宜且易于修复。
  • 测试内存泄漏:内存泄漏是导致应用程序运行缓慢的主要原因。如果您的软件应用程序运行缓慢,那么有经验检测内存泄漏的 QA 专家至关重要。

除上述内容外,还有一些测试类型既属于黑盒测试,也属于白盒测试。它们列在下面

  • 白色 Box 渗透测试: 在这种测试中,测试人员/开发人员掌握应用程序源代码的全部信息、详细的网络信息、涉及的 IP 地址以及应用程序运行的所有服务器信息。目的是从多个角度攻击代码以揭露安全威胁。
  • 白色 Box 突变测试: 突变测试 通常用于发现用于扩展软件解决方案的最佳编码技术。

白色 Box 测试工具

以下是顶级白盒测试工具的列表。

白色的优势 Box 测试

  • 通过查找隐藏的错误来优化代码。
  • 白盒测试用例可以轻松实现自动化。
  • 测试更加彻底,因为通常涵盖所有代码路径。
  • 测试可以尽早开始 软件开发生命周期 即使没有 GUI 可用。

白色的缺点Box 测试

  • 白盒测试可能相当复杂且昂贵。
  • 通常执行白盒测试用例的开发人员对此深恶痛绝。开发人员进行的白盒测试不够详细,可能会导致生产错误。
  • 白盒测试需要专业资源以及对编程和实施的详细了解。
  • 白盒测试非常耗时,更大的编程应用程序需要时间进行全面测试。

结语

  • 白盒测试可能相当复杂。所涉及的复杂性与被测试的应用程序有很大关系。执行单个简单操作的小型应用程序可以在几分钟内完成白盒测试,而大型编程应用程序则需要几天、几周甚至更长时间才能完成全面测试。
  • 软件测试中的白盒测试应该在软件应用程序编写完成、开发过程中进行,并在每次修改后再次进行。