黑盒测试、白盒测试、灰盒测试傻傻分不清?高频面试题!

关注我,学习更多企业开发和面试内容~

在这里插入图片描述

1. 黑盒测试(数据驱动测试)

  • 概念:不考虑程序的内部结构,仅通过输入和输出来验证功能是否符合需求。又称为数据驱动测试,只注重软件的功能。
  • 优点:
    • 不关注程序内部的实现。
    • 从用户角度出发设计测试用例,容易知道用户会用到哪些功能,碰到哪些问题,锻炼测试人员的产品思维。
  • 缺点:不能覆盖所有代码。
  • 测试用例:基于需求文档,不容易遗漏文档中需要测试的功能。
  • 测试方法:等价类,边界值,正交表,判定表,场景法,错误猜测法等。

案例:测试登录界面
不需要看源代码,直接进入界面,输入信息,检查最后是否能登陆。

2. 白盒测试(结构测试)

2.1 概念及分类

检查程序内部的逻辑结构,对逻辑路径进行覆盖测试。又称为结构测试,分析程序的逻辑结构来设计测试用例。

分类:

  • 静态测试:代码检查。
  • 动态测试:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆
    盖、路径覆盖。

在这里插入图片描述
用动态测试对上图代码设计测试用例。 T——>True;F——>False。


* 语句覆盖

  • 定义:保证每个语句至少执行一次。
  • 目标:覆盖所有可执行语句。
  • 缺点:无法覆盖所有的分支条件,可能遗漏逻辑错误。
  • 测试用例:
    • 语句1:A:T,B:T。
    • 语句2:C:T,D:T;C:F,D:T;C:T,D:F。
    • 最后测试用例为:A:T,B:T,C:F,D:T。

* 判定覆盖:

  • 定义:每个判定(如if、while等)既要测试语句为True,也要测试为False。
  • 目标:覆盖所有可能的结果。
  • 优点:发现的逻辑错误比覆盖语句多。
  • 缺点:无法覆盖所有的可能组合。
  • 测试用例:
    在这里插入图片描述最后测试用例为:
    结果T:A:T,B:T,C:F,D:T。
    结果F:A:F,B:T,C:F,D:F。

* 条件覆盖:

  • 定义:确保每个判定的每个条件的可能取值(T/F)至少被执行一次。
  • 目标:覆盖所有可能的判定结果。
  • 优点:比判定覆盖更细致,能发现条件中的错误。
  • 缺点:不一定会覆盖所有的判定结果。
  • 测试用例:
    在这里插入图片描述
    最后测试用例为:
    结果1:A:T,B:T,C:T,D:T。
    结果2:A:F,B:F,C:F,D:F。

* 判定条件覆盖:

  • 定义:结合了判定覆盖和条件覆盖,确保每个判定和每个条件的可能取值至少执行一次。
  • 目标:同时覆盖所有的判定和条件。
  • 优点:比单独的判定覆盖或条件覆盖更强。
  • 缺点:无法覆盖条件之间的组合。
  • 测试用例:
    结果为T:A:T,B:T,C:T,D:T。
    结果为F:A:F,B:F,C:F,D:F。

* 条件组合覆盖:

  • 定义:确保每个判定中的每个条件的组合至少被执行一次。
  • 目标:覆盖所有条件的组合。
  • 优点:非常全面,能够发现复杂的逻辑错误。
  • 缺点:测试用例数量可能非常多,尤其是条件较多时。
  • 测试用例:
    在这里插入图片描述
    用例1:A:T,B:T,C:T,D:T。
    用例2:A:F,B:T,C:F,D:T。
    用例3:A:T,B:F,C:T,D:F。
    用例4:A:F,B:F,C:F,D:F。

* 路径覆盖:

  • 定义:确保程序中的所有可能的路径至少被执行一次。
  • 目标:覆盖所有可能的执行路径。
  • 优点:最全面,能够发现所有路径相关的错误。
  • 缺点:路径数量可能非常多,尤其是循环和复杂逻辑。
  • 测试用例:
覆盖准则描述强度测试用例数量
语句覆盖每条语句至少执行一次
判定覆盖每个判定的真假分支至少执行一次较少
条件覆盖每个条件的取值至少执行一次较多
判定条件覆盖每个判定和条件的取值至少执行一次较强较多
条件组合覆盖每个条件的所有组合至少执行一次很多
路径覆盖所有可能路径至少执行一次最强非常多

3.3 灰盒测试

结合了白盒测试和黑盒测试,但灰盒测试没有白盒测试详细和完整,而黑盒测试是覆盖产品范围最广的测试,灰盒测试不具备该优点。

  • 定义:灰盒测试是介于白盒测试和黑盒测试之间的一种测试,灰盒测试常用于集成测试阶段,不仅关注输入输出的正确性,也关注程序的内部情况。

4. 面试题

【问】你知道的测试方法有哪些?哪种用的比较多?

【答】

  1. 常见的测试方法有黑盒测试,白盒测试,灰盒测试。
  2. 开发人员主要用白盒测试和灰盒测试,测试人员主要用于白盒测试和黑盒测试。
  3. 对测试人员来说,相较于白盒测试,黑盒测试用的更多一些。

话不要说得太死,比如说白盒测试一定比黑盒测试用的多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值