Q: 如何给这个函数做白盒测试,黑盒测试,该函数有无错误

//被测接口
float avg(float *list,int count)
{float sum = 0.0;for(int index = 0;index < count;index++)sum += list[index];return sum / count;
}

A:


float avg(float *list,int count)
黑盒:用例测试
白盒:code review


这个白盒结果:
1.没有注释
2.没有处理list为空的情况
3.没有处理count为0或负数的情况
4.没有处理指针溢出
5.没有处理sum溢出 (其中5的情况估计黑盒不容易测试。)


黑盒:
avg((float*)null, 0);
avg(list, 0); 
avg(list, 5); 
avg(list, 10); 
avg(list, -1); //list 长度为10


东子哥:白盒测试,其实就是按代码的逻辑进行分支覆盖。刚刚的那个代码太简单,但也是依代码写法进行的。。。要不然我也想不出这么多可能性。 其实,把黑盒做好就好了,做做code review就好了。当你已经明确一个函数的功能的时候。。。管他内部怎么实现。我们不做白盒测试,只做黑盒和code review. 而且不做类私有方法的单元测试。 现有测试框架无法测试private函数。


总结:

所谓黑盒测试并非是可以不写测试代码了,仅仅通过手工测试就好(我觉得我们公司的测试貌似有这种认识)。黑盒的定义根据预先定义的功能,规划输入输出。例如功能规定输入X必须得到Y,那么输入X就判断输出是不是Y,是Y就正确,不是Y就算做BUG,这个完全可以通过测试用例写出来,不过白盒和黑盒的区别是什么呢?白盒是通过先阅读代码,组织测试用例及其输入,让程序的执行分支和自己想要的一样,然后把边边角角的逻辑,分支,边界都覆盖到,仅从代码片段上看,应该是看不出区别的,而且有很大一部分的测试用例,白盒和黑盒是重叠的,但是白盒的用例应该会比黑盒多很多,所以成本其实比黑盒高,所以有公司和团队的策略就是不写白盒只写黑盒测试,用code review代替白盒

转载于:https://www.cnblogs.com/code-style/archive/2012/12/01/2797393.html

白盒测试和黑盒测试(感谢东子哥作答)相关推荐

  1. 【软件测试】白盒测试与黑盒测试

    白盒测试与黑盒测试 测试用例 定义 生成的基本准测 设计步骤 作用 测试数据和测试用例的区别 黑盒测试 定义 优点 缺点 黑盒测试的实施过程 等价类划分法 边界值分析法 错误推测法 因果图 判定表 判 ...

  2. 白盒基本路径发测试实验报告_软件生命周期、白盒测试、黑盒测试

    继上一讲: 隅巳毕月:达摩克里斯之--排序与查找技术​zhuanlan.zhihu.com 我们今天来讲一下软件周期与两种软件测试方法 软件开发应遵循一个软件的生命周期,通常把软件产品从提出.实现.使 ...

  3. 【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例

    这几天闲得无聊,就打开手机上的开发者模式里面的"GPU过度绘制"功能,看看别家的App做的咋样,然后很偶然的打开了"简书",然后就被它的过度绘制惊呆了,于是写了 ...

  4. 渗透测试类型(白盒测试、黑盒测试)和漏洞扫描器

    一.渗透测试类型 渗透测试分为两种基本类型:白盒测试和黑盒测试. 白盒测试:也被称为白帽测试,是指渗透测试者在拥有客户组织所有知识的情况下所进行的测试: 黑盒测试:模拟一个对客户组织一无所知的攻击者所 ...

  5. 软件测试--白盒测试、黑盒测试、α测试、β测试

    测试的目的:尽可能多的发现缺陷,比如功能的错误,性能低下,易用性差. 测试的思路:先假设程序存在什么缺陷,然后执行程序来发现缺陷. 测试类型:白盒测试,黑盒测试. 主要发现以下问题:是否有不正确或遗漏 ...

  6. 白盒测试与黑盒测试的联系与区别

    软件测试的方法有很多,比如白盒测试,黑盒测试,静态测试,动态测试等等,但主要的还是白盒测试和黑盒测试. 白盒测试主要是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面.这种类型的测试需要从 ...

  7. 【凯子哥带你夯实应用层】都说“知乎”逼格高,我们来实现“知乎”回答详情页动画效果

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 2014已经远去,2015年的目标很简单,就是继续熟悉Android的上层API,虽然偶尔会为了某个问题去研 ...

  8. 【凯子哥带你学Framework】Activity界面显示全解析

    前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明"写让大家都能看懂的Framework解析文章"的思想是基本正确的. ...

  9. android黑盒白盒测试,白盒测试和黑盒测试的区别

    前言 前面我们聊过<软件测试笔记(十一)自动化测试和手动测试的选择>,有些朋友和我聊到在测试里面还有类似的一些概念,比如白盒测试和黑盒测试.今天就大家分享下我对这两种测试的理解. 黑盒测试 ...

  10. 接口自动化测试白盒测试与黑盒测试的区别

    目录 一.黑盒(功能性)测试和白盒(结构性)测试 二.白盒测试与黑盒测试的关系 三.测试用例 四.结束语 软件测试是软件工程中的一个非常重要的环节,是开发项目整体的一部分,是伴随软件工程的诞生而诞生的 ...

最新文章

  1. linux mysql c语言编程,在Linux下通过C语言操作MySQL数据库
  2. 手机安装失败java. io_Android java.io.FileNotFoundException:*** (Permission denied)
  3. SAP PM 初级系列之27 – SAP系统怎么知道某种类型的维修工单检验批上的检验类型是14?
  4. 【MM配置】Movement Type 移动类型创建
  5. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...
  6. .NET 程序员的 Playground :LINQPad
  7. sasl java_javaSASL_SSL帐号密码方式访问kafka
  8. android ndk gcc,Android NDK GCC似乎是铿锵的 - 它应该是这样吗?
  9. 运营商取消话费余额有效期后改收闲置费
  10. SVN使用过程中遇到的一些问题
  11. python书籍推荐:Python Cookbook第三版中文
  12. (二)、WCF通道模型
  13. 自定义初学5——自定义View显示图片
  14. 随手记_C++语法中的一些注意事项
  15. python和java哪个更有前途_Java和Python现在都很热门,哪个更有前途?
  16. 常用数学建模知识点及方法总结(1)(2021-8-10)
  17. centOS下,怎么能快速锁屏
  18. 租车APP都哪些,租车平台成功案例
  19. 密码学之背包加密系统(Merkle–Hellman公钥加密算法)原理
  20. 点云配准方法原理(NDT、ICP)

热门文章

  1. 顶点式超级计算机吗,有没有数学解题软件
  2. wamp+php+下载,wampserver 64位(php环境搭建安装包)下载_wampserver 64位(php环境搭建安装包)官方下载-太平洋下载中心...
  3. 李宏毅ML2021 HW3创建pseudo dataset
  4. 微信小说小程序源码-附带采集
  5. arctanx麦克劳林公式推导过程_罗德里格斯公式推导
  6. STRAIGHT_JOIN
  7. 数据库中存储的是什么?数据库存取的是地址
  8. android 路由表命令,一个轻量简易的Android路由框架
  9. 程序员都是段子手,注释都带魔性
  10. 微软的teredo服务器,Win7使用teredo连接IPv6的方法