白盒测试和黑盒测试的区别是什么

白盒测试和黑盒测试的区别在于以下几个方面:1、定义不同;2、测试对象不同;3、测试方式不同;4、测试目的不同;5、测试原则不同。定义不同是指,黑盒测试,顾名思义就是把测试对象看作一个不能打开的黑盒子。

一、定义不同

黑盒测试:顾名思义就是把测试对象看作一个不能打开的黑盒子。测试时,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,检验输出结果对不对。

白盒测试:与黑盒恰恰相反,这种方法是把测试对象看作一个打开的透明盒子。测试时,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。

二、测试对象不同

黑盒测试:主要针对的是程序所展现给用户的功能。

白盒测试:主要针对的是程序代码逻辑,简单的说,就是前者测试最终展示功能,后者测试后台程序。

三、测试方式不同

黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。

白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

四、测试目的不同

黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

五、测试原则不同

黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试 true 和 false 两种情况。

延伸阅读

测试方法

(一)等价类划分法

等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据划分为若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例。测试用例由有效等价类和无效等价类的代表数据组成,从而保证测试用例具有完整性和代表性。使用该方法设计测试用例主要有两个步骤:(1)确定等价类;(2)生成测试用例。

(二)边界值分析法

边界值分析法是对程序输入或输出的边界值进行测试的一种黑盒测试方法。实际的测试工作证明,考虑了边界条件的测试用例比那些没有考虑边界条件的测试用例具有更高的测试回报率。这里所说的边界条件,是指输入和输入等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。

(三)因果图法

因果图法也是较常用的一种黑盒测试方法,是一种简化了的逻辑图。因果图能直观地表明输入条件和输出动作之间的因果关系,能帮助测试人员把注意力集中到与程序功能有关的输入组合上。因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况

(四)错误推测法

错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测当前被测程序中可能存在的缺陷和错误,有针对性地设计测试用例。

用错误推测法设计测试用例的基本思想是:列举出程序中可能犯出现的错误或容易发生错误的特殊情况的清单,然后根据清单和已经设计好的测试用例来编写特定的测试用例。例如,程序中出现的输入数据为“0”或者字符为空就是一种错误易发情况;在出现输入或输出的数量不定的地方,数量为“没有”和“一个”也是错误易发情况。特别需要注意的是,在阅读规格说明时联系程序员可能做的假设来确定测试用例,测试人员要站在用户的角度来考虑输入信息,而不必去管这些信息对于被测程序是合理还是不合理的输入。

文章标题:白盒测试和黑盒测试的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39131

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月21日 下午5:10
下一篇 2023年2月21日 下午5:22

相关推荐

  • 纷享销客和销售易等CRM都有哪些优缺点

    CRM系统对公司业务开展很有必要,它是对于销售机会的预先判定和年度战略决策依据。研究机构softwarepath调研了100家正在使用CRM的公司,结论是CRM完成选型的平均时间是11周,公司规模越大,选型时间越长。其中一个重要原因在于:无论国内国外,CRM都是竞争相当激烈的市场,你会发现功能相近的…

    2023年10月24日
    60100
  • 为什么vue用vscode

    为什么选择Vue.js作为前端框架,并用Visual Studio Code(VSCode)作为开发工具,主要原因包括Vue.js的轻量级和易用性、VSCode的强大功能和高效性、良好的生态系统支持、以及社区资源的丰富。在这些因素中,Vue.js的轻量级和易用性特别值得强调。Vue.js是一个渐进式…

    2024年4月3日
    6000
  • vscode为什么这么难配置

    Visual Studio Code(简称 VSCode)之所以难以配置,是因为它需要兼容多种语言环境、插件众多且多样化、用户个性化需求各异、以及缺乏统一的配置指导。这些因素共同作用,使得VSCode配置过程可能显得复杂和困难。 其中,插件众多且多样化是主要原因之一,我们将在下文中对此进行详细讨论。…

    2024年4月3日
    5700
  • epc项目怎么管理

    EPC项目管理指的是一种包含工程设计(Engineering)、采购(Procurement)和施工(Construction)的全过程管理。在进行EPC项目管理时,需要遵循以下步骤:1、项目启动与规划、2、设计管理、3、采购和供应链控制、4、现场施工管理、5、项目监控与控制、6、质量保证与质量控制…

    2024年1月8日
    29800
  • 管理系统项目项目

    标题:构建高效的管理系统项目 摘要:构建高效的管理系统项目的关键包括:1、需求分析的彻底;2、人员的精心选拔;3、技术栈的合理制定;4、项目流程的科学规划;5、质量监控的严格执行;6、教育培训的持续开展;7、变更管理的灵活应对。详细阐述需求分析的彻底,这是构建管理系统的基石,决定了项目的方向和成功的…

    2024年1月10日
    17400
  • Android开发中用SQLite保存时间最好是存成什么类型

    Android开发中用SQLite保存时间最好是存成integer类型。unix时间是通用的标准表达方法,一般直接存成integer就好了,它只表示一串数字,当初设计保存成秒就是秒,保存成毫秒那就是毫秒。至于保存成datetime,即便是mysql上,一般也不怎么推荐。 Android开发中用SQL…

    2023年5月30日
    41700
  • 测试用例写在程序哪里

    测试用例应当写在特定的测试框架中,而不是直接写在程序中。它的写法是:1、使用标题;2、具体描述;3、撰写假设和前提条件;4、保持测试步骤清晰简洁;5、撰写预期结果等。使用标题是指按照与要测试的模块相同的行命名测试用例。 一、测试用例的写法 1、使用标题 一个好的测试用例始于一个强大的标题。作为优异实…

    2023年4月6日
    52700
  • 电子表格如何管理项目

    电子表格管理项目通过提供一个灵活、易于自定义的平台来组织和跟踪项目数据。核心优点包括:易于使用、数据整合、实时更新、协作易于实施,这些都是它在项目管理方面得以广泛运用的原因。其中,协作易于实施是电子表格的一大亮点,多用户可以同时访问和编辑同一文件,从而提高了工作效率和团队协作能力。通过共享表格,团队…

    2024年4月10日
    4800
  • 项目管理平台看板怎么看

    步骤:一、创建项目;二、添加任务;三、设定任务状态;四、设定优先级;五、设置截止日期;六、分配任务;七、监控进度;八、进行协作。首先,需要在项目管理平台上创建一个新项目。在创建项目时,需要输入项目的名称、描述和负责人等信息。 一、创建项目 首先,需要在项目管理平台上创建一个新项目。在创建项目时,需要…

    2023年6月11日
    37400
  • oa破解版

    标题:OA破解版的潜在后果与合法使用软件的必要性 OA(Office Automation)系统是办公自动化的核心,往往包含文档管理、电子邮件、日程安排等功能。破解版OA软件可能节省成本,但带来安全风险、法律责任、技术支持缺失和系统更新不足。在这些问题中,安全风险极为重要,因破解软件可被植入恶意代码…

    2024年1月11日
    27200

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部