51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 924|回复: 1
打印 上一主题 下一主题

[原创] 黑盒、白盒你知道他们的区别吗?

[复制链接]
  • TA的每日心情
    擦汗
    昨天 09:04
  • 签到天数: 1047 天

    连续签到: 5 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-10-27 11:14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     软件测试是软件开发过程中的基本活动。黑盒测试和白盒测试是两种不同类型的软件测试策略,它们具有同样强大的功能,并且结合使用时甚至更好。
      黑盒测试
      在软件中,黑盒测试很方便,可以减少灾难性(软件)崩溃的风险。灾难性的软件崩溃可能是什么?系统在更新客户数据库的过程中崩溃了?在这种情况下,可能会丢失客户数据。
      黑盒测试分为三种类型:功能测试,非功能测试和回归测试。
      黑盒功能测试
      通过功能性的黑盒测试,我们可以在不知道软件如何执行的情况下检查该软件是否按预期进行。
      软件是用模块或组件构成的。它是由许多不同的组件组成的一系列组件,组成一个完整的系统。通过以这种方式,在小型组件中,我们可以测试每个组件以确保其正常工作,而不仅仅是测试大型系统。
      因此,对于每个小组件,都有输入和预期输出。要进行黑盒测试,您需要创建一个有效和无效输入的列表,包括边界条件等等。
      这是一个简单的功能性黑匣子测试示例。假设有一个软件模块,该模块输入一个数字。
      我们还可以使用黑盒测试来测试其他预期的系统行为。这些可能包括系统响应时间,预期的数据,大量网络流量等场景。
      非功能测试将包括诸如设置模拟测试环境之类的内容,以查看系统在压力下的性能。有各种各样的工具可以帮助我们实现这些测试目标并使所涉及的流程自动化。
      回归黑盒测试
      这是当我们在一个地方进行更改时,对整个系统进行黑盒测试(包括功能测试和非功能测试)时,请确保该更改不会意外影响系统的其他部分。显然,此过程需要自动化!
      白盒测试
      白盒测试是当测试软件模块的内部结构时:代码本身。出于各种原因,白盒测试是可以采用的良好测试策略。
      出于安全原因
      有时,代码本来就是“不安全的”:是因为它引用并使用了来自外部源的不安全函数,偶然地导致数据泄漏或使用了错误的结构都会带来安全隐患。
      解决性能问题
      有无数种方法可以完成某一项业务的软件模块的开发实现。尽管可以正常工作,但这并不意味着它已经以最佳方式进行了配置。如果从性能角度来看代码结构可以更高效,那么白盒测试可以发现这一点。
      检查链路
      在确认交易之前或之后,应将交易记录在您的系统中吗?也许之前和之后都需要记录它?白盒测试允许您检查路径和数据流的内部工作方式,以查看它们是否最有意义和/或符合系统要求。
      需要黑盒和白盒测试的结合
      黑盒测试对于确保系统按预期运行至关重要。无需编码知识就可以执行这种测试,因为它不需要检查代码本身。在这种情况下,了解软件系统的工作原理和业务逻辑更为重要。白盒测试更加困难,需要由经验丰富的程序员使用高级工具进行。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-16 15:05 , Processed in 0.068321 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表