浏览《软件工程》引发的问题与思考

1、黑盒测试和白盒测试有什么区别,从浅层看不是都无法了解内部的内容?

黑盒测试和白盒测试主要有以下三个区别:

  • 从定义上的不同:白盒测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。而黑盒测试着重测试软件功能,它不涉及程序的内部结构和内容特性。黑盒测试并不能取代白盒测试,它与白盒是互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。

  • 从测试目的上的不同:黑盒测试的目的是检测是否有不正确或遗漏的功能;数据或者参数上,输入能否正确接收;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能。

  • 检测方式上的不同:白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用

资料来源:https://www.wangan.com/wenda/4399

2、白盒测试真的有用吗?查阅资料我知道它穷举路径测试,穷举不是不值得提倡?

       理论上白盒测试在早期阶段不得不做,而且效果更明显。越早做测试发现的问题,能省下更多的成本。

       白盒测试应做到什么程度才算合适呢?具体来说,白盒测试与黑盒测试应维持什么样的比例才算合适?

一般而言,白盒测试做多做少与产品形态有关。如果产品更多的具备软件平台特性,白盒测试应占总测试的80%以上,甚至接近100%,而如果产品具备复杂的业务操作,有大量GUI界面(图形用户界面),黑盒测试的份量应该更重些。根据经验,对于大多数嵌入式产品,白盒方式展开测试(包括代码走读)应占总测试投入的一半以上,白盒测试发现的问题数也应超过总问题数的一半。

       由于产品的形态不一样,很难定一个标准说某产品必须做百分之多少白盒测试,但依据历史经验,我们还可以进行定量分析的。比如,收集某产品的某历史版本在开发与维护中发生的所有问题,对这些问题进行正交缺陷分析(Orthogonal Defect Classification,ODC),把“问题根源对象”属于概要设计、详细设计与编码的问题整理出来,这些都是属于白盒测试应发现的问题,统计这些问题占总问题数的比例,大致就是白盒测试应投入的比例。

资料来源:https://blog.csdn.net/wangchuan886/article/details/47334809

3、为什么面向过程后,人们又有面向对象的思想,即面向过程了,还要面向对象干嘛。

面向过程是分析解决问题的步骤,这些步骤用函数去实现。面向对象是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。具有抽象性、封装性、继承性及多态性等。两者各有优缺点。面向对象易维护、易复用、易扩展,系统更加灵活。缺点是性能低。面向过程性能高,对比面向对象,类的调用时需要实例化,开销比较大,消耗资源。缺点是不易维护。

资料来源:https://blog.csdn.net/liuguang841118/article/details/117572687

 

本文作者:VivianMarie

本文链接:https://www.cnblogs.com/Vivianmaire/p/17180294.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   VivianMarie  阅读(5)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.