《软件工程技术丛书:软件测试的艺术(原书第3版)》适合软件开发人员、IT项目经理等相关读者阅读,还可以作为高等院校计算机相关专业软件测试课程的教材或参考书。
  海报:
  
  《软件工程技术丛书:软件测试的艺术(原书第3版)》从第1版付梓到现在已经30余年,是软件测试领域的经典著作。本书结构清晰、讲解生动活泼,简明扼要地展示了久经考验的软件测试方法和智慧。
  软件工程技术丛书:软件测试的艺术(第3版)以一次自评价测试开篇,从软件测试的心理学和经济学入手,探讨了代码检查、走查与评审、测试用例的设计、模块(单元)测试、系统测试、调试等主题,以及极限测试、互联网应用测试等高级主题,全面展现了作者的软件测试思想。第3版在前两版的基础上,结合软件测试的新发展进行了更新,覆盖了可用性测试、移动应用测试以及敏捷开发测试等内容。
  《软件工程技术丛书:软件测试的艺术(原书第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章 一次自评价测试 
第2章 软件测试的心理学和经济学 
2.1 软件测试的心理学 
2.2 软件测试的经济学 
2.2.1 黑盒测试 
2.2.2 白盒测试 
2.3 软件测试的原则 
2.4 小结 
第3章 代码检查、走查与评审 
3.1 代码检查与走查 
3.2 代码检查 
3.2.1 代码检查小组 
3.2.2 检查议程与注意事项 
3.2.3 对事不对人,和人有关的注意事项 
3.2.4 代码检查的衍生功效 
3.3 用于代码检查的错误列表 
3.3.1 数据引用错误 
3.3.2 数据声明错误 
3.3.3 运算错误 
3.3.4 比较错误 
3.3.5 控制流程错误 
3.3.6 接口错误 
3.3.7 输入/输出错误 
3.3.8 其他检查 
3.4 代码走查 
3.5 桌面检查 
3.6 同行评审 
3.7 小结 
第4章 测试用例的设计 
4.1 白盒测试 
4.2 黑盒测试 
4.2.1 等价划分 
4.2.2 一个范例 
4.2.3 边界值分析 
4.2.4 因果图 
4.3 错误猜测 
4.4 测试策略 
4.5 小结 
第5章 模块(单元)测试 
5.1 测试用例设计 
5.2 增量测试 
5.3 自顶向下测试与自底向上测试 
5.3.1 自顶向下的测试 
5.3.2 自底向上的测试 
5.3.3 比较 
5.4 执行测试 
5.5 小结 
第6章 更高级别的测试 
6.1 功能测试 
6.2 系统测试 
6.2.1 能力测试 
6.2.2 容量测试 
6.2.3 强度测试 
6.2.4 可用性测试 
6.2.5 安全性测试 
6.2.6 性能测试 
6.2.7 存储测试 
6.2.8 配置测试 
6.2.9 兼容性/转换测试 
6.2.1 0安装测试 
6.2.1 1可靠性测试 
6.2.1 2可恢复性测试 
6.2.1 3服务/可维护性测试 
6.2.1 4文档测试 
6.2.1 5过程测试 
6.2.1 6系统测试的执行 
6.3 验收测试 
6.4 安装测试 
6.5 测试的计划与控制 
6.6 测试结束准则 
6.7 独立的测试机构 
6.8 小结 
第7章 可用性(或用户体验)测试 
7.1 可用性测试基本要素 
7.2 可用性测试流程 
7.2.1 测试用户的选择 
7.2.2 需要多少用户进行测试 
7.2.3 数据采集方法 
7.2.4 可用性调查问卷 
7.2.5 何时收工,还是多多益善 
7.3 小结 
第8章 调试 
8.1 暴力法调试 
8.2 归纳法调试 
8.3 演绎法调试 
8.4 回溯法调试 
8.5 测试法调试 
8.6 调试的原则 
8.6.1 定位错误的原则 
8.6.2 修改错误的技术 
8.7 错误分析 
8.8 小结 
第9章 敏捷开发模式下的测试 
9.1 敏捷开发的特征 
9.2 敏捷测试 
9.3 极限编程与测试 
9.3.1 极限编程基础 
9.3.2 极限测试:概念 
9.3.3 极限测试的应用 
9.4 小结 
第10章 互联网应用测试 
10.1 电子商务的基本结构 
10.2 测试的挑战 
10.3 测试的策略 
10.3.1 表示层的测试 
10.3.2 业务层的测试 
10.3.3 数据层的测试 
10.4 小结 
第11章 移动应用测试 
11.1 移动环境 
11.2 测试面临的挑战 
11.2.1 移动设备多样性 
11.2.2 运营商网络基础设施 
11.2.3 脚本编程 
11.2.4 可用性测试 
11.3 测试方法 
11.3.1 真机测试 
11.3.2 基于模拟器的测试 
11.4 小结 
附录A极限编程示例程序 
附录B小于1000的素数
  第1章 
  Chapter 1 
  一次自评价测试 
  自本书30年前首次出版以来,软件测试变得比以前容易得多,也困难得多。软件测试何以变得更困难?原因在于大量的编程语言、操作系统以及硬件平台的涌现。在20世纪70年代只有相当少的人使用计算机,而在今天几乎人人离不开计算机。而今天计算机不仅仅是指摆在你书桌上的计算机了,几乎所有我们所接触和使用的电子设备都内置了一个“计算机”或者计算芯片,以及运行在其上的软件系统。不妨回想一下在今天的社会中还在使用哪些不需要软件驱动的设备,没错,锤子和手推车是,但是这些工具也大量使用在由软件控制和操作的车间中。软件的普遍应用提升了测试的意义。今天的设备已经千百倍强于它们的“前辈”,今天的“计算机”这个概念也变得越来越广泛和越来越难准确地定义。数字电视、电话、游戏产品、汽车等都有一颗计算机的“心”以及运行其中的软件,以至于在某些情况下它们自己本身也能够被看做是一台特别的计算机。    因此,现在的软件会潜在地影响到数以百万计的人,使他们更高效地完成工作,反之也会给他们带来数不清的麻烦,导致工作或事业的损失。这并不是说今天的软件比本书第1版发行时更重要,但可以肯定地说,今天的计算机(以及驱动它的软件)无疑已影响到了更多的人、更多的行业。 
  就某些方面而言,软件测试变得更容易了,因为大量的软件和操作系统比以往更加复杂,内部提供了很多已充分测试过的例程供应用程序集成,无须程序员从头进行设计。例如,图形用户界面(GUI)可以从开发语言的类库中建立起来,同时,由于它们是经过充分调试和测试的预编程对象,将其作为自定义应用程序的组成部分进行测试的要求就减少了许多。另外,尽管市场上的测试书籍越来越多,甚至有过剩之嫌,似乎依旧有很多开发人员对全面的测试并不那么欢迎。引入更优秀的开发工具、使用已经通过测试的GUI(图形界面控件)控件、紧张的交付日期以及高度集成的便利开发环境会让测试变得仅仅是让那些最基本的测试用例走走过场罢了。影响不大的bug也许只不过会让最终用户觉得使用不方便而已,然而严重的bug则可能造成经济损失甚至是人身伤害。本书所阐述的方法旨在帮助设计人员、开发工程师以及项目经理更好地理解全面综合测试的意义所在,并提供行之有效的指南以帮助达成测试的目标。 
  所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。在本书中,我们将讨论多种方法来达到这个目标。 
  …… 
  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全部的软件测试思想,这个思想体系以及过程将适用于当今乃至未来的软件和硬件平台。我们也希望本书能够顺应时代,适用于当今的软件设计人员和开发人员掌握最新的软件测试思想及技术。 
这本书终于到手了!翻开目录,就感觉这是一次深入软件测试世界的奇妙旅程。从基础的概念讲起,比如测试的定义、原则、生命周期,到各种各样的测试类型,如单元测试、集成测试、系统测试、验收测试,再到更高级的性能测试、安全测试、用户体验测试,简直包罗万象。作者并没有仅仅罗列这些概念,而是用大量的实例和场景来阐述,让你能真切地感受到这些理论是如何在实际开发中应用的。尤其让我印象深刻的是关于测试计划和测试用例设计的讲解,非常细致,让我明白了一个好的测试计划和精心的测试用例设计是多么重要,能极大地提高测试效率和效果。书中还探讨了自动化测试的策略和工具选择,虽然我之前对自动化测试有些模糊的概念,但读完这部分,感觉豁然开朗,对如何引入和实施自动化测试有了更清晰的认识。而且,书中的语言风格也相当吸引人,不是那种枯燥的教科书式讲解,而是娓娓道来,引人入胜,读起来一点都不费劲。我迫不及待地想把书中的知识应用到我的工作中去。
评分我之前一直认为,软件测试就是一种“事后诸葛亮”的工作,等开发完了再来挑毛病。但这本书彻底改变了我的看法。作者强调了“左移”的概念,也就是将测试活动尽早地引入到软件开发的整个生命周期中,从需求分析、设计阶段就开始关注质量。书中详细介绍了如何进行需求评审、设计评审,以及如何利用静态分析工具来提前发现潜在的缺陷。这种“预防为主”的理念,让我觉得非常有启发性。如果能在早期就发现问题,就能大大降低后期修复的成本,提高开发效率。书中的“测试驱动开发”(TDD)和“行为驱动开发”(BDD)等敏捷测试方法,也给我留下了深刻的印象。它们不仅是一种测试技术,更是一种开发思维方式,能够帮助我们写出更高质量、更易于维护的代码。作者在讲解这些方法时,非常注重实践性,提供了很多代码示例和操作步骤,让我觉得很容易上手。读完这本书,我感觉自己不再是被动地执行测试,而是能够更主动地参与到产品的质量保障过程中,成为一名更具价值的软件工程师。
评分说实话,在阅读之前,我对于“软件测试”这个概念,总觉得有些一知半解,觉得就是找bug、写报告。但是,这本书完全颠覆了我的认知。它就像一位经验丰富的导师,循序渐进地带领我进入一个更广阔、更深入的测试领域。书中对测试策略的讲解,让我明白了如何根据不同的项目需求和风险,制定出最优的测试方案。无论是风险驱动的测试,还是基于模型的测试,都提供了清晰的思路和实践方法。尤其让我感到惊喜的是,书中还涉及了大量的非功能性测试,比如可用性测试、兼容性测试、本地化测试等,这些内容在很多同类书籍中都比较少见,但它们对于确保软件的全面质量至关重要。作者在讲解这些测试类型时,不仅给出了定义和目的,还详细介绍了相关的测试方法、工具和技巧,让我觉得非常有指导意义。读完这部分,我意识到,一个合格的测试人员,需要具备非常全面的知识体系和技能。而且,书中还特别强调了持续学习和改进的重要性,鼓励测试人员不断地学习新的技术和方法,以适应快速变化的软件行业。
评分我一直觉得,软件测试不仅仅是找出bug,更是一门艺术,一种对产品质量的极致追求。这本书的副标题“软件测试的艺术”恰恰点明了这一点,也正是我一直以来对测试的理解。书的开篇就深入探讨了测试的哲学,强调了测试人员在产品开发中的重要角色,以及如何培养敏锐的洞察力和批判性思维。作者并没有回避测试中的挑战和难点,反而通过各种案例,生动地展现了如何克服这些困难,如何从纷繁复杂的需求和代码中找到潜在的问题。其中关于“探索性测试”的章节,让我眼前一亮。它打破了传统测试用例的束缚,鼓励测试人员运用经验和直觉,像侦探一样去发现那些意想不到的缺陷。这是一种非常高级的测试思维,需要深厚的积累和悟性。此外,书中还花了很大的篇幅讲解如何进行有效的沟通和协作,包括如何与开发人员、产品经理以及客户沟通,如何清晰地报告bug,如何争取到必要的资源。这对于提升团队整体的质量意识和协作效率至关重要。读完这本书,我感觉自己对软件测试的理解提升了一个全新的维度,不再是机械地执行测试,而是开始思考“为什么”和“如何更好”。
评分这本书的排版设计也很舒服,字体大小适中,章节划分清晰,阅读起来眼睛不容易疲劳。我最喜欢的部分是关于测试度量的分析。很多时候,我们知道测试很重要,但如何量化测试的投入和产出,如何评估测试的有效性,往往是个难题。这本书提供了多种实用的测试度量方法,比如测试覆盖率、缺陷密度、缺陷修复率等等,并且讲解了如何收集和分析这些数据,如何利用它们来改进测试流程和提升产品质量。作者的讲解非常生动,结合了大量的实际案例,让我能够清晰地理解这些度量指标背后的意义,以及它们如何帮助我们做出更明智的决策。此外,书中还提到了如何建立一个强大的测试团队,包括招聘、培训、绩效评估等方面,这对于管理者来说非常有价值。读完这本书,我感觉自己不仅在技术上得到了提升,在管理和战略层面也获得了新的启发。我强烈推荐这本书给所有对软件测试感兴趣的人,无论你是初学者还是有经验的测试工程师,都能从中受益匪浅。
评分质量好无破损,东西质量挺好的,在这购物很放心质量好无破损,东西质量挺好的,在这购物很放心,质量好无破损,东西质量挺好的,在这购物很放心
评分书还行,差不多看完了,觉得不错,如果有需要的也可以买来看看,多学知识总归是好的
评分不错,适合测试人员看一下
评分帮朋友买的,不错。帮朋友买的,不错。帮朋友买的,不错。帮朋友买的,不错。
评分东西不错,下次还会来买,挺好的
评分到货快,三点拍,十点到。每本书都有塑封,开了发票。有活动96买了四本
评分还是要有点软件开发的基础,才能看的进去,我还是多学学吧。
评分不错,书的纸质很好!快递速度很快!满意~~~~~~~
评分看了看,介绍的挺详细,不过聚的例子有的看不太懂,
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有