软件测试的艺术.pdf

软件测试的艺术.pdf
 

书籍描述

编辑推荐
《软件测试的艺术(原书第3版)》编辑推荐:软件测试的经典著作最新版!

作者简介
作者:(美国)梅耶(GlenfordJ.Myers)(美国)汤姆•巴吉特(TomBadgett)(美国)克里•桑德勒(CoreySandler) 译者:张晓明 黄琳

GlenfordJ.Myers,IBM系统研究所前高级研究员,同时还是RadiSys公司的创始人和前CEO。
TomBadgett,曾经主管大型企业软件开发团队,已出版超过60本关于计算机软件和硬件的技术书籍,同时他还是PcJr,DigitalNews等主流计算机杂志的技术编辑。
CoreySandler,计算机新闻的先锋,他曾经负责GannettNewspapers和theAssociatedPress的技术部分以及之后成为PcMagazine的第一任主编。他同时还是DigitalNews(针对DEC小型机的一份报纸)的编辑创始团队成员,他著作等身,目前已经出版了超过150本书籍,覆盖了从计算机到商业以及很多其他领域。

目录
译者序
序言
前言
第1章 一次自评价测试 1
第2章 软件测试的心理学和经济学 4
2.1 软件测试的心理学 4
2.2 软件测试的经济学 7
2.2.1 黑盒测试 7
2.2.2 白盒测试 8
2.3 软件测试的原则 10
2.4 小结 14
第3章 代码检查、走查与评审 15
3.1 代码检查与走查 16
3.2 代码检查 17
3.2.1 代码检查小组 17
3.2.2 检查议程与注意事项 18
3.2.3 对事不对人,和人有关的注意事项 19
3.2.4 代码检查的衍生功效 19
3.3 用于代码检查的错误列表 19
3.3.1 数据引用错误 20
3.3.2 数据声明错误 22
3.3.3 运算错误 23
3.3.4 比较错误 23
3.3.5 控制流程错误 24
3.3.6 接口错误 26
3.3.7 输入/输出错误 27
3.3.8 其他检查 27
3.4 代码走查 29
3.5 桌面检查 30
3.6 同行评审 31
3.7 小结 32
第4章 测试用例的设计 33
4.1 白盒测试 34
4.2 黑盒测试 40
4.2.1 等价划分 40
4.2.2 一个范例 43
4.2.3 边界值分析 45
4.2.4 因果图 50
4.3 错误猜测 66
4.4 测试策略 67
4.5 小结 68
第5章 模块(单元)测试 70
5.1 测试用例设计 70
5.2 增量测试 81
5.3 自顶向下测试与自底向上测试 84
5.3.1 自顶向下的测试 84
5.3.2 自底向上的测试 89
5.3.3 比较 90
5.4 执行测试 91
5.5 小结 92
第6章 更高级别的测试 93
6.1 功能测试 96
6.2 系统测试 97
6.2.1 能力测试 99
6.2.2 容量测试 100
6.2.3 强度测试 100
6.2.4 可用性测试 101
6.2.5 安全性测试 101
6.2.6 性能测试 102
6.2.7 存储测试 102
6.2.8 配置测试 102
6.2.9 兼容性/转换测试 103
6.2.10 安装测试 103
6.2.11 可靠性测试 103
6.2.12 可恢复性测试 104
6.2.13 服务/可维护性测试 105
6.2.14 文档测试 105
6.2.15 过程测试 105
6.2.16 系统测试的执行 105
6.3 验收测试 106
6.4 安装测试 107
6.5 测试的计划与控制 107
6.6 测试结束准则 109
6.7 独立的测试机构 114
6.8 小结 114
第7章 可用性(或用户体验)测试 116
7.1 可用性测试基本要素 116
7.2 可用性测试流程 118
7.2.1 测试用户的选择 119
7.2.2 需要多少用户进行测试 120
7.2.3 数据采集方法 122
7.2.4 可用性调查问卷 124
7.2.5 何时收工,还是多多益善 125
7.3 小结 126
第8章 调试 127
8.1 暴力法调试 128
8.2 归纳法调试 129
8.3 演绎法调试 132
8.4 回溯法调试 135
8.5 测试法调试 135
8.6 调试的原则 136
8.6.1 定位错误的原则 136
8.6.2 修改错误的技术 138
8.7 错误分析 139
8.8 小结 140
第9章 敏捷开发模式下的测试 142
9.1 敏捷开发的特征 143
9.2 敏捷测试 144
9.3 极限编程与测试 145
9.3.1 极限编程基础 146
9.3.2 极限测试:概念 149
9.3.3 极限测试的应用 152
9.4 小结 155
第10章 互联网应用测试 156
10.1 电子商务的基本结构 157
10.2 测试的挑战 159
10.3 测试的策略 161
10.3.1 表示层的测试 163
10.3.2 业务层的测试 165
10.3.3 数据层的测试 167
10.4 小结 169
第11章 移动应用测试 171
11.1 移动环境 171
11.2 测试面临的挑战 173
11.2.1 移动设备多样性 173
11.2.2 运营商网络基础设施 174
11.2.3 脚本编程 176
11.2.4 可用性测试 177
11.3 测试方法 177
11.3.1 真机测试 179
11.3.2 基于模拟器的测试 181
11.4 小结 182
附录A 极限编程示例程序 184
附录B 小于1000的素数 190

序言
1979年,GlenfordJ.Myers出版了一本现在仍被证明为经典的著作,这就是本书第1版。本书经受住了时间的考验,25年来一直列在出版商提供的书目清单中。这个事实本身就是对本书可靠、精粹和珍贵品质的佐证。
在同一时期,本书第3版的几位合著者共出版了200余本著作,大多数都是关于计算机软件的。其中有一些很畅销,再版了多次(例如CoreySandler的《FixYourOwnPC》自付梓以来已出版到第8版,TomBadgett关于微软PowerPoint及其他Office组件的著作已经出版到第4版)。然而,那些作者的著作中没有哪一本书能够像本书一样持续数年之后仍畅销不衰。
区别究竟在哪里呢?那些新书只涵盖了短期性的主题:操作系统、应用软件、安全性、通信技术及硬件配置。20世纪80年代和90年代以来的计算机硬件与软件技术的飞速发展,必然使得这些主题频繁变动和更新。
在此期间出版的有关软件测试的书籍已数以百计,这些书也对软件测试的主题进行了简要的探讨。然而,本书为计算机界一个最为重要的主题提供了长期、基本的指南:如何确保所开发的所有软件做了其应该做的,并且同样重要的是,未做其不应该做的?
本书第3版中保留了同样的基本思想。我们更新了其中的例子以包含更为现代的编程语言。我们还研究了在Myers编著本书第1版时尚无人了解的主题:Web编程、电子商务、极限编程与测试及移动应用测试。
但是,我们永远不会忘记,新的版本必须遵从其原著,因此,新版本依然向读者展示GlenfordMyers全部的软件测试思想,这个思想体系以及过程将适用于当今乃至未来的软件和硬件平台。我们也希望本书能够顺应时代,适用于当今的软件设计人员和开发人员掌握最新的软件测试思想及技术。

文摘
版权页:

软件测试的艺术

插图:

软件测试的艺术

第1章
Chapter1
一次自评价测试
自本书30年前首次出版以来,软件测试变得比以前容易得多,也困难得多。软件测试何以变得更困难?原因在于大量的编程语言、操作系统以及硬件平台的涌现。在20世纪70年代只有相当少的人使用计算机,而在今天几乎人人离不开计算机。而今天计算机不仅仅是指摆在你书桌上的计算机了,几乎所有我们所接触和使用的电子设备都内置了一个“计算机”或者计算芯片,以及运行在其上的软件系统。不妨回想一下在今天的社会中还在使用哪些不需要软件驱动的设备,没错,锤子和手推车是,但是这些工具也大量使用在由软件控制和操作的车间中。软件的普遍应用提升了测试的意义。今天的设备已经千百倍强于它们的“前辈”,今天的“计算机”这个概念也变得越来越广泛和越来越难准确地定义。数字电视、电话、游戏产品、汽车等都有一颗计算机的“心”以及运行其中的软件,以至于在某些情况下它们自己本身也能够被看做是一台特别的计算机。因此,现在的软件会潜在地影响到数以百万计的人,使他们更高效地完成工作,反之也会给他们带来数不清的麻烦,导致工作或事业的损失。这并不是说今天的软件比本书第1版发行时更重要,但可以肯定地说,今天的计算机(以及驱动它的软件)无疑已影响到了更多的人、更多的行业。
就某些方面而言,软件测试变得更容易了,因为大量的软件和操作系统比以往更加复杂,内部提供了很多已充分测试过的例程供应用程序集成,无须程序员从头进行设计。例如,图形用户界面(GUI)可以从开发语言的类库中建立起来,同时,由于它们是经过充分调试和测试的预编程对象,将其作为自定义应用程序的组成部分进行测试的要求就减少了许多。另外,尽管市场上的测试书籍越来越多,甚至有过剩之嫌,似乎依旧有很多开发人员对全面的测试并不那么欢迎。引入更优秀的开发工具、使用已经通过测试的GUI(图形界面控件)控件、紧张的交付日期以及高度集成的便利开发环境会让测试变得仅仅是让那些最基本的测试用例走走过场罢了。影响不大的bug也许只不过会让最终用户觉得使用不方便而已,然而严重的bug则可能造成经济损失甚至是人身伤害。本书所阐述的方法旨在帮助设计人员、开发工程师以及项目经理更好地理解全面综合测试的意义所在,并提供行之有效的指南以帮助达成测试的目标。
所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。在本书中,我们将讨论多种方法来达到这个目标。

内容简介
《软件测试的艺术(原书第3版)》从第1版付梓到现在已经30余年,是软件测试领域的经典著作。《软件测试的艺术(原书第3版)》结构清晰、讲解生动活泼,简明扼要地展示了久经考验的软件测试方法和智慧。《软件测试的艺术(原书第3版)》以一次自评价测试开篇,从软件测试的心理学和经济学入手,探讨了代码检查、走查与评审、测试用例的设计、模块(单元)测试、系统测试、调试等主题,以及极限测试、互联网应用测试等高级主题,全面展现了作者的软件测试思想。第3版在前两版的基础上,结合软件测试的最新发展进行了更新,覆盖了可用性测试、移动应用测试以及敏捷开发测试等内容。适合软件开发人员、IT项目经理等相关读者阅读,还可以作为高等院校计算机相关专业软件测试课程的教材或参考书。
第3版阐述了如何将经典软件测试法则应用到解决当今计算机行业所面临的最紧迫的问题之中,这些问题包括:移动设备的应用测试,各种设备上的软件代码走查、代码审查(从技术以及如何发现错误的角度讨论),可用性测试(随着直接面向广大终端用户的应用在数量上呈爆发性增长,可用性变得越来越重要),互联网应用、电子商务和敏捷编程环境的测试。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多