首页 > 其他分享 >Test_白盒测试和黑盒测试

Test_白盒测试和黑盒测试

时间:2023-04-14 11:32:42浏览次数:47  
标签:黑盒 覆盖 白盒 路径 程序 测试 Test

白盒测试

依据:LLD(详细设计)

目的:利用不同的逻辑率到达某种程度的代码覆盖率(考虑全部程度的代码覆盖率会增加本)

步骤:静态分析和动态分析

优点:迫使测试人员去了解软件的实现

     检测代码中的每条路径和分支

     揭示隐藏在代码中的错误

     对代码的测试进行比较彻底

缺点:白盒测试投入较大,成本较高

      白盒测试不验证规格的正确性

      无法检查代码中遗漏的路径和数据敏感性错误

黑盒测试

依据:SRS(Software requriement specification软件需求说明书)

目的:从质量特性的不同方面,对软件进行测试,检测该软件是否实现了SRS中所有显示和隐式的需求

步骤:构造输入和预期输出,通过一定的操作步骤来测试软件。

优点:对较大的代码单元来说,黑盒测试比白盒测试的效率高

      测试人员不需要了解实现得细节,包括特定的编程语言

      测试人员和编程人员是相互独立的

      从用户的角度进行测试,很容易被接受和理解

      有助于暴露任何与闺阁不一致或者歧异的地方

      测试用例可以在规格完成后马上进行

缺点:不能测试程序内部特定部位

          如果程序未执行的代码无法发现

          没有清晰的和简明的规格,测试用例很难被设计

 

via: http://www.ltesting.net/ceshi/ceshijishu/gncs/2009/0619/163872.html

从哲学观点看,分析问题和解决问题的方法有两种:白盒子方法和黑盒子方法。所谓白盒子方法就是能够看清楚事物的内部,即了解事物的内部结构和运行机制,通过剖析事物的内部结构和运行机制,来处理问题。所谓黑盒子方法是没有办法或不去了解事物的内部结构和运行机制,而把整个事物看成一个整体——黑盒子,通过分析事物的输入、输出以及周边条件来分析和处理问题。软件测试具有相类似的哲学思想。根据测试足针对系统的内部结构还是针对具体实现算法的角度来进行,分别称为白盒测试和黑盒测试。

1黑盒测试法(black-box testing)

     黑盒测试,也称功能测试或数据驱动测试。它不管程序内部结构是什么样的,只是从用户出发,根据产品应该实现的实际功能和已经定义好的产品规格,来验证产品所应该具有的功能是否实现,每个功能是否都能正常使用,是否满足用户的要求。

    在测试时,把程序看作一个不能扣开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试人员针对程序接El和用户界面进行测试,只检查程序功能足否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

黑盒测试主要用于发现以下情况:

·  是否有不正确或遗漏了的功能;

·  在接口上t能否正确地接受输入数据,能否产生正确的输出信息;

·  访问外部信息是否有错;

·  性能上是否满足要求;

·  界面是否错误,是否不美观;

·  初始化和终止错误。

黑盒测试方法主要用于软件确认测试。其其体方法有等价类划分、边界值分析、错误推测法、因果图等。

    黑盒测试方法着眼于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。在用黑盒法测试时,必须在所有可能的输入条件和输出条件中确定测试数据。

   黑盒测试中不可能做到穷举测试,因此局限于功能测试是远远不够的,还要结合白盒测试方法,进行逻辑和路径测试。

2白盒测试法(white—box testing)

    白盒测试,也称结构测试或逻辑驱动测试,也就是己知产品的内部工作过程,清楚最终生成软件产品的计算机程序的结构和语句,按照程序内部的结构测试程序·测试程序内部的变量状态、逻辑结构、运行路径等,枪验程序中的每条通路是否都能按预定要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。主要用于软件验证。白盒测试的主要方法有逻辑覆盖、基本路径测试等。

    白盒测试要求全面了解程序内部逻辑结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对所有逻辑路径进行测试,并检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。自盒测试法是穷举路径测试,但贯穿程序的独立路径数可能是一个天文数字,所以也不可能进行穷举测试。企图遍历所有的路径是很难做到的,即使每条路径都测试了,覆盖率达到100%,程序仍可能出错。

    .  穷举路径测试绝不能查出程序违反了设计规范,即程序在实现一个不是用户需要的功能。

    .  穷举路径测试不可能查出程序中因遗漏路径而出错。

    .  穷举路径测试可能发现不了一些与数据相关的错误。

     白盒法是“基于覆盖的测试”,应朝着提高覆盖率的方向努力,尽可能多地进行测试,找出那些被忽视的错误。一般来说,白盒测试的原则是:

    ·  保证每个模块中所有独立路径至少被使用一次。

    .  对所有逻辑值均测试为真值(true)和假值(false)。

    .  在EF边界及可操作范围内运行所有循环。

    ·  检查内部数据结构以确保其有效性。

     综上所述,白盒测试用例的常见设计方法有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组台覆盖和路径覆盖。

 

via: javascript:void(0)

白盒测试

一、定义

白盒测试是一种测试用例设计方法。在这里,盒子指的是被测试的软件,白盒,顾名思义即是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一定的了解,并且基于这个知识来设计你的测试用例。 

二、使用白盒测试方法产生的测试用例能够完成的功能

(1)保证一个模块中的所有独立路径至少被使用一次。

(2)对所有逻辑值均测试true和false。

(3)在上下边界以及可操作范围内运行所有循环。

(4)检查内部数据结构以确定其有效性。 

三、白盒测试的常用技术

(1)静态分析技术

(2)动态分析技术

(3)测试数据生成

(4)覆盖率:语句覆盖,判定覆盖,条件覆盖,路径覆盖 

黑盒测试

一、定义

黑盒测试又叫功能测试。这是因为在黑盒测试中,主要关注于被测试软件的功能的实现,而不是内部逻辑。 

二、黑盒测试用于发现的错误 

(1)功能错误或遗漏

(2)界面错误

(3)数据结构或外部数据库访问错误

(4)性能错误

(5)初始化和终止错误 

三、黑盒测试的常用技术

(1)没有用户参与的黑盒测试

(2)有用户介入的黑盒测试 

四、黑盒测试的方法

在黑盒测试中,我们不依据代码来决定测试用例,而是在了解需要解决的问题的情况下,组织四个方面的测试数据:易于计算的数据,典型数据,边界/极端数据,假数据。

标签:黑盒,覆盖,白盒,路径,程序,测试,Test
From: https://blog.51cto.com/u_16070335/6189777

相关文章

  • Python+Requests+Pytest接口自动化测试微信接口实例
         pytest.ini配置文件[pytest]log_cli=truelog_level=NOTSETlog_format=%(asctime)s%(levelname)s%(message)slog_date_format=%Y-%m-%d%H:%M:%Saddopts=-vs--alluredir./temp-m'file'log_file=./log/test.loglog_file_level=infol......
  • pytest + yaml 框架 -24.单个用例中参数化功能实现
    前言早期版本参数化功能实现只支持在config中全局的地方写parameters关键字,只实现了基本的功能。v1.2.1版本对parameters参数化功能做了进一步的细分,支持在case用例中针对单个用例的参数化了。parameters参数化用例参数化的实现,我设计了2种实现方式参数化方式1:con......
  • fio性能测试-环境搭建,功能介绍,测试讲解
    fio性能测试-环境搭建,功能介绍,测试讲解Fio介绍:FIO(FlexibleI/OTester)是一个用于测试磁盘、文件系统、块设备和网络设备性能的工具。它可以模拟不同类型的I/O负载,包括随机或顺序读写、混合读写、随机或顺序访问等。FIO提供了丰富的选项和参数,可以对测试进行高度定制化配置,以满足......
  • pytest学习笔记
    pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考能够支持简单的单元测试和复杂的功能测试支持参数化执行测......
  • 灰狼、鲸鱼、人工蜂群算法matlab 程序采用CEC21测试函数对灰狼算法、鲸鱼算法、人工蜂
    灰狼、鲸鱼、人工蜂群算法matlab程序采用CEC21测试函数对灰狼算法、鲸鱼算法、人工蜂群算法的性能进行测试,可以得到相同测试环境(相同种群数量和迭代次数)的算法对比结果,附赠CEC21测试函数包和介绍资料。ID:4290671868436557......
  • 2023.04.13 定时测试随笔 T1
    T1P1133教主的花园传送门:洛谷P1133这是一道DP的题,定义状态\(dp[i][j][k]\)表示前\(i\)棵树所能达到的最大价值,且第\(i\)棵树为第\(j\)种树,\(j=0\)高度是\(10\),\(j=1\)高度是\(20\),\(j=2\)高度为\(30\),如果\(k=0\)它的高度小于相邻两颗,\(k=1\)则......
  • 科技论文:软件体系架构质量属性-可测试性
    软件体系架构质量属性-可测试性邱实(石家庄铁道大学河北省石家庄市050000) 摘要:测试是软件生命周期中不可忽略的一个关键过程。软件架构质量属性与软件测试密切相关。对于软件体系架构的质量属性,可测试性是一个非常重要的方面。在本文中,我们将探讨软件体系架构质量属性的......
  • POJ 2001 Shortest Prefixes(字典树)
    题目地址:POJ2001考察的字典树,利用的是建树时将每一个点只要走过就累加。最后从根节点开始遍历,当遍历到只有1次走过的时候,就说明这个地方是最短的独立前缀。然后记录下长度,输出即可。代码如下:#include<iostream>#include<stdio.h>#include<string.h>#include<stdlib.h>#inc......
  • test
    分片主要是用于数据库的水平扩展什么是分片分区:将一个表的行分成多个不同的表,称为分区。每个分区中保存的数据都是唯一的,并且独立于其他分区中保存的数据。水平分区是将不同范围的行进行分离,垂直分区主要是将列分离(通过索引/主键)分片将一个数据分成多个小块,称为逻辑分片。然......
  • 软件性能测试有哪些测试指标?具备CMA、CNAS认证的软件检测公司安利
    一、软件性能测试时有哪些测试指标?1.响应时间响应时间,简称RT。指系统对请求作出响应的时间,可以理解为用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程耗费的时间。2.系统处理能力指系统在利用系统硬件平台和软件平台进行信息处......