软件测试-----黑盒测试

白盒测试计划书着重测试软件的源代码,黑盒技术着重测试软件功能。因此,设计测试用例时,需要研究需求说明和总体设计说明中的相关程序功能或输入,输出之间的关系等信息,从而与测试后的结果进行分析比较。

  在实际测试中,常常把黑盒测试常常与白盒测试联合使用,它是与白盒测试互补的测试方法。它很可能发现白盒测试不易发现的其他类型的错误。

  用黑盒技术设计测试用例一般有等价类划分,边界值分析,错误推测和因果图4中方法,现在咱们分别来看看吧!

  一、等价类划分法

  咱们在前面曾经说过,完全的黑盒测试通常是不现实的。因此,只能选取少量最有代表性的输入数据作为测试数据,用较少的代价暴露出较多的程序错误。等价类划分法将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性,从而减少必须设计的测试用例的数目。

  等价类划分法是把所有可能的输入数据或有效的和无效的划分成若干个等价类。测试每个等价类的代表值就等于对该类其他值的测试。也就是说,如果从某个等价类中任选一个测试数据未发现程序错误,该类中其他数据也不会发现程序的错误。相反地,如果一个测试用例测出一个错误,那么,这一等价类中的其余测试用例也能发现同样的错误。这样就把漫无边际的随机测试改变为有针对性的等价类测试,用少量有代表性的测试数据代替大量测试目的相同的例子,能有效提高测试效率,并取得良好的测试结果。

  在划分等价类时,我们可以将其划分为两类:

  1)有效等价类。是指输入完全满足程序输入的规范说明,合理的,有意义的输入数据所构成的集合,利用有效等价类可以检验程序是否满足规格说明书所规定的功能和性能。

  2)无效等价类。指完全不满足程序输入的规格说明,不合理,无意义的输入数据所构成的集合。使用无效等价类可以检验程序的容错性能。

  在划分等价类的时候,我们可以借鉴以下几个原则,可以让你事半功倍,同样咱们还需要丰富的经验。

  (1)如果某个输入条件规定了取值范围或者输入数据的个数,则可划分出一个有效等价类和两个无效等价类。

  (2)如果输入条件规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,此外,还有一个无效等价类。

  (3)如果规定了输入数据必须遵守的规则,则可以划分出一个有效等价类和若干个无效等价类。

  (4)如果规定了输入数据位证书,则可划分为正整数/零/负整数三个有效等价类,其他为无效等价类。

  (5)如果在已划分出的等价类中个元素在程序中的处理方法不同,则应再将该等价类进一步划分为更小的等价类。

  等价类划分好了,那么如何测试用;例呢?你会了吗?不管你会不会,我们一起来看看吧!

  (1)为一个等价类规定一个唯一的编号

  (2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被测试用例覆盖为止,即将有效等价类分割到最小。

  (3)设计一个新的测试用例,使它覆盖一个而且只能覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有无效等价类都被覆盖为止。

  二、边界值分析法

  大量实践表明,程序在处理边界情况时最容易发生错误。边界情况值输入等价类和输出等价类边界上的情况。因为在测试过程中,可能会忽略边界值的条件,大量的错误是发生在输入或输出范围的边界上。因此,设计是程序运行在边界情况的测试用例,查出程序错误的可能性更大一些。

  使用边界值分析方法设计测试用例时,一般与等价类划分方法结合起来,通常测试输入等价类和输出等价类的边界情况作为重点目标,应该选取刚好等于,小于或大于边界值的数据来进行测试,有较大可能发现错误。

  在实际的软件设计过程中,会涉及到大量的边界值条件和过程,用边界值分析设计测试用例时,可以参考以下原则。

  1)如果输入条件规定了值的范围,则选择刚好等于边界值的数据作为合理的测试用例,同时还要选择刚好超过边界的数据作为不合理测试用例。

  2)如果输入条件规定了输入值的个数,则按最大个数,最小个数,比最大个数多1,比最小个数少1等情况分别设计测试用例。

  3)度每个输出条件分别按照上述两条原则确定输出值的边界情况。

  4)如果程序的输入或输出范围是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

  三、错误推测法

  在软件 的测试用例设计中,人们根据经验,直觉和简单的判断来推测程序中 可能存在各种错误,从而有针对性地设计测试用例,此就是错误推测法。

  由于错误推测法是基于经验和只觉得,因而没有确定的设计测试用例的步骤,其基本思想是:列举出程序中可能出现的错误和容易发现的错误的症状。在咱们平常测试系统的是,这个方法用的比较多。

  四、因果图法

  等价类划分法和边界值分析法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误,因果图法能有效地检测输入条件的各种组合可能会引起的错误,即在测试中使用因果图,可提供对逻辑条件和相应动作的简洁表示。因果图的基本原理是通过画因果图,把因果图转换为判定表,然后为制定表的每一列至少涉及一个测试用例。

  在这咱们介绍了四种黑盒测试法的方法,它们各自都有偶自己的长处和短处。使用某一种测试法涉及出来的一组测试用例,可能发现某种类型的错误,但可能对另一类错误发现不了。

  因此,在实际测试中,经常是联合使用各种测试方法,通常是选用黑合法设计基本的测试用例,再用白盒法来补充一些必要的测试用例。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 18:38:31

软件测试-----黑盒测试的相关文章

探索性测试之个人笔记

对于一"新新"事物(对测试者而言的:测试内容或对象),根据自己预先设置的测试流程,测试用例,测试方法,进行一种尝试性的测试. 在测试过程中要注意几点: 1.测试过程,就是一个不断对于自己设计的测试流程,测试用例(TestCase),测试方法的一种检验,同时也要不断思考新的,好的方法或用例: 2.测试过程是强调个人的主观能动性,这个过程强调了,作为一个测试人员,你的意愿,你的行为将在很大程度上影响者这个测试执行力度: 3.不断的积累,由于对于测试的不断深入,也开始逐步的了解测试的内容,这

三角形问题-软件测试中的黑盒测试是怎样测试啊?

问题描述 软件测试中的黑盒测试是怎样测试啊? 三角形问题用黑盒测试方法进行测试,要求使用边界值测试.等价类测试.决策表测试.因果图测试法分别进行测试? 解决方案 等价类划分法 三角形ABC 三边 且 都为正数 且A+B大于C,,,, 有效等价类 和无效等价类 边界值同理,是在等价类的基础上,选取一些有代表性的边界数值进行测试 解决方案二: 等价类划分法 三角形ABC 三边 且 都为正数 且A+B大于C,,,, 有效等价类 和无效等价类 边界值同理,是在等价类的基础上,选取一些有代表性的边界数值进

论黑盒测试与白盒测试在软件测试中的不同作用

摘要:黑盒测试着眼于外部结构,不考虑内部结构,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明:而白盒测试着眼于内部结构,对软件的过程性细节做细致的检查. 关键词:黑盒测试:白盒测试:测试用例 一.引言 随着软件市场的成熟,人们对软件作用的期望值也越来越高,我国的软件企业已越来越意识到软件测试的重要性,逐渐加大软件测试在整个软件开发的系统工程中的比重. 软件测试并非传统意义上产品交付前单一的"找错"过程,而是贯穿于软件过程的始终,是一个科学的质量控制过程.而对于任何工程产

软件测试分类

本篇博文属于对软件测试领域的科普篇,关于软件测试领域,名词颇多,发现有许多测试新手混淆概念,甚至有不少招聘要求中对各种软件测试相关的名词乱用,所以,这里汇总测试相关的名词,也许能理清你对各种名词的概念.   根据项目流程阶段划分测试                                                                                                            上图是一个典型瀑布式软件开发流程,那么各项软件测试工

软件测试面试题答案整理

1.你的测试职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去.而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务. 2.你认为测试人员需要具备哪些素质 做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做.还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味.除了耐心,测试人员不能放过每一个可能

软件测试讲义(上)

在一个软件团队里,不同的人有不同的投入,不同的人还要在团队中担负不同的任务,我们也要讲一下. 团队中的 PM 负责分析市场,设想功能,定义用户到底要什么 – Why & What. 团队中的 Dev 负责实现功能,搞清楚怎么才能满足用户的需求 – How. 团队中的测试人员搞清楚我们的软件是否满足了用户的需求 – Whether. 最后所有成员一块决定产品是否能发布,什么时候能发布 – When. 测试/Test 和 质量保障/QA (Quality Assurance) 这两个词经常混用,这两

软件测试学习笔记

<软件测试的艺术>学习笔记 第一章 一次自评价测试 软件测试就是一个过程或者一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作. 第二章 软件测试的心理学和经济学 1 软件测试更适宜被称为试图发现程序中的错误(假设其存在)的破坏性的过程. 2 黑盒测试:一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试.使用这种测试方法时,将程序视为一个黑盒子.测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件.--穷举测试 3

黑盒测试——测试准备阶段

黑盒测试--测试准备阶段 1.概述 1.1 黑盒测试的概念 黑盒测试(black box test)也称功能测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息.黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试. 黑盒测试是以用户的角度,从输入数据与输出数据的

微软的软件测试工程师——《微软的软件测试之道》

   好多人极力推荐<微软的软件测试之道>这本书,于是在网上搜索了一番,英文版的阅读起来有难度,在51CTO上发现了前第二章和第三章中文的内容.     在这个世界顶级的企业里,软件测试工程是的测试是怎样的. ------------------------------------------------------------------------------------------------      一.职位名称含义: 即使你给玫瑰花起不同的名字,它闻起来可能还是同样的香.但是,如果