当前位置: 首页 > 知识库问答 >
问题:

黑盒可以覆盖白盒测试

万选
2023-03-14

你好,我是新来的SW测试。

WBT-Developer这样做,确保每一行都被执行,并检查所有条件语句。

BBT——在黑盒中,我可以做与WBT相同的事情,我可以输入各种参数并检查输出,确保通过生成测试用例覆盖所有条件语句,还可以覆盖循环执行

白盒测试和黑盒测试的真正区别是什么?对我来说,这看起来像是,做一个广泛的投入,角落案例覆盖BBT,这将是一个WBT。

共有3个答案

宗涵蓄
2023-03-14

黑盒测试——在不检查内部代码结构、实现细节和软件内部路径知识的情况下测试AUT应用程序功能的测试技术。

黑盒测试告诉你软件系统的输入和输出,你不必担心软件程序的知识。检查用户对性能和应用程序的看法。

白盒测试技术检查系统的内部功能。测试是为了检查代码语句的覆盖面。白盒测试中的分支、路径或条件被认为是低级测试。这种测试的另一个名字是玻璃框、透明框、透明框或基于代码的测试。

这种类型的测试需要技术知识和测试专业知识。知识的实现对于执行白盒测试也很重要。因此,白盒测试由软件开发人员或软件测试专家执行。在白盒测试中发现的最常见错误有:

语法错误逻辑错误设计错误

为视觉学习者提供资源和良好的形象。

章嘉致
2023-03-14

黑盒测试迫使你关注接口而不是实现。从任何外部角度来看,任何系统都是它的接口,所以你只需要证明它是有效的。从理论上讲,一个系统内部如何实现并不重要,只要它确实做了它声称做的事情。

因此,黑盒测试迫使您关注系统的需求和定义。有时,最好“后退一步”,与用户或客户确认它应该做什么,以便您可以适当地测试它。如果一个系统满足了它的需求,那么它就是按定义工作的。许多系统没有正确定义,这就是导致许多QA失败的原因,部分原因是意见分歧,而不是实际的错误。

因此,由于黑盒方法迫使您编写接口规范,以便您可以编写接口测试,因此这迫使项目全面运行得更好。质量保证是一个比测试代码行写得好更广泛的过程

黑盒方法的一个缺点是系统可能只是在工作,内部一片混乱!或者如果测试没有100%完成,那么你可能没有覆盖所有的路径或场景。大多数单元测试工具都有覆盖图,即使在黑盒测试期间也会这样做,所以你仍然可以看到你是否需要添加更多的测试,而不需要“了解”太多的代码。(然而,代码覆盖率报告具有误导性,因为大多数系统每个代码行都有许多场景,即上下文、数据、输入等的变化。因此,相同的代码需要在数据矩阵上运行,以确保涵盖所有真实世界的场景)。

我发现开发人员往往“离代码太近”,无法对其进行充分或广泛的测试。他们根据自己的知识做出假设,并限制自己的测试范围。白盒测试有助于一种独立或同行评审的形式,在这种形式中,假设较少,将执行更典型的用户行为(例如错误或破坏性地使用系统)。

我想说你需要做两种类型的测试。开发人员应该进行白盒测试(事实上,他们可能只能在了解代码的情况下进行测试!)在他们建造的时候。“QA人员”应进行黑盒测试,作为用户验收测试的一部分,并证明其满足其定义的功能。

南宫俊逸
2023-03-14

测试的目标是确保事情按预期工作,所以黑盒和白盒测试的主要区别是这些技术考虑的表面,以确定一个软件是否正常工作:

  • 黑盒测试将软件视为黑盒。测试操作发生在用户界面级别,断言基于从系统外部可观察到的系统响应,主要是系统响应,但也包括响应时间和其他从用户角度可观察到的事件
  • 白盒测试,也称为玻璃盒测试,将软件视为一个透明的盒子,因此从测试人员的角度可以看到它的内部结构。测试操作发生在比用户界面级别更低的级别,并从该较低级别向上对系统行为进行断言,包括从用户角度可能无法观察到的事件(代码分支错误、错误日志、部分操作响应时间等)

例如,在给定的用户界面中,如果在输入值X后,我们期望响应Y,这就是用户得到的,那么从黑盒的角度来看,测试将是成功的,但是如果查看代码执行,我们知道某个事件对于最终用户来说是不可见的,当它应该被触发时,那么从白盒的角度来看,测试将失败。

就代码的哪些区域被执行而言,黑盒和白盒测试之间肯定有一些重叠,但是只有当从用户界面可以执行所有代码行和分支时,它才可能是完全重叠的。此外,在透视图方面根本没有重叠,因为在一个透视图中,您充当最终用户,而在另一个透视图中,您直接查看代码语句和分支。

最后要注意的是,谁最终会做什么类型的测试完全取决于软件开发过程、角色和可用的技能。如果你的团队没有可用的手动测试人员,那么其他人将不得不冒充最终用户进行测试。如果你的团队有技术含量高的测试人员,白盒测试可以由他们成功地执行。

 类似资料:
  • 所以我已经知道白盒测试和黑盒测试之间的区别,但我正在寻找一个相当简单的例子,说明白盒测试表示“一切正常”,黑盒测试表示“这里有问题”——反之亦然 这些例子会出现在相当流行的软件产品中。例如——微软视窗、Word或方程求解器(如下所示) 类似的程度:(黑盒测试失败,白盒通过) 示例:求解二次方程; 输入数据:系数A、B和C的数值; 输出数据:根X1和根X2的数值 黑盒测试 黑盒测试(环境、用户):否

  • 本文向大家介绍白盒测试和黑盒测试区别?相关面试题,主要包含被问及白盒测试和黑盒测试区别?时的应答技巧和注意事项,需要的朋友参考一下 白盒测试:是通过程序的源代码进行测试而不使用用户界面。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试 ①测试特点不同 黑盒测试:测试功能 白盒测试:测试程序接口与结构 ②测试依据不同 黑盒测试:需求规格说明书 白盒测试:软件程序 ③侧重点不同 黑盒测试:关注

  • 如果我们必须在动态黑盒测试和静态白盒测试之间做出选择,我们应该选择哪一个?动态黑盒测试是在不了解底层代码的情况下进行的测试,而静态白盒测试是在不执行代码的情况下进行的代码审查。

  • 黑盒测试,白盒测试与灰盒测试的比较和区别如下所示: 编号 黑盒测试 白盒测试 灰盒测试 1 不需要了解内部工作结构(代码)。测试用例只需要GUI(图形用户界面)。 测试需要了解内部工作结构(软件编码)。 部分了解内部工作结构。 2 黑盒测试也称为功能测试,数据驱动测试和封闭盒测试。 白盒测试也称为结构测试,透明盒测试,基于代码的测试和透明测试。 灰盒测试也称为半透明测试,因为测试人员对编码知识有限

  • 我从迭代函数的角度学习了白盒和黑盒测试。现在我需要对几个递归函数(在F#中)进行白盒和黑盒测试。采用以下gcd递归算法: 对于白盒测试:我该如何准确地覆盖算法的不同分支?天真地说,有两个分支,但当函数被多次调用时,可能的分支将明显增加。我应该使用导致不同数量递归调用的参数进行测试,还是应该确切地确定使用哪些值进行测试? 黑盒:我得到了黑盒测试的一般概念。我们应该看看我们可能想要调用函数的可能值,而

  • 本文向大家介绍黑盒测试与白盒测试之间的差异。,包括了黑盒测试与白盒测试之间的差异。的使用技巧和注意事项,需要的朋友参考一下 众所周知,测试是任何应用程序或软件交付过程中最重要的阶段,因为测试不仅可以验证应用程序的质量,还可以为开发人员提供改进其产品的机会。 每个应用程序都以某种高级语言或低级语言进行开发,这意味着已经为其开发编写了一些代码,因此,根据测试人员对应用程序的了解,可以对测试进行分类,即