黑盒与白盒到底是什么?

1、听着很熟悉的样子,但是却没有实际的了解过什么是白盒,什么是黑盒?

白盒:就是直接从程序的源代码里开始搞,其实主要是测试API,再细点说,就是测试public的方法(当然还有静态代码走查啥的,也得算到这里头,还有语句覆盖(就是代码有没有得到执行)),(不同的解释:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所以内部成分是否经过检查)

黑盒: 那就直接通过运行程序,开始搞,直接使用应用,看不到源代码,也就是我们常说的功能测试。(不同的解释:一直产品的功能设计规格,可以进行测试证明了每个实现了的功能是否符合要求)

总结:  测试行为根据不同的角度,有非常多的分类吗,可见白盒与黑盒是根据是否能看见源代码为依据的。。。

 

2、白盒和黑盒具体使用的场景?

  a、黑盒测试

      测试特点:测试功能

       测试依据:需求规格说明书

       方法举例: 等价类划分,边界值测试

        优点:能站在用户的立场上进行测试

         缺点:不能测试程序内部特定部位,如程序有误,则无法发现

b、白盒测试

         测试特点: 测试程序接口与结构

         测试依据:软件程序

         方法举例:逻辑覆盖

         优点:对程序内部特定部位进行覆盖测试

         缺点:无法检验程序外部特性

3、第二次认识

  黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,针对软件界面和软件功能进行测试,只检查功能是否符合需求规格说明书,能正常使用。因此黑盒测试又叫功能测试或数据驱动测试

 

白盒测试是对软件的过程性细节做细致的检查,这种方法是把测试对象看作一个打开的盒子,他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一直。因此白盒测试又称为‘结构测试’或逻辑驱动测试。  白盒测试是按照程序内部的结构,来测试程序,通过测试检验产品内部动作是否按照设计规格说明书的要求正常进行,检验程序中的每条通道是否都按照规定正常工作。

 

4、第三认识

黑盒测试主要是为了发现以下错误:

(1)是否又不正确或者遗漏了的功能

(2)在接口上,输入能否正确接受?能否输出正确的结果?

(3)是否又数据结构错误或外部信息(例如数据库我呢见)访问错误?

(4)性能上是否能够满足要求?

(5)是否又初始化或终止性错误?

黑盒的测试用例技术设计又三种:边界值分析、等价类划分、错误推测法

 

白盒测试主要是想对程序模块进行一下检查:

(1) 对程序模块的所有独立的执行路径至少测试一遍

(2)对所有的逻辑判定,取 真 或 假的两种情况都能至少测一遍

(3)在循环的边界和运行的界限内执行循环体

(4)测试内部数据结构的有效性,等等;

(5)静态白盒测试: 即代码审查,正式审查和检验设计和程序代码

(6) 动态白盒测试:利用查看代码功能和实现方法得到的信息来设计和执行测试,也叫结构测试;

白盒的测试用例技术包括逻辑覆盖和基本路径测试

逻辑覆盖:是以程序内在逻辑结构为基础的测试用例设计技术,这以方法要求测试人员对程序的逻辑结构又清楚的了解。

基本路径测试:在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

 

 

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值