浅析白盒测试和黑盒测试

  摘 要:白盒测试和黑盒测试都是软件测试设计的方法。黑盒测试把系统理解为一个“内部不可见的盒子”,因此不需要明白它的内部结构。黑盒测试一般关注的是对功能需求的测试。白盒测试设计允许你观察“盒子”内部,让你了解其内部结构和运作原理,并使用对这些知识的了解来指导测试用例的设计。为了完全测试一个软件,不可或缺任何一种测试。   关键词:软件测试;白盒测试;黑盒测试   软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。软件测试通常是在软件投入生产性运行之前进行的,它是对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键。在软件测试中有两大基本测试方法:白盒测试和黑盒测试。在传统的软件测试活动中基本上都可以找到这两类方法。   1 白盒测试   1.1 什么是白盒测试   白盒测试又叫做玻璃盒测试、透明盒测试、开放盒测试等。在这里,盒子指的是需要被测试的软件,白盒,顾名思义即盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一个清楚的了解;并且基于这个知识来设计你的用例。   使用白盒测试方法产生的测试用例能够:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。   1.2 白盒测试技术   白盒测试技术一般可分为静态分析和动态分析两类技术。静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能检查软件的表示和描述是否一致,没有冲突或者没有歧义。它瞄准的是纠正软件系统在描述、表示和规格上的错误。因此,是任何进一步测试执行的前提。静态分析技术不需要软件的执行,而动态分析从其本身来看则更像是一个“测试”,因为它包含了系统的执行。当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析是动态分析的主要特点。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个在检查状态下是正确还是不正确。   有人提出,“我们应该更注重于保证程序需求的实现,为什么要花费时间和精力来担心(和测试)逻辑细节?”答案在于软件自身的缺陷。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们工作中;程序的逻辑流有时是违反直觉的,这意味着我们关于控制流和数据流的一些无意识的假设可能导致设计错误,只有路径测试才能发现这些错误;当一个程序被翻译为程序设计语言源代码时,有可能产生某些笔误,很多将被语法检查机制发现。但是,其他的在测试开始后才会被发现。   2 黑盒测试   2.1 什么是黑盒测试   黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试是与白盒测试截然不同的测试概念,也是在软件测试中使用得最早、最广泛的一类测试。   黑盒测试注重于测试软件的功能需求,主要试图发现以下几类错误:功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。   2.2 黑盒测试技术   黑盒测试意味着测试数据的选择和测试结果的解释是以软件功能属性为基础的。黑盒测试不应当由程序作者来执行,因为他知道太多的程序内部知识。在新的测试方法中,由第三方来执行黑盒测试。   通常,黑盒测试技术一般可分为没有用户参与的黑盒测试和有用户介入的黑盒测试。尽管黑盒测试时围绕着用户需求文档进行的,但是黑盒测试不一定必须要用户来参与测试。在绝大多数没有用户参与的黑盒测试中,最常见的测试有:功能性测试、容量测试、安全性测试、负载测试、标杆测试、可靠性测试等。此外,还有两类测试必须要有用户参与的测试,外场测试和实验室测试。   3 白盒测试和黑盒测试的比较   既然我们已经做了白盒测试,为什么还要进行黑盒测试呢?因为白盒测试在测试的早期采用,而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结构,而只注意信息域。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误的。白盒测试只考虑测试软件产品,它不保证完整的需求规格是否被满足。而黑盒测试只考虑测试需求规格,它不保证实现的所有部分是否被测试到。黑盒测试会发现遗漏的缺陷,指出规格的哪些部分没有被完成。而白盒测试会发现代理方面的缺陷,指出哪些实现部分是错误的。白盒测试比黑盒测试成本要高得多。它需要在测试可以被计划前产生源代码,并且在确定合适的数据和决定软件是否正确方面需要花费更多的工作量。   [参考文献]   [1]郑人杰.《软件测试》.人民邮电出版社,2011.   [2]库波.《软件测试技术》.中国水利水电出版社,2010.   [3]苟英.《软件测试技术基础》.中国水利水电出版社,2013.   [4]贺平.《软件测试教程》.电子工业出版社,2010.

  摘 要:白盒测试和黑盒测试都是软件测试设计的方法。黑盒测试把系统理解为一个“内部不可见的盒子”,因此不需要明白它的内部结构。黑盒测试一般关注的是对功能需求的测试。白盒测试设计允许你观察“盒子”内部,让你了解其内部结构和运作原理,并使用对这些知识的了解来指导测试用例的设计。为了完全测试一个软件,不可或缺任何一种测试。   关键词:软件测试;白盒测试;黑盒测试   软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。软件测试通常是在软件投入生产性运行之前进行的,它是对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键。在软件测试中有两大基本测试方法:白盒测试和黑盒测试。在传统的软件测试活动中基本上都可以找到这两类方法。   1 白盒测试   1.1 什么是白盒测试   白盒测试又叫做玻璃盒测试、透明盒测试、开放盒测试等。在这里,盒子指的是需要被测试的软件,白盒,顾名思义即盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一个清楚的了解;并且基于这个知识来设计你的用例。   使用白盒测试方法产生的测试用例能够:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。   1.2 白盒测试技术   白盒测试技术一般可分为静态分析和动态分析两类技术。静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能检查软件的表示和描述是否一致,没有冲突或者没有歧义。它瞄准的是纠正软件系统在描述、表示和规格上的错误。因此,是任何进一步测试执行的前提。静态分析技术不需要软件的执行,而动态分析从其本身来看则更像是一个“测试”,因为它包含了系统的执行。当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析是动态分析的主要特点。动态分析包含了程序在受控的环境下使用特定的期望结果进行正式的运行。它显示了一个在检查状态下是正确还是不正确。   有人提出,“我们应该更注重于保证程序需求的实现,为什么要花费时间和精力来担心(和测试)逻辑细节?”答案在于软件自身的缺陷。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们工作中;程序的逻辑流有时是违反直觉的,这意味着我们关于控制流和数据流的一些无意识的假设可能导致设计错误,只有路径测试才能发现这些错误;当一个程序被翻译为程序设计语言源代码时,有可能产生某些笔误,很多将被语法检查机制发现。但是,其他的在测试开始后才会被发现。   2 黑盒测试   2.1 什么是黑盒测试   黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试是与白盒测试截然不同的测试概念,也是在软件测试中使用得最早、最广泛的一类测试。   黑盒测试注重于测试软件的功能需求,主要试图发现以下几类错误:功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。   2.2 黑盒测试技术   黑盒测试意味着测试数据的选择和测试结果的解释是以软件功能属性为基础的。黑盒测试不应当由程序作者来执行,因为他知道太多的程序内部知识。在新的测试方法中,由第三方来执行黑盒测试。   通常,黑盒测试技术一般可分为没有用户参与的黑盒测试和有用户介入的黑盒测试。尽管黑盒测试时围绕着用户需求文档进行的,但是黑盒测试不一定必须要用户来参与测试。在绝大多数没有用户参与的黑盒测试中,最常见的测试有:功能性测试、容量测试、安全性测试、负载测试、标杆测试、可靠性测试等。此外,还有两类测试必须要有用户参与的测试,外场测试和实验室测试。   3 白盒测试和黑盒测试的比较   既然我们已经做了白盒测试,为什么还要进行黑盒测试呢?因为白盒测试在测试的早期采用,而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结构,而只注意信息域。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误的。白盒测试只考虑测试软件产品,它不保证完整的需求规格是否被满足。而黑盒测试只考虑测试需求规格,它不保证实现的所有部分是否被测试到。黑盒测试会发现遗漏的缺陷,指出规格的哪些部分没有被完成。而白盒测试会发现代理方面的缺陷,指出哪些实现部分是错误的。白盒测试比黑盒测试成本要高得多。它需要在测试可以被计划前产生源代码,并且在确定合适的数据和决定软件是否正确方面需要花费更多的工作量。   [参考文献]   [1]郑人杰.《软件测试》.人民邮电出版社,2011.   [2]库波.《软件测试技术》.中国水利水电出版社,2010.   [3]苟英.《软件测试技术基础》.中国水利水电出版社,2013.   [4]贺平.《软件测试教程》.电子工业出版社,2010.


相关文章

  • 浅析低渗多层油田注水新技术的应用
  • 浅析低渗多层油田注水新技术的应用 [摘要]我国油田在类型上存在多种类型,其中低渗油田就占很大的一部分,低渗多层油田缺乏自产能力,存在严重的非均质现象等问题,近年来随着石油开采的不断深入,油田注水工艺有了显著的发展,对低渗多层油田的开发奠定了 ...查看


  • 浅析膨润土吸蓝量测定方法 Word 文档
  • 浅析膨润土吸蓝量测定方法 龙秀华 建平县白家洼宝通膨润土有限公司 辽宁建平122431 摘 要; 对吸蓝量测定使用试剂,试纸,溶液PH 值,环境温度,溶液加热时间六个方面进行了分析,找出了影响膨润土吸蓝量的因素.并说明了晕环判定不统一性,建 ...查看


  • 浅析软件测试用例管理
  • [摘要]开发和维护测试用例是软件测试过程中的重要步骤之一,也是衡量软件测试质量的核心影响因素.本文从开发.执行和维护几方面对测试用例管理过程进行分析,提出了测试用例开发.维护的相关原则. [关键词]软件测试:测试用例 1.测试用例开发 1. ...查看


  • 10kV变压器的试验项目浅析
  • 10kV变压器的试验项目浅析 一.测量绕组的直流电阻 A.测量的目的和内容 1.检查绕组内部导线和引线的焊接质量; 2.检查分接开关各个位置接触是否良好; 3.检查绕组或引出线有无断裂断股; 4.检查并联支路连接是否正确,是否存在由几条并联 ...查看


  • 浅析当前公务员考试制度存在的弊端
  • 浅析当前公务员考试制度存在的弊端 摘要:公务员因为高工资,高福利,工作轻松,职位稳定,受到越来越多人的追捧,被称为"金饭碗".每年的公务员考试经常出现几百个人争取一个岗位的现象.因此,我国对于公务员的选拔也越加严格,力图 ...查看


  • 浅析影响电缆绝缘电阻测量的因素及测量结果的换算
  • 浅析影响电缆绝缘电阻测量的因素及测量结果的换算 1 问题的提出 某杂志刊登的<电缆绝缘电阻测试方法和质量好坏的判别>一文中,作者提了一个问题--" 如果一根1kV 的被测电缆长500m ,绝缘电阻的测量结果为50MΩ, ...查看


  • 中性盐雾试验浅析
  • 第十一届河南省汽车工程科技学术研讨会 表1验证结果 NVH结果:数值为沿齿条轴线方向)(m/s'2) l# 2# 3群 4群 5# 方案 弹簧载荷 齿轮端 远离齿轮端 92 4538 齿轮端 62321919 远离齿轮端 94 4240 齿 ...查看


  • 浅析中考英语命题原则及对教学的启示
  • 浅析中考英语命题原则及对教学的启示 摘 要:中考英语考试命题体现了新的教育评价观念和考试制度,有利于课程教学改革,全面提高教育质量:保持并提高学生的学习兴趣,激励学生创新精神和实践能力,减轻学生过重的负担,促进学生生动.活泼.主动的学习.本 ...查看


  • 浅析测量放线在建筑工程施工中的作用
  • 浅析测量放线在建筑工程施工中的作用 摘要:随着经济的发展,建筑的速度加快,人们对于建筑的质量比较关系.施工测量放线技术可以为施工提供正确的依据,从而保证建筑物的结构尺寸是符合设计要求的.基于此,本文对测量放线的特点.原则进行阐述,凸显测量放 ...查看


热门内容