白盒测试方法与黑盒测试方法简析

白盒测试方法与黑盒测试方法简析白盒测试方法与黑盒测试方法简析白盒测试方法的逻辑覆盖法一、语句覆盖运行测试用例保证被测程序的每一条语句至少执行一次。二、判定覆盖判定覆盖也称为分支覆盖。运行测试用例保证被测程序的每一个判断的真假分支都至少执行一次。三、条件覆盖运行测试用例保证被测程序的每一个判断的每个条件的所有可能取值至少执行一次。四、判定-条件覆盖运行测试用例保证被测程序的每一个判断的每个条件的所有可能取值至少执行一次,同时每个判断本身所有可能结果也至少执行一次。五、条件组合覆盖运行测试用例

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

白盒测试方法与黑盒测试方法简析

白盒测试方法的逻辑覆盖法

一、语句覆盖

  • 运行测试用例保证被测程序的每一条语句至少执行一次。

二、判定覆盖

  • 判定覆盖也称为分支覆盖。
  • 运行测试用例保证被测程序的每一个判断的真假分支都至少执行一次。

三、条件覆盖

  • 运行测试用例保证被测程序的每一个判断的每个条件的所有可能取值至少执行一次。

四、判定-条件覆盖

  • 运行测试用例保证被测程序的每一个判断的每个条件的所有可能取值至少执行一次,

    同时每个判断本身所有可能结果也至少执行一次。

五、条件组合覆盖

  • 运行测试用例保证被测程序的每一个判断的每个条件各种可能的组合都至少执行一次。

六、路径覆盖

  • 路径覆盖:运行测试用例保证被测程序的每一条可能的路径至少执行一次。

七、不同标准覆盖之间的关系

  • 判定覆盖、条件覆盖和判定-条件覆盖、条件组合覆盖的关系

    针对 a>=0 && b<0 有如下讨论:

    • 判定覆盖:① a = 1 , b = − 1 a=1,b=-1 a=1,b=1 ;② a = 1 , b = 1 a=1,b=1 a=1,b=1

    • 条件覆盖:① a = 1 , b = 1 a=1,b=1 a=1,b=1 ;② a = − 1 , b = − 1 a=-1,b=-1 a=1,b=1

    • 判定-条件覆盖:① a = 1 , b = − 1 a=1,b=-1 a=1,b=1 ;② a = − 1 , b = 1 a=-1,b=1 a=1,b=1

    • 条件组合覆盖:① a = 1 , b = − 1 a=1,b=-1 a=1,b=1 ;② a = − 1 , b = 1 a=-1,b=1 a=1,b=1

      ​ ③ a = 1 , b = 1 a=1,b=1 a=1,b=1 ;④ a = − 1 , b = − 1 a=-1,b=-1 a=1,b=1

  • 实现路径覆盖的测试用例集一定实现了语句覆盖、判定覆盖。

  • 实现判定覆盖的测试用例集一定实现了语句覆盖。

黑盒测试

一、黑盒测试的基本概念

  • 黑盒测试也称功能测试,通过测试来检测每个功能是否都能正常使用。
  • 测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。
  • 只检查程序功能是否按照需求规格说明书的规定正常使用, 程序是否能适当地接收输入数据而产生正确的输出信息。
  • 黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

二、等价类划分

  • 等价类划分法是一种黑盒测试的技术。
  • 不考虑程序的内部结构,把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

三、边界值分析法

  • 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
  • 通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
  • 设计测试用例时候,边界值分析法是用得最多的一种黑盒测试方法。

四、因果图法

  • 适合于检查程序输入条件的各种组合情况。

  • 如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。

    因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图。

  • 因果图方法根据输出对输入的依赖关系设计测试用例。

五、功能图法

六、错误推测法

  • 凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189084.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月14日 下午6:43
下一篇 2026年4月14日 下午6:49


相关推荐

  • Mac mini 变身 AI 运维中枢:OpenClaw Mac mini本地化部署

    Mac mini 变身 AI 运维中枢:OpenClaw Mac mini本地化部署

    2026年3月13日
    2
  • 免费各种查询API接口

    免费各种查询API接口

    2021年11月5日
    79
  • 上传文件,页面崩溃

    上传文件,页面崩溃生产环境数据字典没维护坐标朝向和库位类型 导入仓库坐标数据会导致页面崩溃问题分析 分析是由于报错数据量太大 前端把错误信息解析成字符串的过程中导致的崩溃 在错误信息超过 5000 条 页面会有崩溃风险 解决方案 a 后端控制报错信息的数量或数据结构 优先 b 前端对报错信息截取处理

    2026年3月17日
    2
  • ATA考试注意事项「建议收藏」

    ATA考试注意事项「建议收藏」一、考试前将所有计算机除掉还原卡及还原软件。二、officeXp安装要用完全安装。三、服务器端尽量不要刷新所有客户端否则引起考试管理系统死机。四、拍照功能无法使用,可重新启动考试管理系统。五、服务器端无法扫描到客户端,除了服务器与客户端必须在同一网段内,可看一下客户端是否启动llistening    …

    2022年7月13日
    27
  • datagrip 激活码【注册码】

    datagrip 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    61
  • 怎么让Java输入字符串_怎么让Java获取用户输入的字符串[通俗易懂]

    怎么让Java输入字符串_怎么让Java获取用户输入的字符串[通俗易懂]从控制台动态输入数据,对数据进行各种各样的处理,然后将数据输出是很常见的操作。现在对数据的输入方式进行系统的介绍:Scanner类的调用相关方法:hasNext()判断扫描器中当前扫描位置后是否还存在下一段。hasNextLine()如果在此扫描器的输入中存在另一行,则返回true。next()查找并返回来自此扫描器的下一个完整标记。nextLine()此扫描器执行当前行,并返回跳过的输入信息。…

    2022年7月7日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号