CHAPTER1 第1章 引1 论 软件开发的最基本要求是按时、高质量地发布软件产品,而软件测 试是软件质量保证的最重要的手段之一。对于软件,不论采用什么技术 和什么方法来进行开发,软件产品中仍然或多或少地会存在错误和问 题。采用先进的开发方式和较完善的开发流程,可以减少错误的引入, 但是不可能完全杜绝软件中的错误,这些引入的错误需要通过测试来 发现。 在整个软件生命周期中每个阶段、每个时刻都存在软件测试活动, 软件测试伴随着软件开发,以检验每个阶段性的成果是否符合质量要求 和达到预先定义的目标,尽可能早地发现错误并及时地修正。 软件测试的必要性 1.1 软件无处不在,人们在不同的场合都有可能会不知不觉地使用软 件,如日常生活中的手机、智能冰箱、新一代的数字彩电、洗衣机等。在 日常使用软件中,也或多或少会碰到一些不愉快的事情,如信号显示不 对、数据不完整、操作不灵活等。例如,2002年7月,首都机场由于软件 缺陷影响通信传输,造成航班无法起飞,大批旅客滞留机场。还有,2008 年北京奥运会官方网站第二阶段开始售票,短短不到半小时,由于性能 问题不能承受过多的同时线上购票,造成网站瘫痪,不得不停止服务。 但软件问题有时引起的麻烦远不止这些,造成的危害可能会非常严重。 有时仅仅因为软件系统中存在一个很小的错误,却带来了灾难性的后 果。下面所介绍的软件质量事故都是曾经发生的真实事故,它们向我们 阐述了一个简单又非常重要的命题 软件测试的必要性。 1.1.1 迪士尼并不总是带来笑声 1994年圣诞节前夕,迪士尼公司发布了第一个面向儿童的多媒体 光盘游戏《狮子王童话》,其封面如图1-1所示。尽管在此之前,已经有 不少公司在儿童计算机游戏市场上运作多年,但对迪士尼公司而言,还 是第一次进军这个市场。由于迪士尼公司的著名品牌和事先的大力宣 传及良好的促销活动,市场销售情况非常不错,该游戏成为父母为自己