白盒测试2025年03月17日 | 阅读 9 分钟 软件测试的盒子测试方法包括黑盒测试和白盒测试。我们这里讨论的白盒测试也被称为玻璃盒测试、结构测试、透明盒测试、开放盒测试和透视盒测试。它测试软件的内部编码和基础设施,重点检查预定义输入与预期和所需输出的匹配。它基于应用程序的内部工作原理,并围绕内部结构测试展开。在这种类型的测试中,需要编程技能来设计测试用例。白盒测试的主要目标是关注输入和输出流经软件的过程,并加强软件的安全性。 使用“白盒”一词是因为从系统内部视角看。透明盒、白盒或透视盒的名称表示能够透过软件的外壳看到其内部工作原理。 开发人员进行白盒测试。在此,开发人员将测试程序代码的每一行。开发人员执行白盒测试,然后将应用程序或软件发送给测试团队,测试团队将执行黑盒测试,并根据需求验证应用程序,识别错误并将其发送给开发人员。 开发人员修复错误并进行一轮白盒测试,然后将其发送给测试团队。在这里,修复错误意味着错误已被删除,并且特定功能在应用程序上正常工作。 在这里,测试工程师将不参与修复缺陷,原因如下:
白盒测试包含各种测试,如下所示:
路径测试在路径测试中,我们将编写流程图并测试所有独立路径。这里编写流程图意味着流程图表示程序的流程,并显示每个程序如何相互连接,如下图所示: ![]() 测试所有独立路径意味着,假设从 main() 到函数 G 的路径,首先设置参数并测试程序在该特定路径中是否正确,然后以相同的方式测试所有其他路径并修复错误。 循环测试在循环测试中,我们将测试 while、for 和 do-while 等循环,并检查结束条件是否正确工作以及条件的大小是否足够。 例如:我们有一个程序,开发人员给出了大约 50,000 个循环。 我们无法手动测试这个程序的所有 50,000 个循环周期。因此,我们编写了一个小程序来帮助所有 50,000 个周期,如下图所示,测试 P 用与源代码程序相似的语言编写,这被称为单元测试。它是由开发人员编写的。 如下图所示,我们有各种需求,例如 1、2、3、4。然后,开发人员编写程序,例如程序 1、2、3、4 用于并行条件。这里应用程序包含数百行代码。 ![]() 开发人员将进行白盒测试,他们将逐行测试所有五个程序以查找错误。如果他们在任何程序中发现任何错误,他们将进行更正。然后他们必须再次测试系统,这个过程包含大量时间和精力,并减慢产品发布时间。 现在,假设我们有另一个情况,客户想要修改需求,那么开发人员将进行所需的更改并再次测试所有四个程序,这需要大量时间和精力。 这些问题可以通过以下方式解决: 在此,我们将为类似的程序编写测试,其中开发人员以与源代码相关的语言编写这些测试代码。然后他们执行这些测试代码,也称为单元测试程序。这些测试程序链接到主程序并作为程序实现。 ![]() 因此,如果代码中有任何修改或错误的需求,则开发人员会在主程序和测试程序中进行调整,然后执行测试程序。 条件测试在此,我们将测试所有逻辑条件的真和假值;也就是说,我们将同时验证if和else条件。 例如 上述程序将在这两种情况下都正常工作,这意味着如果条件为真,则 else 应为假,反之亦然。 基于内存(大小)角度的测试代码大小增加的原因如下:
例如, 在上面的代码中,我们可以看到整数 a 从未在程序的任何地方被调用,并且函数 Create user 也从未在代码的任何地方被调用。因此,这导致了内存消耗。 由于代码量大,我们无法通过手动验证代码来记住这种类型的错误。所以,我们有一个内置工具,可以帮助我们测试不必要的变量和函数。在这里,我们有一个名为 Rational purify 的工具。 ![]() 假设我们有三个程序,例如程序 P、Q 和 R,它们向 S 提供输入。S 进入程序并验证未使用的变量,然后给出结果。之后,开发人员将单击多个结果并调用或删除不必要的函数和变量。 此工具仅用于 C 编程语言 和 C++ 编程语言;对于其他语言,市场上有其他相关的工具可用。
测试程序的性能(速度、响应时间)应用程序可能由于以下原因而变慢:
![]() 我们知道开发人员正在进行白盒测试,他们明白代码运行缓慢,或者程序的性能也变得迟缓。开发人员无法手动检查程序并验证哪行代码正在减慢程序速度。 为了解决这种情况,我们有一个名为 Rational Quantify 的工具,它可以自动解决这些问题。一旦整个代码准备好,Rational Quantify 工具将遍历代码并执行它。我们可以在结果表中以粗线和细线的形式看到结果。 在这里,粗线表示代码的哪个部分耗时。当我们双击粗线时,该工具将自动带我们到该行或该段代码,该代码也以不同的颜色显示。我们可以更改该代码并再次使用此工具。当所有行的顺序都变细时,我们知道程序的呈现已得到增强。开发人员将自动执行白盒测试,因为这比手动执行更节省时间。 白盒测试的测试用例源自软件开发生命周期的设计阶段。数据流测试、控制流测试、路径测试、分支测试、语句和决策覆盖率,所有这些技术都作为白盒测试的指导方针,用于创建无错误的软件。 ![]() 白盒测试遵循一些工作步骤,以使测试易于管理和理解下一步要完成的任务。执行白盒测试有一些基本步骤。 白盒测试的通用步骤
白盒测试的原因
白盒测试的优点
白盒测试的缺点
白盒测试中使用的技术
白盒测试与黑盒测试的区别以下是白盒测试和黑盒测试之间的主要区别:
下一主题黑盒测试 |
我们请求您订阅我们的新闻通讯以获取最新更新。