软件测试艺术的艺术,软件测试艺术的基础

扫一扫下载手机客户端
扫描我,关注团购信息,享更多优惠
||网络安全
| | | | | | | | | | | | | | | |
||电子电工
汽车交通| | | | | | | | | |
||投资理财
| | | | | | | | | | | | | | | | |
| | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
||外语考试
| | | | | | | | |
| 视频教程|
软件测试的艺术(原书第3版)(软件测试的经典著作最新版!)
定价:¥39.00
校园优惠价:¥27.30 (70折)
促销活动:
商品已成功飞到您的手机啦!快登录手机站看看吧!
下载客户端
> 微信关注“互动出版网”,便捷查询订单,更多惊喜天天有
原书名:The Art of Software Testing, Third Edition
原出版社:
ISBN:6上架时间:出版日期:2012 年4月开本:16开页码:189版次:3-1
所属分类:
  梅耶等编*的《软件测试的艺术(原书第3版)》阐述了如何将经典软件测试法则应用到解决当今计算机行业所面临的*紧迫的问题之中,这些问题包括:移动设备的应用测试;各种设备上的软件代码走查、代码审查(从技术以及如何发现错误的角度讨论);可用性测试(随着直接面向广大终端用户的应用在数量上呈爆发性增长,可用性变得越来越重要);互联网应用、电子商务和敏捷编程环境的测试。
《软件测试的艺术》从第1版付梓到现在已经30余年,是软件测试领域的经典著作。本书结构清晰、讲解生动活泼,简明扼要地展示了久经考验的软件测试方法和智慧。
《软件测试的艺术》以一次自评价测试开篇,从软件测试的心理学和经济学入手,探讨了代码检查、走查与评审、测试用例的设计、模块(单元)测试、系统测试、调试等主题,以及极限测试、互联网应用测试等高级主题,全面展现了作者的软件测试思想。第3版在前两版的基础上,结合软件测试的最新发展进行了更新,覆盖了可用性测试、移动应用测试以及敏捷开发测试等内容。
《软件测试的艺术》适合软件开发人员、IT项目经理等相关读者阅读,还可以作为高等院校计算机相关专业软件测试课程的教材或参考书。
Glenford J.Myers,IBM系统研究所前高级研究员,同时还是RadiSys公司的创始人和前CEO。
Tom Badgett,曾经主管大型企业软件开发团队,已出版超过60本关于计算机软件和硬件的技术书籍,同时他还是PcJr,Digital News等主流计算机杂志的技术编辑。
Corey Sandler,计算机新闻的先锋,他曾经负责Gannett Newspapers 和the Associated Press的技术部分以及之后成为Pc Magazine的第一任主编。他同时还是Digital News(针对DEC小型机的一份报纸)的编辑创始团队成员,他著作等身,目前已经出版了超过150本书籍,覆盖了从计算机到商业以及很多其他领域。
《软件测试的艺术》
一次自评价测试 1
软件测试的心理学和经济学 4
软件测试的心理学 4
软件测试的经济学 7
黑盒测试 7
白盒测试 8
软件测试的原则 10
代码检查、走查与评审 15
代码检查与走查 16
代码检查 17
代码检查小组 17
检查议程与注意事项 18
对事不对人,和人有关的注意事项 19
代码检查的衍生功效 19
用于代码检查的错误列表 19
  《软件测试的艺术》(下简称《艺术》)作为元老级的测试书在国内可能没那么出名,但它的确非常经典且很有口碑,书中所提出的“软件测试为求错而非求证”的观点至今仍在学术界被广泛争议与讨论。随着软件测试的重要性越来越受到现代软件企业的重视,这本书就好像尘封已久的宝藏被人们挖掘出来并受到追捧。与此同时,也正是因为测试市场的需求激增,书店里的测试书籍也似乎是“忽如一夜春风来,千树万树梨花开”了。
  我和《艺术》的第一次接触并不是在书店里发现了它,而是因为我阅读的一个习惯。我喜欢在阅读之前先看参考文献部分,也由此发现国内的很多软件测试书籍都把《艺术》作为首要的参考书目,这让我不得不对该书刮目相看,现在我终于明白了,原来《艺术》一书就是现在各种测试书籍参考的源头之一。以我个人的观点,今天书店里的软件测试理论书籍(注意我是指理论方面)已经饱和甚至是富营养化,如果你打算系统地学习软件测试理论知识,我不敢向你保证这本书是最全面最详细的,但是绝对是恰到好处的,它精悍凝练的篇幅可以让你在最短时间内获得关于软件测试的真知灼见。
  对于那些已经成为测试工程师甚至是高级测试工程师的人来说,本书同样值得一读,书中的很多内容读起来仿佛醍醐灌顶,本书所涵盖的测试知识经过千锤百炼和时间的考验,而把这些理论知识结合你的测试经验,能系统化并巩固加深你对测试这门学科的理解,而这种对软件测试技术系统的、深刻的理解,将使你在今后的工作以及事业中受益匪浅。
  因此,作为一名测试工程师,我对读者的建议是,初学者可将本书作为入门书;而有经验者更应该将本书作为理论指南,花点时间翻阅一下,梳理自己的经验和知识;本书对开发人员也相当有用,可以让你在最短的时间内建立起对测试的框架认知,从而在编码的过程中能够在脑海里多一些测试的思想,十分有益,当然有些测试类型本身就需要开发者参与,比如本书所介绍的极限编程与测试,开发者需要编写单元测试用例。对于测试管理者而言,本书的重要性不言而喻,本书内容非常精炼,将有助于你根据项目情况制定更合理、更有效的测试计划。
  作为本书第3版的译者,我十分有幸能够接到这样的经典书籍翻译任务,而且还是本人的处女译,心中的忐忑自不必多说,只希望我的翻译能够不辱原著的经典,更能够得到读者的认可。
  此次第3版相对于之前的第2版增加了全新的两章(第7章和第11章),由此使得本书包含了当下最新的测试分类和技术。除了第9章的改动增补较大外,其他的章节基本是略有改动。
  在翻译过程中,我尽量保证在准确翻译原文的基础上增加了一些个人的见解,通常以译者注的形式给出,我相信这些注释有助于国内的读者理解和消化书中内容;也有一些地方做了勘误。有时候直译的效果并不那么好,我也会尝试一些意译,比如在11.4节,作者强调了移动应用必然越来越火这一现象和趋势,我便借用著名诗歌《见与不见》来意译:
  你用,或者不用
  移动应用就在那里
  因为是站在巨人的肩膀上(前两版译文)进行翻译,所以我必须感谢前两版的翻译人员,这使得我此次翻译的精力主要聚焦在新增的两章以及改动较大的章节上。同时要感谢黄琳为我的原始译稿所做的详尽审稿和勘误工作,这也是我们之间的二度合作。
  最后请大家注意书名中的“艺术”二字,这暗示本书并不是那么晦涩难懂或写得很深奥,我觉得即使你没多少计算机基础知识,只要用过电脑软件,本书的很多章节读起来应该都不会太吃力。我希望有越来越多各行各业的人们加入测试的世界,从本书第7章的可用性测试我们看到,测试需要领域内经验,如果某公司针对音乐爱好者推出了一款混音软件,他们肯定会想,要是能够把周杰伦请来做首席用户体验师该有多好。总之,测试,这是个相比较开发来讲门槛不算太高的职业(当然要做到精深未必容易,甚至难度还要高),而且收入还算不错,在这里与各位读者共勉了。
  张晓明
  在本书1979年第1版出版的时侯,有一条著名的经验,即在一个典型的编程项目中,软件测试或系统测试大约占用50%的项目时间和超过50%的总成本。
  30多年后的今天,同样的经验仍然成立。现在出现了新的开发系统、具有内置工具的语言以及习惯于快速开发大量软件的程序员。但是,在任何软件开发项目中,测试依然扮演着重要角色。
  在这些事实面前,读者可能会以为软件测试发展到现在不断完善,已经成为一门精确的学科。然而实际情况并非如此。事实上,与软件开发的任何其他方面相比,人们对软件测试仍然知之甚少。而且,软件测试并非热门课题,本书首次出版时是这样,遗憾的是,今天仍然如此。现在有很多关于软件测试的书籍和论文,这意味着,至少与本书首次出版时相比,人们对软件测试这个主题有了更多的了解。但是,测试依然是软件开发中的“黑色艺术”。
  这就有了更充足的理由来修订这本关于软件测试艺术的书,同时我们还有其他一些动机。在不同的时期,我们都听到一些教授和助教说:“我们的学生毕业后进入了计算机界,却丝毫不了解软件测试的基本知识,而且在课堂上向学生介绍如何测试或调试其程序时,我们也很少有建议可提供。”
  因此,本书再版的目的与前两版一样:填充专业程序员和计算机科学学生的知识空缺。正如书名所蕴涵的,本书是对测试主题的实践探讨,而不是理论研究,还包括对新的语言和过程的探讨。尽管可以根据理论的脉络来讨论软件测试,但本书旨在成为实用且“脚踏实地”的手册。因此,很多与软件测试有关的主题,如程序正确性的数学证明都被有意地排除在外了。
  第1章介绍了一个供自我评价的测试,每位读者在继续阅读之前都须进行测试。它揭示出我们必须了解的有关软件测试的最为重要的实用信息,即一系列心理和经济学问题,这些问题在第2章中进行了详细讨论。第3章探讨的是不依赖计算机的代码走查或代码检查的重要概念。不同于大多数研究都将注意力集中在概念的过程和管理方面,第3章则是从技术上“如何发现错误”的角度来进行探讨。
  读者可能会意识到,在软件测试人员的技巧中最为重要的部分是掌握如何编写有效测试用例的知识,这正是第4章的主题。第5章探讨了如何测试单个模块或子例程,第6章讲述了如何测试更大的对象。第7章围绕用户体验或可用性测试这一重要的软件测试概念进行阐述,在更复杂且拥有更广大用户量的软件不断涌现的今天,可用性测试变得越来越重要。第8章介绍了一些程序调试的实用建议,第9章着重研究了极限编程及其测试(一种在今天称为敏捷开发环境中的编程和测试方法)。第10章介绍如何将本书所涵盖的软件测试知识运用到Web开发中,包括电子商务系统以及社交网络的开发。第11章描述了如何测试移动设备上的应用。
  本书主要面向三类读者。第一类是专业的程序员。尽管我们希望本书的内容对于他们来说不是全新的知识,但本书能使专业程序员对测试技术增强了解。如果这些材料能使软件开发人员在某个程序中多发现了一个错误,那么本书创造的价值将远远超过书价本身。
  第二类读者是项目经理,他们将会直接受益于本书所介绍的实用的测试管理理论与知识。第三类读者是软件或计算机专业的学生,我们的目的在于向学生展示程序测试的问题,并提供一系列有效的技术。对于最后一类读者群,我们建议本书作为程序设计课程的补充教材,使学生在学习阶段的早期就接触到软件测试的内容。
  Glenford J. Myers
  Tom Badgett
  Todd M. Thomas
  Corey Sandler
  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全部的软件测试思想,这个思想体系以及过程将适用于当今乃至未来的软件和硬件平台。我们也希望本书能够顺应时代,适用于当今的软件设计人员和开发人员掌握最新的软件测试思想及技术。
  Chapter 1
  一次自评价测试
  自本书30年前首次出版以来,软件测试变得比以前容易得多,也困难得多。软件测试何以变得更困难?原因在于大量的编程语言、操作系统以及硬件平台的涌现。在20世纪70年代只有相当少的人使用计算机,而在今天几乎人人离不开计算机。而今天计算机不仅仅是指摆在你书桌上的计算机了,几乎所有我们所接触和使用的电子设备都内置了一个“计算机”或者计算芯片,以及运行在其上的软件系统。不妨回想一下在今天的社会中还在使用哪些不需要软件驱动的设备,没错,锤子和手推车是,但是这些工具也大量使用在由软件控制和操作的车间中。软件的普遍应用提升了测试的意义。今天的设备已经千百倍强于它们的“前辈”,今天的“计算机”这个概念也变得越来越广泛和越来越难准确地定义。数字电视、电话、游戏产品、汽车等都有一颗计算机的“心”以及运行其中的软件,以至于在某些情况下它们自己本身也能够被看做是一台特别的计算机。
因此,现在的软件会潜在地影响到数以百万计的人,使他们更高效地完成工作,反之也会给他们带来数不清的麻烦,导致工作或事业的损失。这并不是说今天的软件比本书第1版发行时更重要,但可以肯定地说,今天的计算机(以及驱动它的软件)无疑已影响到了更多的人、更多的行业。
  就某些方面而言,软件测试变得更容易了,因为大量的软件和操作系统比以往更加复杂,内部提供了很多已充分测试过的例程供应用程序集成,无须程序员从头进行设计。例如,图形用户界面(GUI)可以从开发语言的类库中建立起来,同时,由于它们是经过充分调试和测试的预编程对象,将其作为自定义应用程序的组成部分进行测试的要求就减少了许多。另外,尽管市场上的测试书籍越来越多,甚至有过剩之嫌,似乎依旧有很多开发人员对全面的测试并不那么欢迎。引入更优秀的开发工具、使用已经通过测试的GUI(图形界面控件)控件、紧张的交付日期以及高度集成的便利开发环境会让测试变得仅仅是让那些最基本的测试用例走走过场罢了。影响不大的bug也许只不过会让最终用户觉得使用不方便而已,然而严重的bug则可能造成经济损失甚至是人身伤害。本书所阐述的方法旨在帮助设计人员、开发工程师以及项目经理更好地理解全面综合测试的意义所在,并提供行之有效的指南以帮助达成测试的目标。
  所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。在本书中,我们将讨论多种方法来达到这个目标。
  Chapter 1
  一次自评价测试
  自本书30年前首次出版以来,软件测试变得比以前容易得多,也困难得多。软件测试何以变得更困难?原因在于大量的编程语言、操作系统以及硬件平台的涌现。在20世纪70年代只有相当少的人使用计算机,而在今天几乎人人离不开计算机。而今天计算机不仅仅是指摆在你书桌上的计算机了,几乎所有我们所接触和使用的电子设备都内置了一个“计算机”或者计算芯片,以及运行在其上的软件系统。不妨回想一下在今天的社会中还在使用哪些不需要软件驱动的设备,没错,锤子和手推车是,但是这些工具也大量使用在由软件控制和操作的车间中。软件的普遍应用提升了测试的意义。今天的设备已经千百倍强于它们的“前辈”,今天的“计算机”这个概念也变得越来越广泛和越来越难准确地定义。数字电视、电话、游戏产品、汽车等都有一颗计算机的“心”以及运行其中的软件,以至于在某些情况下它们自己本身也能够被看做是一台特别的计算机。
因此,现在的软件会潜在地影响到数以百万计的人,使他们更高效地完成工作,反之也会给他们带来数不清的麻烦,导致工作或事业的损失。这并不是说今天的软件比本书第1版发行时更重要,但可以肯定地说,今天的计算机(以及驱动它的软件)无疑已影响到了更多的人、更多的行业。
  就某些方面而言,软件测试变得更容易了,因为大量的软件和操作系统比以往更加复杂,内部提供了很多已充分测试过的例程供应用程序集成,无须程序员从头进行设计。例如,图形用户界面(GUI)可以从开发语言的类库中建立起来,同时,由于它们是经过充分调试和测试的预编程对象,将其作为自定义应用程序的组成部分进行测试的要求就减少了许多。另外,尽管市场上的测试书籍越来越多,甚至有过剩之嫌,似乎依旧有很多开发人员对全面的测试并不那么欢迎。引入更优秀的开发工具、使用已经通过测试的GUI(图形界面控件)控件、紧张的交付日期以及高度集成的便利开发环境会让测试变得仅仅是让那些最基本的测试用例走走过场罢了。影响不大的bug也许只不过会让最终用户觉得使用不方便而已,然而严重的bug则可能造成经济损失甚至是人身伤害。本书所阐述的方法旨在帮助设计人员、开发工程师以及项目经理更好地理解全面综合测试的意义所在,并提供行之有效的指南以帮助达成测试的目标。
  所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。在本书中,我们将讨论多种方法来达到这个目标。
770)this.width=770;' />
系列图书推荐 ¥59.00¥41.30
同类热销商品¥35.00¥24.50
订单处理配送
北京奥维博世图书发行有限公司 china-pub,All Rights Reserved《软件测试的艺术》精华摘要(八) - Hideo_Zhao的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
《软件测试的艺术》精华摘要(八)
& 15:50:15
/ 个人分类:
XP模型高度依赖模块的单元和验收测试。总的来说,对每个无论多小的递增的代码变更,都必须进行,以确保满足其规格说明的要求。极限测试(XT)需要首先创建单元测试和验收测试,然后才创建代码库。8.1、基础&&&&XP采取简单的设计,在开发人员和客户之间建立联系、不断地测试代码库、以适应规格说明的变更,以及寻求用户的反馈。&&&&4个:1、聆听客户和程序员的谈话2、与客户合作,开发应用程序的规格说明和3、结对编码4、测试代码库12个:1、计划与需求分析将市场和业务开发人员集中起来,共同确认每个软件特征的最大商业价值以使用场景的形式重新编写每个重要的软件特征程序员估计完成每个使用场景的时间客户根据估计时间和商业价值选择软件的功能特征2、小规模、递增地发布努力添加细微的、实在的、可增值的特性,频繁发布新版本3、系统隐喻编程小组确认隐喻,便于建立命名规则和程序流程4、简要设计实现最简单的设计,使代码通过单元测试,假设变更即将发生,因此不要在设计上花太多时间,只要不停地实现5、连续测试在编写模块之前就生成单元测试用例,模块只有在通过单元测试之后才告完成,程序只有在通过了所有的单元测试和验收测试完成之后才算结束6、重构清理和调整代码库,单元测试有助于确保在此过程中不破坏程序的功能,应在任何重构之后重新进行所有的单元测试7、结对编程两位程序员协同,在同一台机器开发代码库,这样就可以对代码进行实时检查,能极大地提高缺陷的发现率和纠正率8、代码的集体所有权所有代码归全体程序员所有,没有哪一个程序员只致力于开发某一个代码库9、持续集成每天在变更通过单元测试之后将其集成到代码库中10、每周40小时工作不允许加班,如果每周都全力工作了40小时,就不需要加班,在重大发布前的一个星期例外&&&&11、客户在现场开发人员和编程小组可以随时接触客户,这样可以快速、准确地解决问题,使开发过程不至于中断&&&&12、按标准编码所有的代码看上去必须一致,设计一个系统隐喻有助于满足该原则&&&&项目特征:1、程序员与客户会晤,决定产品需求并建立使用场景2、在客户不在场的情况下,程序员进行会晤,将需求分解为独立的任务,并估计完成每项任务所需的时间3、程序员向客户提交任务清单和时间估计,并要求客户产生一个功能优先级清单4、编程小组依据程序员具备的能力,将任务分配给结对的程序员5、每一对程序员依据应用程序的规格说明,对其编程任务生成单元测试用例6、每一对程序员完成其任务,旨在编写出通过单元测试的代码库7、每一对程序员在所有单元测试通过之前,不断修改和重测他们的代码8、所有的结对程序员每天都整合、集成他们的代码库9、编程小组发布应用程序的一个预览版本10、客户进行验收测试,要么确认该应用程序,要么提交一份报告指出存在的缺陷或不足&&&&11、程序员在验收测试成功的基础上发布一个产品版本&&&&12、程序员根据最新的经验更新时间估计8.2、极限测试:概念&&&&1、极限单元测试&&&&&&&所有代码模块在编码开始之前必须设计好单元测试用例,在产品发布之前须通过单元测试&&&&2、验收测试&&&&3、极限测试的应用当前位置:&&&软件测试的艺术.pdf 软件测试的艺术.pdf分享用户:资源分类:文件大小: 5 MB资源类型:浏览次数:13次发布日期:资源类别:文件其它:0次下载/0次保存声明:本站仅提供资源的链接,不提供内容的下载,也不存放内容;用户如需下载资源内容需跳转至微盘,资源内容归属于微盘
收藏资源:
也许对您有用的微盘资源推荐微盘分享达人推荐相关微盘资源推荐

我要回帖

更多关于 软件安全测试艺术 的文章

 

随机推荐