1.2 Bug就在我们身边
在1.1节中,我们了解到国内软测行业在近些年来的发展变化。这个职业是做什么的,它的发展前景如何,也可从中找到答案。那么,为什么说它是朝阳中的行业,它的背景又是什么?通过本节的介绍,不仅可以回答这些问题,而且可以理解这个行业存在的必然性及重要意义。
随着信息技术的日益发展,特别是在最近十几年,通信与互联网的迅速崛起,人们的生活已发生了翻天覆地的变化。多年前很流行的一句话“不懂电脑的人是文盲”,如今在很大程度上已成为事实。网购、网游、网上交友、网上开店、网上银行等,每一个主题都异常活跃,现代人的生活已离不开网络。我们在享受着信息化高速公路带来的高品质生活的同时,却也不时会遭遇“黑客”的攻击。如今,没被“病毒”黑过的电脑可以说非常罕见。电脑被黑,是因为操作系统或运行其上的应用软件存在漏洞。此漏洞就是设计的缺陷,其中有一部分是软件中存在的Bug。网络软件最常见的是存在安全性的问题,但就问题而言,其他类型的软件,如通信设备、医疗仪器、航空飞机等其中内置的嵌入式软件系统,同样存在软件漏洞。
信息交流如此发达的今天,软件可以说无处不在。软件是由人设计的,没有100%完美的软件,所以说“只要有软件在,Bug就会存在”。本节接下来与大家一起分享几个著名的软件质量事故,它们实实在在地发生在我们生活的周围,小到影响人们的日常生活,大到影响国家安全。
小贴士:
软件的Bug和漏洞的区别:
Bug是错误,程序设计中的错误;漏洞是设计的系统中可以被黑客利用的部分,这其中有一部分是程序错误(Bug)造成的,一部分是设计的缺陷。漏洞是外圆,Bug是内圆,外圆包括内圆,两者之间重叠于内圆。
1.2.1 惠普100款笔记本软件曝严重漏洞
2007年12月19日,据媒体报道,惠普日前发布了一款补丁程序,修复了100款笔记本电脑所预装的“惠普信息中心”软件存在的一个重大漏洞。该漏洞是由赛门铁克安全人员发现的。据安全人员称,该漏洞存在于惠普笔记本(包括康柏品牌)所预装的“惠普信息中心(HP Info Center)”软件的ActiveX控件中,利用HPInfoDLL.dll这个ActiveX控件存在的设计漏洞,黑客可以在惠普笔记本上远程执行代码或远程修改注册表进行恶意攻击。这些恶意攻击包括安装恶意软件、修改注册表信息,以便对受害电脑进行更加复杂的攻击,并从受害电脑中盗取敏感数据。
为了以最快速度控制这个漏洞的爆发,惠普公司先发布了一个补丁程序进行救急。但此补丁程序禁用了“信息中心”一键启动的快捷功能,所以只能说是一种临时的解决方案。由于它是通过牺牲用户的一个功能来控制黑客的攻击,方案本身会给用户的日常使用带来不便。接下来要完成完整的解决方案即补丁程序的升级,惠普公司本身将消耗大笔的开支,最重要的是给用户带来的损失及声誉影响是不可估量的,并且在漏洞被发现之前,许多用户已经遭受的损失及其后续影响也是惠普公司需要面对的。
1.2.2 奥运门票销售系统被迫关闭
备受国人关注的2008年北京奥运门票第二阶段销售工作,虽然于2007年10月30日上午9时正式启动,但是整个过程却并没有外界预期的那样顺利。系统启动工作大概一小时之后,由于访问流量大大超出售票系统的正常负荷,3个门票销售渠道开始无法正常处理票务信息。经过抢修,系统在当日下午5时恢复正常运行,但仍旧出现不稳定的情况。北京奥组委票务中心只好临时召开紧急会议,决定于当日下午6时关闭售票系统。
究竟是什么原因使得奥运门票销售系统瘫痪并被迫停止使用呢?由于第二阶段的售票采用先到先得的原则,在10月30日上午9时刚过,也就是系统刚正式启动时,便有数以万计的抢票大军通过不同的渠道涌入奥运票务系统,抢购门票。据统计,在9时至10时之间,官方票务网站的访问量高达800万次,是系统预设每小时100万次访问量的8倍。这一时段,从3个渠道提交到票务系统的门票订单高达20万张,远远超出了系统预设的票务处理能力,从而造成了网络拥堵、售票速度慢和无法登录票务系统的情况。在众人的购票热情面前,仅有每小时15万张处理能力的票务系统正常运作了不到一小时,就彻底宣告瘫痪。据票务中心相关负责人介绍,从技术角度分析,整个奥运票务网络的带宽并没有出现问题,造成系统故障的主要原因是系统后台的数据库处理能力不足,无法承受大流量的访问。
为了解决此软件设计上的缺陷,奥运票务系统进行了大规模的扩容升级,并承诺系统于12月10日重新开放。与此同时,第二阶段的门票销售政策也只好进行调整,将“先到先得”的售票政策调整为“抽签得票制”。
1.2.3 美F-22机群系统瘫痪,软件质量威胁国家安全
2008年4月14日,有媒体报道,美国空军声称,12架“猛禽”近日在执行从夏威夷飞往日本的任务中,当途经国际日期变更线时,飞机上的全球定位系统纷纷失灵,多个电脑系统发生崩溃,多次重启均失败。飞行员们再也无法正确辨识战机的位置、飞行高度和速度,随时面临着“折戟沉沙”的厄运。他们不得不掉头返航,幸运的是,当天天气非常好,能见度很高,给“猛禽”加油的KC-135型加油机也可以引导它们安全降落,最终顺利返回了夏威夷的希卡姆空军基地。
事情究竟是怎么回事呢?“猛禽”到达希卡姆机场几小时后,问题就真相大白了,电脑系统编码中的一个错误引发了一系列问题。美国空军退役少将史皮尔德称,对于那些“猛禽”战斗机飞行员来说,他们很幸运,因为如果在实战中发生这一问题,他们可能会被击落。并且这个小小的软件错误,将可能成为扭转整个战局的关键点,使美国陷入短时不利的战争局面。不到48小时,颜面大失的“猛禽”的承建商——洛·马公司就寄来了新的系统软件,使之后的飞行任务得以顺利完成,但此次事件还是给各国敲响了软件质量控制的“警钟”。
以上3个软件质量事故,从软件测试的角度分析,是软件测试工作的疏漏。无论它们是属于安全性问题,还是压力负载,或者系统功能等不同类型的软件缺陷,由于测试人员没有及时发现它们,所以未能避免事故的发生。