什么是黑盒测试法,它的常用方法有哪些:
“黑盒”测的是功能
黑盒测试也称功能测试或数据驱动测试。它在已知产品应具有的功能的条件下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
“黑盒”的两种基本方法:
黑盒测试有两种基本方法,即通过测试和失败测试。
在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。
在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?
在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。
黑盒测试的设计方法:
黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现几类错误:功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止错误。
具体的黑盒测试方法包括等价类划分、因果图、正交实验设计法、边值分析、判定表驱动法、功能测试等。在使用时,自然要针对开发项目的特点对方法加以适当的选择。
◆ 等价类划分
等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。
由于穷举测试的数量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。例如,在不了解等价分配技术的前提下,测试了1+1、1+2、1+3和1+4之后,还有必要测试1+5和1+6吗?能否放心地认为它们正确吗?那么1+999…(可以输入的最大数值)呢?这个测试用例是否与其他用例不同?是否属于另外一种类别?另外一个等价区间?这是软件测试员必须考虑到的问题。
等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。 1+999…和1+13有什么区别呢?至于1+13,就像一个普通的加法,与1+5或者1+392没有什么两样,而1+999…则属于邻界的极端情况。假如输入最大允许数值,然后加1,就会出现问题——也许就是软件的缺陷。这个极端案例属于一个单独的区间,与常规数字的普通区间不同。
等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能出现同样的错误。使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。
在考虑等价类划分时,先从程序的功能说明中找出每个输入条件,然后为每个输入条件划分两个或更多个等价类。等价类可分两种情况:有效等价类和无效等价类。有效等价类是指对程序的规格说明是有意义的、合理的输人数据所构成的集合;无效等价类是指对程序的规格说明是不合理的或无意义的输人数据所构成的集合。
◆ 边界值分析
软件测试常用的一个方法是把测试工作按同样的形式划分。对数据进行软件测试,就是检查用户输入的信息、返回结果以及中间计算结果是否正确。
即使是最简单的程序,要处理的数据也可能数量极大。还记得在计算器上简单加法的全部可能性吗?再想一想字处理程序、导航系统和证券交易程序。使这些数据得以测试的技巧(如果称得上的话)是,根据下列主要原则进行等价分配,以合理的方式减少测试案列:边界条件、次边界条件、空值和无效数据。
边界值分析(Boundary Value Analysis,BVA)是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明,在设计测试用例时,对边界附近的处理必须给予足够的重视,为检验边界附近的处理专门设计测试用例,常常可以取得良好的测试效果。BVA不仅重视输人条件边界,而且也从输出域导出测试用例。
边界值设计测试遵循的五条原则:
1、如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围边界外的值作为测试用例。如以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值;
2、若规定了值的个数,分别以最大、最小个数及稍小于最小、稍大于最大个数作为测试用例;
3、针对每个输出条件使用上述1、2条原则;
4、如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等),就应注意选取有序集的第一个和最后一个元素作为测试用例;
5、分析规格说明,找出其他的可能边界条件。
分享到:
相关推荐
根据提供的文件信息,我们可以了解到该文档是一份关于软件测试的实验报告,涉及了黑盒测试、白盒测试以及系统测试三种不同的测试方法。下面将对这三种测试进行详细的知识点说明。 首先,黑盒测试是软件测试方法之一...
【黑盒测试】是一种软件测试方法,主要关注软件的功能,而不涉及其内部结构或工作原理。在黑盒测试中,测试人员充当最终用户的角色,仅根据软件的需求规格说明书来设计和执行测试用例,以验证软件是否能按照预期正确...
### 黑盒测试和白盒测试的区别及案例详解 #### 一、黑盒测试与白盒测试概述 在软件开发过程中,确保软件的质量至关重要。为了达到这个目标,开发者们广泛运用了多种测试策略和技术。其中,“黑盒测试”与“白盒...
**黑盒测试**,也称为功能测试或数据驱动测试,是一种软件测试方法,它主要关注软件的外部行为,而不关心其内部结构或实现细节。在黑盒测试中,测试人员被视为软件的最终用户,他们根据需求规格说明书来验证软件是否...
【黑盒测试测试用例设计】是软件测试中一种重要的方法,主要关注软件的功能行为,而不涉及其内部结构。在本课程中,我们将深入探讨如何有效地设计测试用例,包括等价类划分、边界值分析以及因果图法。 首先,等价类...
"软件测试之黑盒测试方法" 黑盒测试是软件测试中的一种重要方法,它着眼于系统的功能实现,而不是内部逻辑。黑盒测试试图发现以下类型的错误:功能不正确或不完整、界面错误、数据结构或外部数据库访问错误、性能不...
黑盒测试是软件测试的一种方法,其重点在于测试软件的功能需求,而不关心软件内部结构和内部特性。场景法是黑盒测试的一种重要技术,它基于业务流程和用户场景来设计测试用例,能够有效模拟用户操作行为,从而发现...
本资料主要涵盖了Python语言中的几个重要测试概念:三角形测试、黑盒测试、白盒测试以及unittest框架,并且介绍了如何利用HTMLTestRunner生成测试报告。现在,我们将深入探讨这些知识点。 首先,让我们了解一下...
在软件测试领域,黑盒测试和白盒测试是两种主要的测试方法,它们分别关注不同的角度来确保软件的正确性。 黑盒测试,也称为功能测试,主要关注软件的外部行为,即根据软件的需求和规格说明书,检查软件是否能够正确...
本主题将深入探讨“三角形类型判断”和“黑盒测试”以及“白盒测试”的相关知识,特别是结合C#编程语言的应用。 首先,让我们从“三角形类型判断”开始。在计算机科学中,我们经常需要编写算法来确定一个给定的三边...
在本实验报告中,我们探讨了黑盒测试方法在计算被输入日期是星期几的程序中的应用。实验的目的是使学生熟悉测试过程,理解软件测试的基本概念,并培养良好的测试习惯。以下是该实验涉及的主要知识点: 1. **黑盒...
在软件测试领域,黑盒测试是一种重要的方法,它主要关注软件的功能表现,而不涉及内部结构或实现细节。本文将深入探讨黑盒测试中的两种技术——决策表法和因果图法,帮助初学者理解和掌握这两种有效的测试策略。 ...
本主题主要关注的是“软件测试技术”,特别是“黑盒测试”以及如何设计“测试用例”。黑盒测试是一种广泛应用的测试方法,它不关注程序内部结构,而关注软件功能的表现,就像一个黑盒子,我们只关心输入与输出的关系...
### 黑盒测试知识点解析 #### 一、黑盒测试概述 黑盒测试是一种软件测试方法,它关注的是系统的功能性和行为,而不关心内部结构或实现细节。这种方法主要用于验证软件的功能是否符合用户的需求规格说明书。 #### ...
黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计...