软件测试的本质是什么?
软件缺陷的定义 来看一下 Ron Patton 为我们的软件缺陷所下的定义。 1、软件没有实现产品的说明书所描述的功能。(个人觉得 “ 描述 ” 比 “ 宣称 ” 更贴切) 2、软件实现了产品说明书描述不应有的功能。 3、软件执行了产品说明书没讲的操作 4、软件没有实现产品说明书没讲但应该实现的功能。 5、从软件测试员的角度来看,软件难以理解、不易使用、运行缓慢,或者最终用户认为不对。 为什么一个定义要这么多条来描述?这个 “ 缺陷 ” 的定义有这么复杂么?不,它其实并不复杂,作者只是想更加全面的来给“缺陷”下定义。下面我们来以建一栋房子为例,来说明一下每一条定义的意思。需要说明的是没有十分完美而且一成不变的产品说明说,而且在实际项目中,它可能非常简陋,模棱两可,甚至经常变动。 1、软件没有实现产品说明书的描述的功能。房子的主人希望有一个落地的大窗户,让阳光更好的照进屋子里,而且他特意在房子的设计图纸中画出来,并且还加以说明。结果,他看到的是四面全是墙壁,只有一个小门的房子。那么对于测试人员来说,他就是一个缺陷。 2、软件实现了产品说明书中描述的不应有的功能。由于房子的主人生活在南方,天气温暖,而请来的泥瓦匠是北方的,结果给主人建造的房子具然有一个大大的取暖的烟筒,而且主人特意在房子的设计图纸中说明,自己的房子不要烟筒。那么对于测试人员来说,这也是个缺陷。 3