技术开发 频道

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



    3. 缺乏测试是误杀的原因
    诺顿杀毒软件已经经营好几年了,是一款成熟的软件,笔者曾经在多年前使用过诺顿杀毒软件,许多大公司也都是诺顿的忠实用户,那块小小的盾牌,成为多少电脑用户信赖的标志。平心而论,诺顿杀毒软件的质量是值得信赖的,稳定、可靠以及适度的用户介入要求,基本上符合电脑用户对杀毒软件的期望。那么,这么一款多年来表现良好的杀毒软件,为什么会出现这次的误杀事件呢?缺乏测试应该是根本原因。

    现代的杀毒软件,基本上由两大部分组成,一部分是程序,一部分是数据。程序是杀毒软件的主体,负责完成所有功能,而数据则是通常所说的病毒库,是杀毒软件厂商从各种渠道获得的病毒特征代码,杀毒软件程序正是依据这个数据来识别病毒的。
一般来说,杀毒软件程序部分是相对稳定的,而病毒库的更新则很快,有些勤快的杀毒软件公司,甚至数小时之内就会更新病毒库。如同任何商业软件发布之前必须经过测试一样,杀毒软件的每一个新版本,也需要经过严格的测试后才能发布。因为杀毒软件是由程序和数据组成的,所以,测试也包括对程序的测试和对数据的测试。不过,大多数情况下,由于被更新的只是数据即病毒库,所以一般只需测试数据是否正确就可以了,这种测试是相对比较简单的,所需花费的成本很小。

    但是,如果杀毒软件的程序部分发生改变,那么,对杀毒软件新版本的测试就要复杂得多了。视程序部分更改的影响范围,可能需要对杀毒软件的某一特定功能、一部分功能或者全部功能进行重新测试,这时的测试工作量,要比单纯更新病毒库大得多。从诺顿官方公告对误杀事件的解释分析,此次诺顿杀毒软件的更新属于后一种情况,即杀毒软件程序的更新。显然,这个更新后的杀毒软件程序,是未经严格测试的。

    为什么诺顿向用户发布一个未经严格测试的杀毒软件版本,我们从其官方公告中找不到答案,不过,以笔者从事测试管理的经验来猜测,不外乎无知或者无为两个原因。无知者不知道软件需要经过测试,当然,以诺顿的身份,我们可以排除这个原因,真正的原因应该是无为了。所谓无为,是指诺顿知道要测试,但出于时间或者成本的压力,诺顿没有这样做,或者做得不够充分。
    从其他版本不受影响,仅简体中文版被误杀来看,测试做得不够充分是肯定的。或许是诺顿想要赶在竞争对手之前早点推出新版本,或许是软件测试的预算有限,又或许是诺顿心存侥幸,总之,新版本在简体中文版上的测试根本就没有做,因为这个bug太过明显了,只有做过测试,就一定能够发现。

    至于为什么是简体中文版,而不是英文版、日文版甚至繁体中文版,只有诺顿才知道。是基于市场重要程度的考虑,还是基于法律环境成熟度的考虑,或者是基于用户维权意识淡漠与否的考虑,我们不得而知。我们希望这只是一个无意的巧合,而不是诺顿有意而为之。
0
相关文章