黑盒测试基础

发布者:晴天7777最新更新时间:2022-07-01 来源: csdn关键字:黑盒测试  基础  数据驱动 手机看文章 扫描二维码
随时随地手机看文章

黑盒测试方法:

黑盒测试也称为功能测试和数据驱动测试。它将被测软件视为一个无法打开的黑盒,主要根据功能需求设计测试用例和测试。把产品软件想象成一个只有出口和入口的黑盒。在测试过程中,你只需要知道向黑盒输入什么,知道黑盒会产生什么结果。

在这里插入图片描述

黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等,主要用于软件验证测试。“黑盒”法侧重于程序的外部结构,不考虑内部逻辑结构,针对测试软件界面和软件功能。“黑盒”方法是详尽的输入测试,只有当所有可能的输入都用作测试条件时,才能以这种方式检测程序中的所有错误。事实上,有无数个测试用例。人们不仅要测试所有合法的输入,还要测试那些非法但可能的输入。


优点:


与软件具体实现无关

测试用例可以和软件实现 同时进行

基于说明书,知道软件实现了哪些功能,方便自动化测试。

缺点:


不能覆盖所有的的代码,覆盖条件

自动化测试的复用性低

在这里插入图片描述

等价类划分法:

等价类划分法原理:


把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例

每一类的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。

反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误

等价类方法设计测试用例的三个原则:


为每一个等价类规定一个唯一的编号;

设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

有效等价类:

是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。《软件质量与测试》


即:符合程序要求,合理且有意义


无效等价类:

是指对于程序的规格说明来说是不合理的,没有意义的输入数据构成的集合.利用无效等价类可检验程序是否实现了规格说明中所规定的功能和性能。《软件质量与测试》


即:不符合要求,不合理且有意义


等价类划分法设计步骤


确定等价类的原则在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类

在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可以确立一个有效等价类和一个无效等价类

在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类

在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则和若干个无效等价类(从不同角度违度规则)

在确知己划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如果等价类中的一个测试数据不能捕获缺陷,那么选择该等价类中的其他测试数据也不会捕获缺陷;同样的,如果等价类中的一个测试数据能够捕获一个缺陷,那么选择该等价类中的其他数据测试也能捕获该缺陷。


注: 在寻找等价划分时,考虑吧软件的中具有的相似输入、相似输出、相似操作的分在一起,这写组就是等价划分。

如果为了减少测试用例的数量过度划分等价类,就有漏掉哪些可能暴露软件缺陷的测试风险。


====================================================================


边界值分析法:

边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。《软件质量与测试》


即:对软件的输入或输出边界进行测试 作为等价类划分法的一种补充测试

在这里插入图片描述

边界值只是一个特定的数据。

例如,文本框需要输入6到18位字符。

边界值有:


6字符

18 字符

次边界。边界附近的值,按照系统规定的单位或者计算方式,一个数据的差异。

例如,字符就是个,一个字符,没有半个字符的说法;人民币金额,最小单位是0.01元(1分), ATM机取款和存款,最小单位就是100元,只能是100元的整数倍

## 边界值的选择原则:


如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据

如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据

根据规格说明的每个输出条件,使用前面的原则①

根据规格说明的每个输出条件,应用前面的原则②

如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例

如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。

等价类划分方法和边界值分析方法着重考虑输入条件,而不考虑输入条件的各种组合,也不考虑输入条件之间的相互制约关系。


=======================================================================================


因果图法:

是一种适合于描述对于多种输入条件组合的测试方法

根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法

它适合于检查程序输入条件涉及的各种组合情况。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、结果之间的约束,假如结果成立用1表示,不成立用0表示。

屏蔽。结果之间会出现A结果出现, B结果一定不出现。当你收到注册成功的提示,就"一定不会收到数据填写错误的提示


=======================================================================================


决策表法:(判定表法)

是分析和表达多逻辑条件下执行不同操作的情况的工具。它由以下几个内容组成:


条件桩(Condition Stub) :列出了问题得所有条件。通常认为列出的条件的次序无关紧要。

动作桩(Action Stub) :列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

条件项(Condition Entry) :列出针对它左列条件的取值。在所有可能情况下的真假值。

动作项(Action Entry) :列出在条件项的各种取值情况下应该采取的动作。

在这里插入图片描述

应用场合:主要适用于多条件的内容组合与结果分析。

组成:由条件项、动作项、条件桩、动作桩四部分组成

使用的条件:所有的条件桩在表中的位置和顺序互相不影响;所有的动作桩的顺序不会因为备件顺序的专化而产生不同。


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

=======================================================================================


正交试验设计法:

在这里插入图片描述
在这里插入图片描述

基本思想:


在一项试验中,把影响试验结果的量称为试验因素(因子),简称因素。在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为因素的水平,简称水平。

每列中不同数字出现的次数相等。这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,能有效地比较试验结果并找出最优的试验条件。

在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中。

实施步骤:


分析所有对结果有影响的因素。从多个角度和方式进行分析(不更放过文本框、按钮等需求中提及或者没有提及)

分析每个因素的水平数量,充分利用等价类、边界值(需求中说明和未说明的都要分析)

选择正交表。只有特定的因素数和水平数的组合才有对应的正交表。所以在现实中用到的时候,找最贴近的正交表(正交表的因素数和水平数一般要大于实际的因素数和水平数。

在这里插入图片描述

=======================================================================================


错误推测法:

错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。


错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。


例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。

输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。


=======================================================================================


功能分解法:(又叫做状态迁徙图)

来源:在遇到有事务流或由于某种条件成立导致状态改变的软件时,如何进行测试用例的设计就比较麻烦。

状态迁徙图法的目标

设计足够多的测试用例达到对系统状态的覆盖、状态条件组合的覆盖以及状态迁移路径的覆盖

以操作系统的进程调度算法为例

·功能图法步骤


列出所有可能的输入事件,以ip N的方式命名(N为1, 2, 3, 4…)

把软件的打开的初始状态,定义为"空闲"状态

在“空闲”状态上加所有可能的输入(只加一次!)

为上一步产生的所有新状态,分别加所有可能的输入(只加一次!)

循环执行上一步直到再没有任何新状态产生,列出所有的状态,生成状态表

组合任意可能的状态组合,写出相应的测试用例.

=======================================================================================


场景法:

现在的软件几乎都是用事件触发来控制流程的。测试时,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行。


基本流:软件功能按照正确的事件流实现的一条正确流程。通常一个业务仅存在一个基本流,且基本流仅有一个起点和一个终点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在设计负面测试用例时,一般使用2&8法则,4倍于正面用例的数量。一个健壮的软件,其中80%的代码都是在“保护”20%的功能实现。

关键字:黑盒测试  基础  数据驱动 引用地址:黑盒测试基础

上一篇:一些基本的测试方法
下一篇:性能测试、负载测试、压力测试、稳定性测试

推荐阅读最新更新时间:2024-11-20 10:29

STM32中较为常见的C语言基础知识
C语言是单片机开发中的必备基础知识,本文列举了部分 STM32 学习中比较常见的一些C语言基础知识。 1位操作 下面我们先讲解几种位操作符,然后讲解位操作使用技巧。C语言支持以下六种位操作: 下面,重点讲解一下位操作在单片机开发中的一些实用技巧。 在不改变其他位的值的状况下,对某几个位进行设值 这个场景在单片机开发中经常使用,方法就是我们先对需要设置的位用&操作符进行清零操作,然后用 | 操作符设值。 比如,我要改变 GPIOA 的状态,可以先对寄存器的值进行&清零操作: GPIOA- CRL&=0xFFFFFF0F;/*将第4~7位清零*/ 然后再与需要设置的值进行 |
[单片机]
STM32中较为常见的C语言<font color='red'>基础</font>知识
数据传输量需求大增 LTE驱动高效能时序发展
以太网络自从IEEE802.3于1980年首次发表以来已走过了漫漫长路。以太网络一开始是作为连接PC和工作站的技术,然后逐渐发展成为企业运算、数据中心、无线网络、电信和工业等广泛应用的网络技术。由于以太网络的普及以及所需硬件成本的不断下降,以太网络在这些应用将继续更为普及。 数据中心热潮来临 目前一些最有趣的技术变革正在进行中,例如100G以太网络被用于数据中心和无线电波存取网络。 这些朝向高速光纤以太网络的变迁,正在推动对于更高效能频率和频率控制产品的需求。 随着传统企业的工作负载正在迅速转移到公共云端基础建设,带来了全球对于数据中心的广大投资热潮。 除了日益成长的低延迟需求之外,数据中心还面临着独特的挑战,即工作负载处理分布在
[网络通信]
中国未来七年内将投入1800亿美元 用于5G基础设施建设
电子讯:6月15日报道 港媒称,中国三大电信运营商在5G基础设施上的总投入在七年内预计将达到1800亿美元,远远超出2013-2020年他们在4G网络上估计1170亿美元的投入。 据香港《南华早报》网站6月12日刊登题为《中国将斥资1800亿美元建全球最大5G移动网络》的报道称,杰富瑞投资银行证券分析师爱迪生·李说,这意味着中国移动、中国联通(微博)和中国电信(微博)的总资本开支相比它们在4G网络上的总投入增长大约48%。 报道称,这也将超过日本的支出,日本在同样的七年内的5G网络支出预计将为460亿美元。 李说:“随着全部三大电信运营商可能从2019年开始投入积极建设,5G网络对内地创新型客户服务和企业服务的影响将是巨大
[网络通信]
Jupiter Systems显示墙在中国的基础设施产业销售破纪录
北京--(美国商业资讯)--InfoComm China 2013 – 显示墙技术领域的业界领导者与中国早期投资者Jupiter Systems今天宣布,该公司的Fusion和PixelNet显示墙处理器2013年在中国取得了创纪录的基础设施产业销售额。中国众多产业不同种类的指挥和控制可视化安装工程选择采用Jupiter的产品,包括电力、水务、机场、铁路、海港和公路交通管理、公共安全、采矿、电信、广播、金融和企业市场等领域。 Jupiter Systems China董事长Chuck Kelley表示:“Jupiter Systems继续推动显示墙解决方案在中国市场取得创纪录的销售额,特别是在中国的众多关键基础设施产业,而这些产
[工业控制]
ARM汇编编程基础之三-基本寻址方式与基本指令
要想进行ARM的汇编编程,首当其冲要知道最基本、最常用的指令,而要了解指令则必须要了解寻址方式。所以本文将聚焦在 基本寻址方式和基本指令。 首先,来看一看我们已经见过的2条指令:MOV pc, lr; BL addsub 最简单的汇编指令格式是操作码(例如:MOV、BL)和操作数(例如:pc, lr, addsub)。操作码易于理解,例如MOV表示将某个值从一处传送到另一处,BL表示跳转到某处;而操作数则表示一处和另一处到底是哪里(是在寄存器中还是内存中),要跳转的位置在哪里(或者是绝对地址或者是相对地址)。 操作数部分要解决的问题是:到哪里去获得操作数?因此就有了寻址方式的分类。基本上来讲,ARM共有8种寻址方式,本文我们了解
[单片机]
单片机成长之路(51基础篇)- 009 关于sdcc的多文件编译范例
  本文是续 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境编写的。   本范例主要由(main.c ,delay.h,delay.c,makefile)4个文件组成,sdcc的编译环境搭建参照:单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境,废话不多,进入主题: main.c(主函数) 1 #include 8051.h 2 #include delay.h 3 #define uint unsigned int 4 #define uchar unsigned char 5 uchar tab = {0x01,0x02,0x04,0
[单片机]
云服务基础设施采用虚拟机技术要考虑的问题
  利用虚拟化带来的经济上的可扩展有利于加强在基础设施、平台、软件层面提供多租户云服务的能力,然而利用这些虚拟化技术也会带来其它安全问题,本文将考虑这些安全问题。虚似化技术有许多种,最常用的是操作系统虚拟化,本文将主要针对这一技术,如果云服务的基础设施采用了虚拟机(VM)技术,这些VM系统间的隔离加固是必须要考虑的。   虚拟操作系统管理方面的实践现状是:大多数提供缺省安全保护的进程都未被加入,因此必须特别注意如何代替它们的功能。虚拟化技术本身引入了hypervisor和其它管理模块这些新的攻击层面,但更重要的是虚拟化对网络安全带来的严重威胁,虚拟机间通过硬件的背板而不是网络进行通信,因此,这些通信流量对标准的网络安全控制来说
[网络通信]
兼容MIFARE™基础设施的NFC技术
      中国上海,2009年2月20日,智能卡供应商之一欧贝特科技与恩智浦半导体今日宣布,两家公司已完成欧贝特科技Opera FlyBuy NFC(近距离无线通信)SIM卡与恩智浦PN544 NFC控制器之间的互操作性测试。欧贝特科技推出的Opera FlyBuy NFC SIM卡可以结合恩智浦PN544 NFC控制器使用,以设计与现有基础设施中的MIFARETM* Classic技术兼容的NFC移动设备。       欧贝特科技卡系统部门执行董事Xavier Drilhon表示:“凭借多应用和远程管理能力,欧贝特科技Opera FlyBuy NFC SIM卡为移动网络运营商提供了最高的灵活性,并给最终用户带来非接触技术的
[手机便携]
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved