回想起第一次课,有一幅图依旧让我记忆犹新
对,这样图给我的印象依旧很深,也给出了大部分人(包括我们这些正在学习编写软件的人)对软件测试的定义。
不过,经过一段时间的学习,有一些东西也渐渐明白了,我们为什么要软件测试。
软件是工具,但是编写者与使用者却有很大的却别。不管是客户的需求还是出于自己目的的程序编写,编写者毕竟只是个人,对于软件的使用情况的设想会有很大缺陷,甚至处于编写者视角中,有些使用问题对他而言是透明的,无法察觉的。几个人编写的软件,使用者却远远大于这个数,而在使用过程中,真正会出现的情况也会是数不胜数的。于是,黑盒测试,又名为功能测试,针对软件功能需求所设计出的测试,在这样的环境下也就变的很重要了。
然尔,就像最开始说的,黑盒测试看起来还是像“用一下”,很大量很广泛的“用一下”。我们依旧不知道我们输出的数据,做出的操作在软件内部发生了什么样的变化。就好像我们做了一个闰年查询软件,能成功的完成这个功能,但是使用者谁知道软件究竟是如何做到这一点的呢?是根据闰年规则计算出来的?还是硬生生的把所有的年份的情况全部记录下来输入什么返回什么?功能上相同的软件在实现方式上和性能上都不相同。这也只是在使用者方面,对于设计者而言,软件还有升级和维护等等许多工作。翻修机器还需要拆开,软件如何真正的测试维护? 对结构的测试,也就是说白盒测试了。
软件是工具,是软件设计人员所编写出来的工具。它们代替了很多需要人来完成的工作。但是,工具也分好坏,写出高质高效的软件还是程序员们的目标。不仅仅只是用一用,发现没什么问题就发布出去,这样的产品不是好的产品,不是负责的做法。短短几周的学习并不能更为深入的了解软件测试更为深层次的东西,这也是在以后的学习工作中需要投入精力,继续了解的一门科学。