什么叫黑盒测试(什么叫黑盒测试和白盒测试)

软件测试,有不同的测试方法,将军呢,可以分为黑盒测试和白盒测试

Sh。MEiYAN888。coM

所谓的黑盒测试,照字面意思理解,把一个软件比作一个黑匣子,我们看不到里面是什么样子,您只能从一侧输入数据,从另一端获取输出数据。黑盒测试,我们不关心软件内部发生了什么,就从最基本的需求出发吧,设计一些特殊的测试数据,然后输入,看软件的处理,是否满足功能需求的预期结果。

和白盒测试,与黑盒测试相反。白盒测试需要分析函数内部的逻辑结构,包括函数的结构、本地数据的定义和引用、函数内部各种控制语句组成的不同路径等。从技术层面来说,白盒测试比黑盒测试要求更高,需要测试人员的程序实现语言,架构,对逻辑实现有一定的了解,所以白盒测试,通常,它是由开发人员进行的测试活动。

Sh。MEiYAN888。coM

本文主要讨论黑盒测试。

(网络盗图,删除侵权)

黑盒测试(Black Box Testing)

什么是黑盒测试

黑盒测试也称为功能测试,主要关心的是被测软件的功能是否实现,而不是内部逻辑的处理。

黑盒测试最早用于软件测试,和最广泛的测试方法。在黑盒测试中,被测物体的内部结构,操作条件,这些测试人员都不可见,也不在乎,测试人员主要根据规范对被测产品进行验证,以验证与规范的一致性。

这就像一台自动取款机,从黑盒测试的角度来看,我们可以插卡,输入口令,然后输入金额,最后拿到现金,测试这个过程是否正常,金额是否与实际现金相符等,至于ATM机内部怎么处理,如何与银行沟通,我们不在乎,这就是黑盒测试方法。

(网络盗图,删除侵权)

黑盒测试的目的,在以下情况下会发现以下类型的错误:

功能错误或遗漏; 接口错误或UI错误; 访问数据或外部数据库时出错; 性能误差; 以及初始化和终止错误;

为什么要做黑盒测试

可能朋友会有疑惑,因为技术水平较高的开发人员,我做过白盒测试,为什么测试人员要做黑盒测试?这不是浪费人力和时间吗。

实际上,事实并非如此,白盒测试是相对早期的测试活动,当做白盒测试时,也许测试对象只是一个模块,甚至是一个单位、循环陈述。这一次的考验,真的可以排除语句错误,但是一旦模块被组合,不同模块之间的通信活动是必要的,那么整体能否正确稳定的工作呢?不一定。

黑盒测试主要用于回答以下问题:

如何测试功能的有效性; 什么样的输入会产生好的测试用例; 系统对特定的输入值或类型敏感吗; 如何分离数据类的边界; 系统能承受多大的数据速率和数据量; 什么样的数据组合会影响系统;

(网络盗图,删除侵权)

采用黑河试验方法,可以获得一组标准的测试用例,我们可以设计额外的测试用例,减少实现合理测试所需的测试用例数量,可以被设计成通知某些类型的错误的存在或不存在,而不仅仅是与特定测试相关的错误。

Sh。MEiYAN888。coM

一些常用的黑盒测试技术

黑盒测试意味着测试数据的选择和测试结果的解释是基于软件的功能属性。黑盒测试不应该由程序的创建者来执行,因为这样的测试者,非常了解程序的内部结构,当实际测试该方法时,可能限于一些实测场景或测试数据。

软件功能测试,有必要让第三方根据需求文档或其他文档描述来设计黑盒测试。

Sh。MEiYAN888。coM

虽然黑盒测试是围绕用户的需求文档进行的,然而,黑盒测试并不一定要求用户参与测试。在绝大多数没有用户参与的黑盒测试中,最常见的测试包括这些种类:

功能测试 体积测试 安全试验 负荷试验 恢复性测试 标杆管理 稳定性试验 可靠性测试

Sh。MEiYAN888。coM

和用户参与的测试,主要有现场试验和实验室试验。

不同用途的功能测试方法,一个是有序的,依次执行每个程序的特性或功能,另一种方法是一个模块一个模块地测试,这种测试一般是对每个函数调用的第一个模块的第一个测试。

体积测试的目的是检测软件在处理海量数据时的局限性。体积测试能够发现系统效率方面的问题,例如不正确的缓冲区大小,或者占用太多内存空间。

负荷试验检测系统在一个很短的时间内处理大量的数据或者执行大量的功能调用的能力。比如双十一天猫,春运的12306,就要进行非常大规模的负荷试验。

(网络盗图,删除侵权)

恢复测试主要保证系统在崩溃后恢复外部数据的能力。尤其重要的是,系统能够完全恢复或部分恢复这些数据,特别是对于要求高可靠性的系统。

标杆管理包含了程序效率的测试。程序的有效性很大程度上取决于硬件环境,因此标杆管理总是考虑软件与硬件的组合情况。然而,对于大多数软件工程师来说,标杆管理主要关注特定的操作的量化数据,有些还考虑用户测试,比较不同软件系统作为标杆管理的有效性。

对于涉及用户的测试活动,软件工程中很少有方法论上的考虑。

一般来说,测试报告是为了区分一般的现场测试和实验室测试。

在现场测试中,观察用户在正常工作场所使用软件的情况。除了一般和可用性特征之外,外场测试对于评估软件系统的交互性很有用,比如系统工作的技术有多全面。此外,现场测试是从现有工艺说明系统综合性能的唯一实用手段。

实验室测试通常用于评估系统的可用性。因为实验室检测的成本相对较高,因此,这种测试一般是大型软件组织会考虑的活动,如IBM,Microsoft这样的公司。因为实验室测试为测试人员提供了许多技术可能性,因此,它的数据手机和分析比现场测试容易得多。

黑盒测试的优点和缺点

优点:

对于较大的代码单元,效率要高于白盒测试; 测试人员不需要知道实现的细节,包括特定框架结构和编程语言; 测试人员和编码人员相互独立工作; 从用户的角度进行测试,采用的方法和方案易于理解和接受; 帮助暴露任何与规范不一致或不明确的问题; 测试用例可以在规范完成后立即执行;

缺点:

可供选择使用的输入更少,不可能覆盖所有的输入流,换句话说,测试将是不完整的; 不清楚、简明的规格或需求规格,测试用例及解决方案很难设计; 如果测试人员没有被告知开发人员已经执行的用例,那么测试数据中就会有重复,带来时间和人力的浪费; 将有许多程序路径没有被测试; 不能直接针对特定的程序代码,这个过程可能非常复杂;

(网络盗图,删除侵权)

黑盒测试不需要考虑程序内部的实现,所以与白盒测试相比,黑盒测试更容易实现,更易于设计。而且更适合用户的使用方式,黑盒测试可以最大限度的模拟用户会用到的功能和场景。

大多数测试人员的主要工作,就是进行黑盒测试,也就是测试程序或系统的功能。这个程序可能有一个简单的功能,只需要三两个测试工程师就可以了,也可能极其复杂,需要分组,一个超过一千人的测试小组进行了测试。

充分理解黑盒测试的原理和方法,在实际工作中,设计方案和测试用例将会很方便,就功能覆盖面而言,也会深思熟虑。

原创文章,作者:美颜白客,如若转载,请注明出处:http://www.meiyan888.com/shfer/24848.html