白盒测试与黑盒测试

白盒测试与黑盒测试

1. 黑盒测试(Black-box Testing)

黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。(不看软件代码,只对功能进行测试;对软件进行操作,观察结果是否和我们想象的一致
在这里插入图片描述
黑盒,顾名思义就是:把测试对象看作一个不能打开的黑盒子。测试时,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,检验输出结果对不对。

2.白盒测试(White-box Testing)

白盒测试是基于代码的测试。白盒指的打开盒子,去研究里面的源代码和程序结果。接口测试也是白盒测试的是一种 。(对代码进行测试,对代码里面的的接口,数据结构,边界值,路径覆盖,错误处理等等内容进行测试
在这里插入图片描述
与黑盒恰恰相反,白盒是把测试对象看作一个打开的透明盒子。测试时,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。

3.区别

  1. 测试时关注的对象不一样:
    黑盒测试主要针对的是程序所展现给用户的功能
    白盒测试主要针对的是程序代码逻辑
    简单的说,就是黑盒测试最终展示功能,白盒测试后台程序的代码逻辑。

  2. 测试方法不一样
    (a)黑盒测试的测试方法:等价类划分、边界值分析法、错误分析法、因果图法;
    (b)白盒测试的测试方法:逻辑覆盖法、基本路径测试法、代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法。

4.优缺点

黑盒

优点:

  1. 对于较大的代码单元来说,黑盒测试比白盒测试效率更高。
  2. 测试人员不需要了解细节,包括特定的编程语言。
  3. 测试人员和开发人员是彼此独立的。
  4. 从用户的角度测试,很容易被理解和接受。

缺点:

  1. 很多测试路径没有被测试到。
  2. 不能直接对特定程序段进行测试,而该程序段可能隐藏很多错误。
  3. 大部分和研究相关的测试都是直接针对白盒测试的。

白盒

优点:

  1. 帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
  2. 能相对来说了解软件的具体实现代码
  3. 对代码的测试来说相对比较好

缺点:

  1. 程序运行会有很多不同的路径,不可能测试所有的运行路径;
  2. 测试基于代码,只能测试开发人 员写的对不对,而不能知道研发人员设计的正确与否,可能会漏掉一些功能需求;
  3. 系统庞大时,测试开销 会非常大。

软件测试基本准则

  1. 所有测试的标准都是建立在用户需求之上的,测试的目的在于发现系统是否满足规定的需求。
  2. 尽早的和不断的测试,越早进行测试,缺陷的修复成本就会越低。
  3. 程序员应避免检查自己的程序,由第三方进行测试更客观有效。
  4. 穷举测试是不可能的。
  5. 充分注意测试中的群集现象,一段程序中一发现的错误数越多,其中存在的错误概率越大,因此对发现错误较多的程序段,应进行更深入的测试。
  6. 设计测试用例时应包括合理输入和不合理输入,以及各种边界条件、特殊情况下要制造极端状态和意外状态。
  7. 注意回归测试的关联系,往往修改一个错误会引起更多错误。
  8. 测试应从“小规模”开始,逐步转向“大规模”。
  9. 测试用例式设计出来,不是写出来的,应根据测试的目的,采用相应的方法设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。
  10. 重视并妥善保存一切测试过程文档(测试计划,测试用例,测试报告等)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值