软件测试的基础
第1章 软件测试概述
有人把软件产品与药品并称为世界上两种无法根除自身的缺陷,但却被允许公开合法销售的产品。人们明知道**不可能******疾病,而且肯定存在一些副作用,但还是会购买。软件产品也一样,人们也知道软件不是****可靠,但还是越来越依赖它们。
在其他行业,如果产品存在明显的不可预测的缺陷,市场、用户和法律都会做出强烈的反响。软件产品的缺陷难以根除,但是可以通过加强软件测试来控制质量,通过修正缺陷来提高软件产品的质量。
软件测试行业是一个新兴的行业,尤其是在国内。称之为“行业”是因为测试已经不是以前单纯地依附在软件开发过程中的一种可有可���的角色,而是发展到了足以成为专门的行业。
软件测试开始得到越来越多人的重视。第三方测试、测试外包的出现,测试培训、咨询、考证的红火,软件测试网站的增多,软件测试专门杂志的出现,种种迹象表明,在国外早已是一种专门学科的软件测试,在国内已开始步入可以称之为“行业”的时期。
本章从测试的起源开始介绍,**描述测试的几个发展阶段,*后分析目前的软件测试现状并展望软件测试的前景。
1.1 软件测试的起源
通常称之为Bug的软件缺陷是伴随着软件出现的,而软件测试同样是伴随着软件的出现而出现,并且随着软件的Bug日益增多,造成了日益严重的质量事故。因此,人们“对抗”Bug的态度日益坚决,使得软件测试不断地得到加强、重视和持续发展。
1.**个Bug的故事
故事发生在1945年9月的某**,在一间老式建筑的窗户外面飞进来一只飞蛾,Hopper正埋头工作在一台名为Mark Ⅱ的计算机前,没有注意到这只即将造就历史事件的飞蛾。这台计算机使用了大量的继电器(电子机械装置,那时还没有使用晶体管)。
突然,Mark Ⅱ死机了。Hopper试了很多次还是不能启动,Hopper开始用各种方法查找问题,看问题究竟出现在哪里,*后Hopper确定是某个电路板的继电器出错了。Hopper观察这个出错的继电器,惊奇地发现一只飞蛾躺在里面。Hopper小心地用镊子将飞蛾夹出来,用透明胶布贴到“事件记录本”中,写上“**个发现虫子的实例”。
Hopper的事件记录本,连同那只飞蛾,现在都陈列在美国历史博物馆中。如图1.1所示的照片就是那只飞蛾以及Hopper的记录。
2.几个导致严重错误的Bug
软件的Bug事件发生了大半个世纪后,没有表明要停止的迹象,而是愈演愈烈。*近发生的几起Bug事件则让人们痛苦不堪。
(1)2007年6月,某热门的在线股票选购竞赛系统软件中存在一个缺陷,此缺陷可以导致不公平的竞争,从而获取高额的竞赛奖金。调查结果发现,原本前5位的优胜者都要取消资格。
……