黑盒测试,软件测试中的军体拳

一 让我们来讲一个故事

今天和女朋友吵架了,(假设你有女朋友)。

今晚又是一个人睡沙发,这天晚上,你躺在沙发上,夜不能寐

因为你需要买礼物给你女朋友,但是你不知道她想要啥

决定。痛定思痛

决定分享一下今天的主题——黑盒测试

图片

什么是黑盒子测试?

正如前面刚刚提到的,你需要给你女朋友买礼物,但是你不知道她喜欢什么

所以,你只能

1.你试图给女朋友买一份她喜欢的红色连衣裙(输入)。
2.你尝试给她买一份她喜欢的音乐会门票(输入)。

.......

以上每一次尝试,你都在观察她的反应(输出)。你并不需要了解礼物的制造过程(算法的内部结构)

就这样,其实以上的动作,就是黑盒测试的测试用例

黑盒测试是一种测试方法,我们不需要了解程序的内部结构或内部功能,只关注程序的输入和输出。类似于你买礼物,你并不需要知道所有礼物的详细信息,你只需要知道你女朋友的信息(输入),然后选择一个她可能会喜欢的礼物(输出)。

图片

在真实的软件测试环境中,黑盒测试有助于发现输入/输出错误,用户界面的错误,以及在数据结构或操作系统的行为中的初始化和终止错误。说白了,黑盒测试就是最经典的手工测试,测试人员不关心软件的内部知识或实现细节,而是专注于根据提供的规范或要求验证功能。

二 黑盒测试的测试方法

今天和女朋友吵架了,(假设你有女朋友)

黑盒测试可以通过以下方式进行: 

1. 语法驱动测试——这种类型的测试适用于可以用某种语言在语法上表示的系统。例如,语言可以用上下文无关语法来表示。在此,生成测试用例,以便每个语法规则至少使用一次。 

2. 等价划分——我们经常看到许多类型的输入的工作原理相似,因此我们可以将它们分组并仅测试每组中的一个输入,而不是单独给出所有输入。这个想法是将系统的输入域划分为几个等价类,使得该类的每个成员的工作方式相似,即,如果一个类中的测试用例导致某些错误,则该类的其他成员也会导致相同的错误。错误。 

该技术涉及两个步骤:

  1. 等价类的识别 -将任何输入域划分为至少两个集合:有效值无效值。例如,如果有效范围是 0 到 100,则选择一个有效输入(如 49)和一个无效输入(如 104)。

  2. 生成测试用例 - (i) 为每个有效和无效的输入类别分配一个唯一的标识号。(ii) 编写一个涵盖所有有效和无效测试用例的测试用例,考虑到没有两个无效输入会相互掩盖。要计算数字的平方根,等价类将为(a) 有效输入:

    • 完全平方输出的整数将是一个整数。

    • 不是完美平方输出的整个数字将是十进制数。

    • 正小数

    • 负数(整数或小数)。

    • 数字以外的字符,如“a”、“!”、“;”等。

3. 边界值分析——边界是非常容易发生错误的地方。因此,如果针对输入域的边界值设计测试用例,则测试效率会提高,发现错误的概率也会增加。例如 – 如果有效范围是 10 到 100,则除了有效和无效输入之外还测试 10,100。 

4. 因果图——该技术在称为原因的逻辑输入与称为结果的相应操作之间建立了一种关系。原因和影响用布尔图表示。遵循以下步骤:

  1. 确定输入(原因)和输出(结果)。

  2. 绘制因果图。

  3. 将图转换为决策表。

  4. 将决策表规则转换为测试用例。

例如,在下面的因果图中:

图片

它可以转换成决策表,如下所示:

图片

每一列对应一个规则,该规则将成为测试用例进行测试。所以会有4个测试用例。 

5. 基于需求的测试——它包括验证软件系统的 SRS 中给出的需求。 

6. 兼容性测试——测试用例结果不仅取决于产品,还取决于提供功能的基础设施。当基础设施参数发生变化时,仍有望正常工作。通常影响软件兼容性的一些参数是:

  1. 处理器(Pentium 3、Pentium 4)和多个处理器。

  2. 机器的架构和特性(32 位或 64 位)。

  3. 后端组件,例如数据库服务器。

  4. 操作系统(Windows、Linux 等)。

    图片

三 黑盒测试的测试方法

功能测试:确定系统的软件功能需求。 

回归测试:确保新添加的代码与现有代码兼容。换句话说,新的软件更新不会影响软件的功能。这是在系统维护操作和升级之后进行的。 
非功能测试:非功能测试也称为 NFT。此测试不是软件的功能测试。它重点关注软件的性能、可用性和可扩展性。

用于黑盒测试的工具:

  1. appium

  2. Slenuim

  3. Microsoft Coded UI

  4. Applitools

  5. HP QTP.

黑盒测试可以识别什么
  1. 发现缺失的功能、不正确的功能和接口错误

  2. 发现访问数据库时遇到的错误

  3. 发现启动和终止任何功能时发生的错误。

  4. 发现软件性能或行为中的错误。

 黑盒测试的特点:
  1. 独立测试:黑盒测试由不参与应用程序开发的测试人员执行,这有助于确保测试的公正性。

  2. 从用户的角度进行测试:黑盒测试是从最终用户的角度进行的,这有助于确保应用程序满足用户需求并且易于使用。

  3. 不了解内部代码:执行黑盒测试的测试人员无法访问应用程序的内部代码,这使他们能够专注于测试应用程序的外部行为和功能。

  4. 基于需求的测试:黑盒测试通常基于应用程序的需求,这有助于确保应用程序满足所需的规范。

  5. 不同的测试技术:黑盒测试可以使用各种测试技术来执行,例如功能测试、可用性测试、验收测试和回归测试。

  6. 易于自动化:使用各种自动化工具可以轻松实现黑盒测试的自动化,这有助于减少总体测试时间和工作量。

  7. 可扩展性:黑盒测试可以根据被测试应用程序的大小和复杂性来扩大或缩小。

  8. 对应用程序的了解有限:执行黑盒测试的测试人员对所测试的应用程序的了解有限,这有助于确保测试更能代表最终用户将如何与应用程序交互。

黑盒测试的优点:

  • 测试人员不需要具备更多的功能知识或编程技能来实施黑盒测试。

  • 它对于在较大系统中实施测试非常有效。

  • 测试是从用户或客户的角度执行的。

  • 测试用例很容易重现。

  • 它用于查找功能规范中的歧义和矛盾。

黑盒测试的缺点:

  • 在实施测试过程时有可能重复相同的测试。

  • 如果没有明确的功能规范,测试用例很难实施。

  • 由于测试不同阶段的输入复杂,执行测试用例很困难。

  • 有时,无法检测到测试失败的原因。

  • 应用程序中的某些程序未经测试。

  • 它没有揭示控制结构中的错误。

  • 使用大量输入样本空间可能会非常耗时且耗费大量时间。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值