什么是黑盒测试(白盒测试和黑盒测试有什么区别?)

天龙生活圈 90742次浏览

最佳答案





搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核


在软件测试的面试中,什么是黑盒测试,什么是白盒测试是特别容易被问到的一个问题。


面试

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

在软件测试的面试中,什么是黑盒测试,什么是白盒测试是特别容易被问到的一个问题。

面试官问出这个问题,其实考察的是大家对于软件测试基础理论的掌握程度。下面来梳理一下这个问题的回答思路。


黑盒测试

黑盒测试会把被测的软件看作是一个黑盒子,测试时不去关心盒子里面的代码结构和逻辑是什么样子的,只需要关心盒子的输入数据和输出结果。



在黑盒测试当中,测试工程师会模拟用户的行为去使用产品,检查软件产品是否达到了用户的需求。

黑盒测试方法能够真实地从用户角度来考察被测系统的功能性需求实现情况。在软件测试的各个阶段,如单元测试、集成测试、系统测试及验收测试等阶段中,黑盒测试都发挥着重要作用。尤其在系统测试和验收测试中,它的作用是其他测试方法无法取代的。

比较常用的黑盒测试方法有等价类划分法、边界值分析法、因果图法、判定表法、场景法、正交法等等。


白盒测试

白盒测试也把被测的软件看作是一个盒子,但是需要考虑盒子的内部结构和逻辑。所以根据待测产品的内部实现细节来去设计测试用例的方法称为白盒测试。

白盒测试是可以看到内部代码如何运作的,可通过测试来检测产品内部是否符合规定正常运行。

它执行手段其实是不限的。既可以使用静态测试的方式,比如代码审查,代码扫描工具等等。也可以使用动态测试的方式,比如语句覆盖、判断覆盖、条件覆盖、路径覆盖等等。

总结

  1. 总结来说,黑盒测试和白盒测试都是测试设计的方法。
  2. 黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现。它把被测试的程序当作一个黑盒子,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。
  3. 白盒测试需要根据软件内部的逻辑结构分析来进行测试,是基于代码的测试。把被测程序当作盒子的话,它需要考虑盒子的内部结构和逻辑。测试人员通过阅读程序代码或者通过编写测试代码的方式来判断软件的质量。
  4. 两种测试方法分别适用与不同的测试场景。黑盒测试更多使用在系统测试和验收测试中。而白盒测试则是针对代码本身的测试,所以更多用在单元测试或者集成测试中。