加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

诺顿“误杀门”凸显测试的价值

(2008-01-23 17:00:09)
标签:

电脑

诺顿

杀毒软件

软件测试

扁鹊

中国

it

  摘要:沸沸扬扬的诺顿误杀事件,其背后的原因是缺乏对软件的严格测试。在软件测试的价值不被认同的今天,诺顿“误杀门”给国内的软件企业敲响了警钟。软件测试的价值之一在于可以避免软件bug流落到用户手中,从而避免类似诺顿误杀事件给软件企业带来损失。
 
诺顿误杀事件
 诺顿杀毒软件自从进入国内以后,所受到的关注,全部加起来恐怕也不足这半个月多。一起“误杀”事件,将诺顿杀毒软件推上了舆论的峰顶浪尖,一时之间,“诺顿误杀”成为了所有媒体上出现频度最高的热门词汇。
 事件的来龙去脉大家都已经耳熟能详了,据诺顿官方的公告称,赛门铁克最近在其病毒分析自动化系统中进行了一处改动,这却无意中引发了自动化系统中使用的一个简单定义发生变化,进而导致简体中文版Windows XP的两个系统文件被错误地检测为恶意软件。其结果是用户更新病毒库后,Windows XP因缺少系统文件而无法启动,直接引起Windows XP系统的崩溃。
 其实,杀毒软件的误杀事件并不鲜见,笔者多年来使用过多款杀毒软件,还没有碰到过不误杀的。误杀是很容易理解的,在同质化竞争日趋激烈的杀毒软件市场,标榜自己能查杀多少种病毒,已经成为杀毒软件的宣传套路,谁要是少报了一个病毒,立刻失去用户的信任,遭到用户的抛弃,因此,为了在竞争中不落后于对手,杀毒软件们就都不约而同地采取了“宁可错杀一千,不可放过一个”的策略,如此一来,误杀也就不足为怪了。
 只不过,诺顿这次运气不好,误杀了Windows XP的关键系统文件,而这些文件被误杀以后,症状也表现得相当激烈,显而易见的系统崩溃,连最不懂电脑的用户都可以马上看出问题,因此,诺顿此次误杀事件才被闹得沸沸扬扬。
 事实上,误杀事件天天都在发生,尤其是自动化程度越高的杀毒软件,其误杀的概率也越高。病毒本身就没有一个准确的定义,有时候连杀毒软件专家也无法区分程序的行为到底是不是病毒行为,何况不具备任何智能的区区杀毒软件呢。聪明的杀毒软件,会在无法作出准确判断时将问题交给用户,让用户来决定采取什么措施,不过这会让用户感到烦恼,他们更喜欢一个在后台默默工作的杀毒软件,而不是时不时跳到前台提出一些愚蠢问题的杀毒软件。因此,高的自动化程度和低的误杀率是一对矛盾,所有杀毒软件都面临着如何平衡这一对相互矛盾的需求。
误杀给诺顿带来的损失
 从技术角度看,此次诺顿误杀并没有什么特别之处,和已经发生、正在发生或者将要发生的千千万万次误杀没有什么本质区别,不过,由于机缘巧合,诺顿在这次误杀事件中,伤得很重。
 据诺顿官方公告称,从接到报告到发布最新定义的LiveUpdate更新,诺顿对误杀事件的反应可谓相当迅速,只有短短的4个半小时。不过,竞争对手比他们反应更快,这一不可多得的机会,被竞争对手迅速地加以利用了。在诺顿给出解决方案之前,包括瑞星、江民和金山在内的多家杀毒软件厂商,已经性急地发布了诺顿误杀事件的技术分析、应对方法、补救措施,并且非常热心不厌其烦地指导用户如何一步一步操作来从误杀中恢复。诺顿的误杀给了竞争对手一次很好的表演机会,可以肯定,会有一部分诺顿的用户转投竞争对手的阵营,而潜在用户在选择杀毒软件时,也会对诺顿心存芥蒂。诺顿多年来积累的市场占有率,将经受严峻考验。
 更加雪上加霜的是,这次诺顿误杀的并非所有的Windows XP系统,而只发生在简体中文版的Windows XP上。中国是诺顿杀毒软件的一个重要市场,尤其是在企业客户上,诺顿的知名度最高,而这一块的利润收入,是最丰厚也最稳定的。中国是个迅速崛起的大国,中国市场的巨大容量,让任何杀毒软件厂商都垂涎不止,诺顿自然也知道中国市场的重要性。与市场容量日益扩大相伴随的,是中国消费者越来越挺起的腰杆,随着消费者权益的深入人心,中国消费者比以前任何时候都要挑剔,也比以前任何时候都容易“受伤”。此前发生的东芝、柯达、戴尔等事件中,国际厂商给予中国消费者的不公正对待,已经在民众心中转化成一腔怒火,随时都可能爆发。
 由于误杀只存在于简体中文版的Windows XP,甚至和我们非常接近的繁体中文版都相安无事,中国消费者的民族情节又涌上在不少用户的心头。或许真的是一次巧合,或许诺顿确实漠视了中国消费者的正当权益,我们不得而知,但有一点是肯定的,诺顿如果不能妥善处理此次误杀事件给中国消费者带来的物质和精神上的伤害,中国消费者是不会轻易善罢甘休的。据报道,诺顿的态度在这短短的两周之内发生着戏剧性的变化,首次公告只是道歉,只字未提赔偿事宜,而几天后赛门铁克公司安全响应中心高级发展总监Vincent Weafer就已经松口,称目前的重点是帮助客户使系统恢复,而赔偿等问题,将在用户系统彻底恢复以后考虑。事实上,赔偿问题已经启动司法程序,据悉北京和广州有用户向法院递交了诉状,诺顿很快就会官司缠身。
缺乏测试是误杀的原因
 诺顿杀毒软件已经经营好几年了,是一款成熟的软件,笔者曾经在多年前使用过诺顿杀毒软件,许多大公司也都是诺顿的忠实用户,那块小小的盾牌,成为多少电脑用户信赖的标志。平心而论,诺顿杀毒软件的质量是值得信赖的,稳定、可靠以及适度的用户介入要求,基本上符合电脑用户对杀毒软件的期望。那么,这么一款多年来表现良好的杀毒软件,为什么会出现这次的误杀事件呢?缺乏测试应该是根本原因。
 现代的杀毒软件,基本上由两大部分组成,一部分是程序,一部分是数据。程序是杀毒软件的主体,负责完成所有功能,而数据则是通常所说的病毒库,是杀毒软件厂商从各种渠道获得的病毒特征代码,杀毒软件程序正是依据这个数据来识别病毒的。
 一般来说,杀毒软件程序部分是相对稳定的,而病毒库的更新则很快,有些勤快的杀毒软件公司,甚至数小时之内就会更新病毒库。如同任何商业软件发布之前必须经过测试一样,杀毒软件的每一个新版本,也需要经过严格的测试后才能发布。因为杀毒软件是由程序和数据组成的,所以,测试也包括对程序的测试和对数据的测试。不过,大多数情况下,由于被更新的只是数据即病毒库,所以一般只需测试数据是否正确就可以了,这种测试是相对比较简单的,所需花费的成本很小。
 但是,如果杀毒软件的程序部分发生改变,那么,对杀毒软件新版本的测试就要复杂得多了。视程序部分更改的影响范围,可能需要对杀毒软件的某一特定功能、一部分功能或者全部功能进行重新测试,这时的测试工作量,要比单纯更新病毒库大得多。从诺顿官方公告对误杀事件的解释分析,此次诺顿杀毒软件的更新属于后一种情况,即杀毒软件程序的更新。显然,这个更新后的杀毒软件程序,是未经严格测试的。
 为什么诺顿向用户发布一个未经严格测试的杀毒软件版本,我们从其官方公告中找不到答案,不过,以笔者从事测试管理的经验来猜测,不外乎无知或者无为两个原因。无知者不知道软件需要经过测试,当然,以诺顿的身份,我们可以排除这个原因,真正的原因应该是无为了。所谓无为,是指诺顿知道要测试,但出于时间或者成本的压力,诺顿没有这样做,或者做得不够充分。
 从其他版本不受影响,仅简体中文版被误杀来看,测试做得不够充分是肯定的。或许是诺顿想要赶在竞争对手之前早点推出新版本,或许是软件测试的预算有限,又或许是诺顿心存侥幸,总之,新版本在简体中文版上的测试根本就没有做,因为这个bug太过明显了,只有做过测试,就一定能够发现。
 至于为什么是简体中文版,而不是英文版、日文版甚至繁体中文版,只有诺顿才知道。是基于市场重要程度的考虑,还是基于法律环境成熟度的考虑,或者是基于用户维权意识淡漠与否的考虑,我们不得而知。我们希望这只是一个无意的巧合,而不是诺顿有意而为之。
被低估的测试价值
 诺顿误杀事件,给了诺顿在测试管理上一个深刻的教训,同时也给国内众多的软件企业再次敲响了低估软件测试价值的警钟。在诺顿的官方公告中,赛门铁克称,其安全响应中心已经重新审核系统变更流程,确保今后对自动化系统做出的任何变更都不会导致错误检测。另外,赛门铁克安全响应中心已经对认证程序进行了具体的修改及加入多个病毒定义代码更新发布前的核查,从而避免今后发生类似误报事件。
 关于软件测试的价值,相信所有软件从业人员都是认同的,不过,在软件开发管理人员群体中,对软件测试价值的认同,多半是停留在口头上的,并未落到实处。据笔者所知,很多稍具规模的软件企业都有测试部门或者机构,制定了完整的测试规范,配备了一定数量的测试人员,并且在研发预算中给测试留出了一部分资金,不过,测试所受到的重视程度,与测试所能创造的价值相比,还远远不够,换言之,虽然表面工作做得很充分,骨子里其实大大低估了软件测试的价值。
 确实,软件测试能创造巨大的价值,这个观念并不容易使人接受,这与软件测试的特点有关。测试与开发不同,开发所创造的价值非常明显,起码一行一行看得见的代码,容易使人和金钱联系起来。但测试呢,测试不会对代码产生任何贡献,测试人员所发现的,无非是软件的bug,虽然bug在软件发布给用户之前被发现是件好事,但在开发人员眼里,bug也意味着软件的重新调试、排查、定位、修改和提交,是一项非常繁琐的事情,尤其是在项目进度逼人,程序员已经度过太多的不眠之夜的时候。
 因此,当项目进度、成本与质量发生冲突时,受伤的总是测试,诺顿误杀事件,再次证明了这一点。笔者见过很多这样的项目,由于项目管理的失误,在项目后期往往时间紧迫,而预算也早已捉襟见肘,开发人员疲惫不堪,项目经理更是焦头烂额,这种时候,赶工期和控制费用成为整个项目组的核心任务,公司高层为了给客户一个交代,对此也只好默许。这时的开发人员牛气冲天,而测试人员则噤若寒蝉,有bug报告也不敢提交,就是提交了开发人员也懒得理它。更有极端的例子,项目经理要求全体测试人员改弦更张干起开发的工作,大家齐心协力把测试扔到九霄云外,对潜在的bug抱一种眼不见心不烦的态度。
测试价值的回归
 关于低估软件测试价值的种种表现,还包括测试经费不足、测试人员招聘要求低于开发人员、测试人员待遇偏低等等,无法在这里一一罗列。抽象地谈论软件测试的价值也许有点晦涩,不过,如果我们把软件比作是人体,《魏文王问扁鹊》或许是对软件测试价值最形象的注解。魏文王问扁鹊曰:“子昆弟三人其孰最善为医?”扁鹊曰:“长兄最善,中兄次之,扁鹊最为下。”魏文侯曰:“可得闻邪?”扁鹊曰:“长兄於病视神,未有形而除之,故名不出於家。中兄治病,其在毫毛,故名不出於闾。若扁鹊者,鑱血脉,投毒药,副肌肤,闲而名出闻於诸侯。”
 测试人员正如扁鹊的长兄,“於病视神,未有形而除之”,在软件开发的早期发现bug,而不让其流入到用户手中,能够避免诺顿误杀事件给软件企业造成的巨大损失。虽然他们不如开发人员那么“闲而名出闻於诸侯”,即使很有成就,也难免“名不出於家”,但是,他们所创造的价值,理应得到整个软件开发行业的认同。
 诸葛亮雄才大略自比管乐,可在《出师表》中,仍然自称“苟全性命于乱世,不求闻达于诸侯”,笔者觉得,这正是全体测试从业人员应该抱着的一种人生态度。在目前,国内的软件测试还处于初级阶段,作为一个测试人员,注定要和寂寞相伴,不过,随着类似诺顿误杀事件这样的经验教训被软件行业的吸取,测试的价值必将回归其本来。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有