受本书主编朱少民先生的委托已有时日,无奈平日工作繁忙没有余暇。此时在去往中国的飞机上,不再有电话、邮件、微博等的干扰,相对而言,或许这段时光非常适合完成这样的事情。这次去中国,是要参加思科中国研发中心的“春晚”,而本书正与思科(合肥)研发中心有着很深的联系。少民曾是思科-网迅(中国)软件有限公司的资深测试总监(网迅,即WebEx,于2007年被思科收购),现在同济大学软件学院任教。这本《完美测试》,是他和思科(合肥)研发中心的九位同事、思科(苏州)研发中心的一位同事共同创造的成果。这是思科文化所提倡的,同时也是我为思科中国研发团队深感骄傲之处。本书的出版将承载思科中国研发团队更多的知识共享,进而服务社会、贡献IT界的社会责任感。
去年,我作为思科全球副总裁全面管理思科协作技术集团的研发团队,而少民由于个人职业发展原因已于更早的时间离开思科,因此我们没有一起工作过。在之后的日子里,我更多地通过其他同事与各种报道了解到一些他的情况:他在2000年加入网迅,拥有优秀的软件开发与项目管理经验。但那时,国内软件测试才刚刚起步,业界对软件测试还缺乏足够重视,即使是软件从业人员对于专业的软件测试同样知之甚少。然而,他出任合肥网迅软件公司软件测试经理之后,迅速补充相关知识,同时在美国接受一年有余的在职培训,旋即打造出一支优秀的测试团队。在过去的十多年中,这支团队圆满完成来自美国总部交付的各种测试任务,而WebEx产品最终靠质量与创新在其所在领域全球市场获得第一份额。
然而,他本人并不满足于现状,一直期望从更高的层面来把握软件质量管理与测试工作,这种意识促成他不断把实践上升为理论,再将理论应用于实践,并保持和业界分享,最终在短短数年便成为国内最具知名度的软件测试专家之一。少民对于软件测试的把握,早期着重全局,举凡测试知识,皆能梳理充分而精致,所以他的著作可以作为大学教科书反复再版,其中早期的《软件测试方法与技术》,已入选“十一五”国家级规划教材,为软件测试领域教材的佼佼者。稍后的《全程软件测试》则是这种全局观念的集大成者,它提倡全过程的软件测试,即在项目开始就引入软件测试,从需求评审、设计评审到验收测试、部署验证,直至在线测试,将质量保证贯穿整个软件生命周期。之后,他还对于软件测试的热点与新的测试方法倾注心力,《轻轻松松自动化》是对近几年自动化测试和开源软件热潮的一个响应,而今《完美测试》则尝试以案例教学的方式,给人以更多的软件测试实际工作的切身体验。这次《完美测试》的阵容更强,不仅有自动化测试方面的好手,而且还有可达性、易用性、探索式测试等各个方面的资深测试工程师的参与。《完美测试》不仅涉及前端测试,而且包含后端测试;不仅介绍传统的测试流程,而且还着重讨论了敏捷测试流程。
软件的生命力最终取决于软件质量,但是我们更要时刻关注软件质量内涵的发展与变化。早期,人们只是简单地关注软件功能,只要功能运行正常就可以交付使用;后来,人们逐渐开始关注性能、安全性、可靠性和可用性。而在互联网时代,人们除了关注功能、性能、可靠性之外,更特别关注安全性和易用性,尤其是用户体验。互联网产品的用户(如Google、Facebook、腾讯的QQ等)不只是成千上万,而是几千万,甚至几个亿。面对这种海量用户,完全无法实施传统培训。此时,只有靠产品的优秀设计来提高产品的易用性,让用户获得良好的体验,甚至愉悦的心情,产品才能使用户最终满意。这正是我们经常说的,产品的质量就是用户的满意度。此外,随着社会文明的不断进步,弱势群体也越来越得到重视。与此相应,软件设计和实现开始充分考虑残疾人士的使用,并形成了一套关于软件的Accessibility标准。而《完美测试》在易用性、Accessibility测试方面也有很好的经验分享,这应是本书的一个亮点。
互联网的发展对于软件开发的另一冲击是软件产品发布的频率。在互联网时代,软件服务竞争日趋激烈,促使企业要及时响应用户的变化,快速完成需求的实现和变更,及时推出有竞争力的产品。这也就是敏捷方法流行的主要原因,不论是在国外还是在国内,许多公司都在积极推行敏捷开发流程及其实践。本书则在敏捷测试上不仅有思想、流程上的指导,而且还有具体的案例示范。
《完美测试》以最佳实践的形式勾画与传递软件测试的知识和经验,以实际案例来反映全局的软件测技术、方法。陆游所谓“纸上得来终觉浅,绝知此事要躬行”,那么这本书算是往“躬行”层面前进一步。本书的内容都是作者们实际工作中的体会与总结。我很乐见这样的工作经验能够铺陈成章,分享给更多有志于软件工业的读者。众所周知,中国的软件业比之硅谷还有一定差距,随着软件外包业在中国的持续繁荣,这种差异必然逐渐缩小,而这项工作跟每位软件从业者息息相关,这是我们的机会,也是我们的责任。
最后,希望更多的读者从本书受益。
许良杰, 思科公司全球副总裁