软件测试的艺术(中文清晰版)(PDF格式)-第1部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
?…………………………………………………………Page 1……………………………………………………………
…………………………………………………………Page 2……………………………………………………………
软件工程技术丛书
软件测试的艺术
(原书第3版)
The Art of Software Testing; Third Edition
Glenford J。 Myers
(美) Tom Badgett 著
Corey Sandler
张晓明 黄 琳 译
…………………………………………………………Page 3……………………………………………………………
本书从第1版付梓到现在已经30余年,是软件测试领域的经典著作。本书结构清晰、讲
解生动活泼,简明扼要地展示了久经考验的软件测试方法和智慧。
本书以一次自评价测试开篇,从软件测试的心理学和经济学入手,探讨了代码检查、
走查与评审、测试用例的设计、模块(单元)测试、系统测试、调试等主题,以及极限测试、
互联网应用测试等高级主题,全面展现了作者的软件测试思想。第3版在前两版的基础上,
结合软件测试的最新发展进行了更新,覆盖了可用性测试、移动应用测试以及敏捷开发测试
等内容。
本书适合软件开发人员、IT项目经理等相关读者阅读,还可以作为高等院校计算机相
关专业软件测试课程的教材或参考书。
Glenford J。 Myers; Tom Badgett; Corey Sandler: The Art of Software Testing; Third
Edition (ISBN: 978…1…118…03196…4)。
Authorized translation from the English language edition published by John Wiley &Sons; Inc。
Copyright (c) 2012 by Word Association; Inc。 Published by John Wiley &Sons; Inc。
All rights reserved。
本书中文简体字版由约翰…威利父子公司授权机械工业出版社独家出版。未经出版者
书面许可,不得以任何方式复制或抄袭本书内容。
封底无防伪标签均为盗版
版权所有,侵权必究
本书法律顾问 北京市展达律师事务所
本书版权登记号:图字:01…2011…7872
图书在版编目 (CIP )数据
软件测试的艺术(原书第3版)/ (美)梅耶(Myers; G。 J。 )等著;张晓明,黄琳译.
—北京:机械工业出版社,2012。3
(软件工程技术丛书)
书名原文:The Art of Software Testing; Third Edition
ISBN 978…7…111…37660…6
Ⅰ。 软… Ⅱ。 ①梅… ②张… ③黄… Ⅲ。 软件测试 Ⅳ。 TP311。5
中国版本图书馆CIP数据核字(2012 )第040000号
机械工业出版社 (北京市西城区百万庄大街22号 邮政编码 100037)
责任编辑:吴 怡
印刷
2012年4月第1版第1次印刷
170mm ×242mm ·12。75印张
标准书号:ISBN 978…7…111…37660…6
定价:39。00元
凡购本书,如有缺页、倒页、脱页,由本社发行部调换
客服热线:(010 )88378991 ;88361066
购书热线:(010 )68326294 ;88379649 ;68995259
投稿热线:(010 )88379604
读者信箱:hzjsj@hzbook。
…………………………………………………………Page 4……………………………………………………………
译 者 序
《软件测试的艺术》(下简称《艺术》)作为元老级的测试书在国内可能没那么
出名,但它的确非常经典且很有口碑,书中所提出的“软件测试为求错而非求证”
的观点至今仍在学术界被广泛争议与讨论。随着软件测试的重要性越来越受到现
代软件企业的重视,这本书就好像尘封已久的宝藏被人们挖掘出来并受到追捧。
与此同时,也正是因为测试市场的需求激增,书店里的测试书籍也似乎是“忽如
一夜春风来,千树万树梨花开”了。
我和《艺术》的第一次接触并不是在书店里发现了它,而是因为我阅读的一个
习惯。我喜欢在阅读之前先看参考文献部分,也由此发现国内的很多软件测试书
籍都把《艺术》作为首要的参考书目,这让我不得不对该书刮目相看,现在我终
于明白了,原来《艺术》一书就是现在各种测试书籍参考的源头之一。以我个人
的观点,今天书店里的软件测试理论书籍(注意我是指理论方面)已经饱和甚至
是富营养化,如果你打算系统地学习软件测试理论知识,我不敢向你保证这本书
是最全面最详细的,但是绝对是恰到好处的,它精悍凝练的篇幅可以让你在最短
时间内获得关于软件测试的真知灼见。
对于那些已经成为测试工程师甚至是高级测试工程师的人来说,本书同样值
得一读,书中的很多内容读起来仿佛醍醐灌顶,本书所涵盖的测试知识经过千锤
百炼和时间的考验,而把这些理论知识结合你的测试经验,能系统化并巩固加深
你对测试这门学科的理解,而这种对软件测试技术系统的、深刻的理解,将使你
在今后的工作以及事业中受益匪浅。
因此,作为一名测试工程师,我对读者的建议是,初学者可将本书作为入门
书;而有经验者更应该将本书作为理论指南,花点时间翻阅一下,梳理自己的经验
和知识;本书对开发人员也相当有用,可以让你在最短的时间内建立起对测试的框
架认知,从而在编码的过程中能够在脑海里多一些测试的思想,十分有益,当然有
些测试类型本身就需要开发者参与,比如本书所介绍的极限编程与测试,开发者需
…………………………………………………………Page 5……………………………………………………………
IV
要编写单元测试用例。对于测试管理者而言,本书的重要性不言而喻,本书内容非
常精炼,将有助于你根据项目情况制定更合理、更有效的测试计划。
作为本书第3版的译者,我十分有幸能够接到这样的经典书籍翻译任务,而且
还是本人的处女译,心中的忐忑自不必多说,只希望我的翻译能够不辱原著的经
典,更能够得到读者的认可。
此次第3版相对于之前的第2版增加了全新的两章(第7 章和第11章),由此使
得本书包含了当下最新的测试分类和技术。除了第9章的改动增补较大外,其他的
章节基本是略有改动。
在翻译过程中,我尽量保证在准确翻译原文的基础上增加了一些个人的见解,
通常以译者注的形式给出,我相信这些注释有助于国内的读者理解和消化书中内
容;也有一些地方做了勘误。有时候直译的效果并不那么好,我也会尝试一些意
译,比如在11。4节,作者强调了移动应用必然越来越火这一现象和趋势,我便借用
著名诗歌《见与不见》来意译:
你用,或者不用
移动应用就在那里
……
因为是站在巨人的肩膀上(前两版译文)进行翻译,所以我必须感谢前两版
的翻译人员,这使得我此次翻译的精力主要聚焦在新增的两章以及改动较大的章
节上。同时要感谢黄琳为我的原始译稿所做的详尽审稿和勘误工作,这也是我们
之间的二度合作。
最后请大家注意书名中的“艺术”二字,这暗示本书并不是那么晦涩难懂或写
得很深奥,我觉得即使你没多少计算机基础知识,只要用过电脑软件,本书的很
多章节读起来应该都不会太吃力。我希望有越来越多各行各业的人们加入测试的
世界,从本书第7章的可用性测试我们看到,测试需要领域内经验,如果某公司针
对音乐爱好者推出了一款混音软件,他们肯定会想,要是能够把周杰伦请来做首
席用户体验师该有多好。总之,测试,这是个相比较开发来讲门槛不算太高的职
业(当然要做到精深未必容易,甚至难度还要高),而且收入还算不错,在这里与
各位读者共勉了。
张晓明
2012年2月6 日
…………………………………………………………Page 6……………………………………………………………
序 言
1979年,Glenford J。 Myers 出版了一本现在仍被证明为经典的著作,这就是本
书第1版。本书经受住了时间的考验,25年来一直列在出版商提供的书目清单中。
这个事实本身就是对本书可靠、精粹和珍贵品质的佐证。
在同一时期,本书第3版的几位合著者共出版了200余本著作,大多数都是关
于计算机软件的。其中有一些很畅销,再版了多次(例如Corey Sandler 的《Fix
Your Own PC 》自付梓以来已出版到第8版,Tom Badgett关于微软PowerPoint及其
他Office组件的著作已经出版到第4版)。然而,那些作者的著作中没有哪一本书能
够像本书一样持续数年之后仍畅销不衰。
区别究竟在哪里呢?那些新书只涵盖了短期性的主题:操作系统、应用软件、
安全性、通信技术及硬件配置。20世纪80年代和90年代以来的计算机硬件与软件
技术的飞速发展,必然使得这些主题频繁变动和更新。
在此期间出版的有关软件测试的书籍已数以百计,这些书也对软件测试的主
题进行了简要的探讨。然而,本书为计算机界一个最为重要的主题提供了长期、
基本的指南:如何确保所开发的所有软件做了其应该做的,并且同样重要的是,
未做其不应该做的?
本书第3版中保留了同样的基本思想。我们更新了其中的例子以包含更为现代
的编程语言。我们还研究了在Myers编著本书第1版时尚无人了解的主题:Web编
程、电子商务、极限编程与测试及移动应用测试。
但是,我们永远不会忘记,新的版本必须遵从其原著,因此,新版本依然向
读者展示Glenford Myers全部的软件测试思想,这个思想体系以及过程将适用于当
今乃至未来的软件和硬件平台。我们也希望本书能够顺应时代,适用于当今的软
件设计人员和开发人员掌握最新的软件测试思想及技术。
…………………………………………………………Page 7……………………………………………………………
前 言
在本书1979年第1版出版的时侯,有一条著名的经验,即在一个典型的编程项
目中,软件测试或系统测试大约占用50% 的项目时间和超过50% 的总成本。
30 多年后的今天,同样的经验仍然成立。现在出现了新的开发系统、具有内
置工具的语言以及习惯于快速开发大量软件的程序员。但是,在任何软件开发项
目中,测试依然扮演着重要角色。
在这些事实面前,读者可能会以为软件测试发展到现在不断完善,已经成为
一门精确的学科。然而实际情况并非如此。事实上,与软件开发的任何其他方面
相比,人们对软件测试仍然知之甚少。而且,软件测试并非热门课题,本书首次
出版时是这样,遗憾的是,今天仍然如此。现在有很多关于软件测试的书籍和论
文,这意味着,至少与本书首次出版时相比,人们对软件测试这个主题有了更多
的了解。但是,测试依然是软件开发中的“黑色艺术”。
这就有了更充足的理由来修订这本关于软件测试艺术的书,同时我们还有其他
一些动机。在不同的时期,我们都听到一些教授和助教说:“我们的学生毕业后进
入了计算机界,却丝毫不了解软件测试的基本知识,而且在课堂上向学生介绍如何
测试或调试其程序时,我们也很少有建议可提供。”
因此,本书再版的目的与前两版一样:填充专业程序员和计算机科学学生的
知识空缺。正如书名所蕴涵的,本书是对测试主题的实践探讨,而不是理论研究,
还包括对新的语言和过程的探讨。尽管可以根据理论的脉络来讨论软件测试,但
本书旨在成为实用且“脚踏实地”的手册。因此,很多与软件测试有关的主题,
如程序正确性的数学证明都被有意地排除在外了。
第1章介绍了一个供自我评价的测试,每位读者在继续阅读之前都须进行测试。
它揭示出我们必须了解的有关软件测试的最为重要的实用信息,即一系列心理和
经济学问题,这些问题在第2 章中进行了详细讨论。第3章探讨的是不依赖计算机
的代码走查或代码检查的重要概念。不同于大多数研究都将注意力集中在概念的
…………………………………………………………Page 8……………………………………………………………
VII
过程和管理方面,第3章则是从技术上“如何发现错误”的角度来进行探讨。
读者可能会意识到,在软件测试人员的技巧中最为重要的部分是掌握如何编
写