飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

了解黑盒测试 - 类型、技术和示例

时间:2021-12-29  作者:电脑狂魔  

介绍

当您听到“黑匣子”这个词时,您会想到什么,特别是关于测试?嗯,这不是很常见,但仍然是软件测试的基本形式。它是一种软件测试技术,从外部角度检查软件的功能,而无需深入研究其代码。黑盒测试的最大优点是它可以应用于所有级别的测试(单元、集成、系统和验收)。 

任何具有最少编码语言或没有编码语言的人都可以对软件产品进行黑盒测试,没有编码语言的软件测试人员也可以进行。

什么是黑盒测试? 

在一个黑盒子里,我们不能透过盒子看里面是什么;我们只从外面知道它是一个黑色的盒子。同样,在软件测试领域,黑盒测试是一种测试技术,可以在不强调其设计和内部编码结构的情况下检查被测应用程序。 

执行它是为了从外部检查软件的行为。因此,它也被称为行为测试,即您的软件在不同情况下的行为方式,而无需查看代码的细节。在某种程度上,我们都在生活中尝试过黑盒测试。例如,当按下自行车的启动按钮时,我们希望它在不进入其内部工作机制的情况下启动。

换句话说,它专注于软件的功能,而无需任何编码知识。它包括从客户的角度进行的软件测试,软件的用户界面。它检查产品与客户的关系,找出影响软件成功或失败的外部因素。黑盒测试在测试过程的最后阶段进行,以检查软件的功能方面。它只关注应用程序的输入和输出。

黑盒测试可帮助测试人员识别以下问题:

  • 软件功能缺失

  • 使用应用程序界面时发生的错误

  • 访问数据库时出错

  • 在特定功能开始和结束期间发生的错误

  • 应用程序性能和行为问题

黑盒测试测试应用程序,牢记最终用户。它检查应用程序作为一个完整系统的可用性、功能和性能。

白盒与黑盒测试

白盒测试,相反,是一个测试方法纯粹专注于软件的内部代码结构的工作。它需要深入的编码知识才能理解软件的构建方式。黑盒测试不能替代白盒测试。它是对它的补充。例如,如果您在网站上进行交易并测试交易过程中是否发生任何故障,则在黑盒测试的帮助下进行识别。而如果您查看同一网站的源代码以检查特定表单的功能,了解基于核心编码知识的变量和限制,则称为白盒测试。 

换句话说,白盒测试提供了整个系统的内部视角,它使用最高的编程技能检查应用程序的设计和内部结构。

黑盒测试示例

让我们看几个黑盒测试的例子,以便更好地理解这种测试方法。

  • 示例 1:测试文字处理器是否按预期工作。一种方案是检查用户是否可以创建新文件、保存、打开或删除现有文件。另一种情况可能是测试编辑工具的功能,如剪切、复制、选择、更改文档的字体大小/颜色等。

  • 示例 2:测试网站登录屏幕的登录功能。在黑盒测试的帮助下,测试人员将测试使用用户名和密码(输入)是否允许用户无缝登录系统(输出)。在这里,测试人员不会深入到其背后代码的功能;他只会检查给定的输入和收到的结果的有效性。如果用户输入错误的密码并且没有收到任何错误消息,黑盒测试人员会检测到这一点并将其发送给编码人员进行解决。

执行黑盒测试有不同的方法,例如:

  • 手动:通过测试用户数据和错误消息,以用户身份检查应用程序的 UI。

  • 自动:它记录用户与软件的交互以找出错误

  • 文档:一种手动方法,其中测试人员记录软件应该执行的功能,而不关注它应该如何执行这些功能。

黑盒测试的类型

随着其范围的不断扩大,黑盒测试有多种类型,其中最突出和最受欢迎的是:

功能测试

它是最常用的黑盒测试类型,其中测试人员专注于软件的核心功能、操作和规范。测试人员通过向应用程序提供输入以获得所需的输出来执行它。它通常在非功能测试之前执行。各种类型的功能测试有 Smoke、Unit、Integration、User Acceptance 测试等,可以以手动或自动方式执行。

非功能测试

这种类型的黑盒测试侧重于软件功能以外的方面,如可用性、可靠性、可扩展性和性能。与这些方面相关的任何问题都会严重影响用户体验。因此,有必要保持产品的质量。各种类型的非功能测试包括负载、性能、压力、合规性测试等。

回归测试

它在代码修复/更改或系统升级后执行,以确保任何代码修改都不会影响软件的现有功能。它是 SDLC 的重要组成部分;任何软件都必须通过回归测试来处理看不见的影响。

黑盒测试技术

我们知道黑盒测试对组织提高其软件应用程序质量的影响和有益。有许多黑盒测试技术可用于满足软件测试要求。让我们来看看测试策略中包含的流行策略。

  1. 等价划分
    在这种类型的黑盒测试技术中,行为一致或产生相似结果的输入被划分并归入一个类别。从每组中挑选一个输入值并进行测试。对于每一组,选择并测试一个代表值。测试组中的每个值将非常耗时。在这种技术中,只测试每组的代表值,从而更容易一次测试多个输入,保持测试覆盖率并减少返工。

  2. 边界值分析这是一种流行的黑盒测试技术,适用于类似的等价测试线。但是,该技术不是测试每个组的代表值,而是测试每个输入组(包括有效和无效输入)的边界值。据观察,应用程序在边界附近面临问题,这意味着系统开始表现不同的限制。

  3. 决策表测试此技术适用于功能之间具有逻辑输入的条件,例如 if/else 条件。这里考虑了不同的输入组合。我们使用条件(输入)和动作(输出)来检查使用决策表的系统行为。

  4. 状态转换测试在这种技术中,输入/输出和系统状态在整个测试阶段都被考虑在内。它针对测试输入的一系列转换测试软件应用程序。它根据发生的事件/或给定的输入值检查系统行为的变化。事件引发了成为测试人员测试场景的状态。例如:当用户三次输入错误密码时,所有三个输入都将发送到登录页面。第三次尝试将为用户生成错误消息。该方法考虑了所有三个系统状态并且只传递正确的状态序列。

  5. 基于图形的测试
    为应用程序所包含的对象准备了一个图形。然后基于这个对象图,弄清楚每个对象之间的关系,并编写一个测试来发现错误。它可视化输入和输出的流程和相关性。

  6. 错误猜测技术:
    这种测试技术完全基于经验。在这里,测试人员猜测应用程序的错误方面(输入/输出)。该判断完全基于他之前在软件行为、功能以及对最终用户体验的影响方面的经验。

除了上述的黑盒测试技术外,还有一些其他的技术,如全对测试和正交阵列测试,比较测试等。

总结

为了确保软件质量得到维护,并且不会因为糟糕的用户体验而失去客户,您的应用程序应该使用合适的测试技术进行严格的监督。黑盒测试是在没有任何编码知识的情况下调查软件功能的最简单和最快的解决方案。 

关于白盒测试与黑盒测试的辩论是一场盛行的讨论,两者都是赢家。您想要白盒测试还是黑盒测试取决于您想要深入了解被测软件结构的程度。如果您想从最终用户的角度测试功能,黑盒测试就符合要求。而且,如果您希望将测试工作集中在软件的构建方式、编码结构和设计上,那么白盒测试效果很好。 

然而,两者都旨在以各自不同的方式提高软件质量。上面讨论了很多黑盒测试技术。测试人员可以结合不同的技术来获得黑盒测试的好处。无论您使用何种测试方法,您的测试策略的最终目标都应该是最大限度地减少错误和应用程序失败的风险,并最大限度地提高软件质量和用户体验。

标签:黑盒测试
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。