软件测试之魂:核心测试设计精解(第2版)(掌握核心竞争力成为不可替代的测试精英)
肖利琼著
ISBN 978-7-121-19677-5
2013年5月出版
定价:59.00元
356页
16开
编辑推荐
本书之所以被数位测试界技术权威联名推荐,是因为其紧扣测试工作命门,围绕测试设计展开全部内容;更是国内外以此为题的唯一专业著作。除了细致绵密的原理剖析和技术细节,还有一些观点值得已经或立志于以此为业的读者关注与思考,摘录如下。
(1)找Bug,就好像挖地雷,每走一步,得都小心谨慎,否则一不小心,一个bug就在你眼皮底下悄悄地溜走了。
(2)相信自己,Bug是找不完的,Bug不是没有了,只是暂时我没有发现。
(3)坚持!严重的偶发Bug定可重视。
(4)并不是所有的Bug都能解决或需要解决,测试要坚持,又要舍得放弃。
内容提要
本书以测试设计为主线,首先介绍了软件测试行业过去十多年的发展变化——如今,软件测试日益受到世界重视,已展现了朝阳行业的端倪。如何把握测试技术,把测试工作做得精透,成为测试行业的佼佼者,也是很多读者朋友关心的话题。本书接下来明确了测试的目标,介绍了测试设计的各个环节,包括测试架构的设计、测试需求分析与测试策略制定、测试方案的设计、用例的设计、测试执行流程设计、测试输出的管理设计、测试过程的控制方法设计等。最后,作者以追逐软测之理念进行延展,旨在帮助读者理解并站在测试工作之上看测试,如何超越自我进行测试创新,为走出一条属于自己的测试精华之路提供指引。
本书是作者从事一线测试工作13年来的测试经验与智慧结晶,适合对软件测试有一定了解,特别是有一定实际测试经验的测试工程师。同时,本书也可以作为高校、软件测试专业培训机构的参考教材,让学生在学习理论知识的同时,学习企业中的工程实践案例,有针对性地认识与把握测试的核心技术,以增强自身的就业竞争力。
目录
第1章 朝阳中的软件测试 1
1.1 关于软件测试 1
1.1.1 书中一角到书山一角的跨越 2
1.1.2 捉虫子与挖金矿 3
1.2 Bug就在我们身边 5
1.2.1 惠普100款笔记本软件曝严重漏洞 6
1.2.2 奥运门票销售系统被迫关闭 6
1.2.3 美F-22机群系统瘫痪,软件质量威胁国家安全 7
1.3 把握测试岗位 8
1.3.1 测试入门 9
1.3.2 优秀测试 11
1.3.3 卓越测试 13
1.4 测试基础简要 14
1.4.1 软件测试基本概念 14
1.4.2 软件测试基本目的 15
1.4.3 软件测试策略 15
1.4.4 软件测试方法 17
1.4.5 软件测试流程 18
第2章 找Bug的核心思维与境界 20
2.1 情有独钟的思维模式 20
2.1.1 逆向思维 20
2.1.2 发散性思维 23
2.2 测试的第一重境界:围着Bug转 26
2.2.1 独上高楼——发现Bug 29
2.2.2 为伊消得人憔悴——定位Bug 31
2.2.3 蓦然回首——关闭Bug 34
2.3 测试的第二重境界:站在Bug之上 36
2.3.1 测试的价值不仅仅是发现Bug 37
2.3.2 测试的服务链 42
2.4 测试的第三重境界:挑战零缺陷 43
2.4.1 缺陷的防与堵 44
2.4.2 “零缺陷”文化 46
2.4.3 “零缺陷”后的误区 47
第3章 测试设计景观 48
3.1 放眼设计 49
3.2 解读测试设计 50
3.3 测试管理中的隐形指挥棒:测试组织模式的设计 53
3.3.1 以开发为核心的组织模式 54
3.3.2 以项目经理为核心的组织模式 56
3.3.3 独立的测试组织模式 58
3.4 提高测试效率的有力武器:测试流程之设计 59
3.4.1 认识测试流程 60
3.4.2 让大家一起忙起来 61
3.4.3 软件运行得犹如蜗牛在爬行 64
3.5 好钢用在刀刃上:测试技术应用之合适设计 65
3.5.1 通信的心跳在狂蹦 65
3.5.2 解开用例失效之谜 67
第4章 测试架构的设计 70
4.1 思索测试架构 70
4.1.1 认知测试架构 70
4.1.2 测试架构设计不仅仅在技术上 73
4.2 让每个测试人员都看到希望 73
4.2.1 回顾与思考微软的测试职业发展路线设计 74
4.2.2 架构合适的测试技术发展梯队通道 79
4.2.3 架构合适的测试管理方向发展轨道 81
4.3 万里航行总舵手——业务测试架构的设计 83
4.4 测试建设之基石——测试框架的设计 85
4.4.1 相框与测试框架 85
4.4.2 化抽象为具体——测试框架内容 86
4.4.3 突破起点——搭建测试框架的方法 89
第5章 测试需求分析与测试策略制定 92
5.1 从测试需求开始 92
5.1.1 多管齐下溯需求 93
5.1.2 考虑可测试性需求 95
5.2 识别庐山真面目——分析需求 98
5.2.1 快速理解需求的捷径:需求宣讲 98
5.2.2 需求定义也会错并不是谎言 99
5.2.3 不可忽视:从设计需求中提取测试需求 101
5.3 确定顶层方向性测试类别 104
5.4 布道——部署测试策略 107
5.5 测试技术的裁剪与合理应用 109
5.5.1 黑盒测试不等于手工测试 109
5.5.2 适当采用白盒测试 110
5.5.3 灵活运用灰盒测试 111
5.5.4 部分自动化测试 114
5.5.5 着眼专项测试 115
5.6 测试计划与跟踪机制 117
5.7 测试策略需考虑的其他要素 119
第6章 聚焦测试方案的设计 121
6.1 理解测试方案的设计 121
6.1.1 疑问与认识过程 121
6.1.2 测试方案设计的重要性 123
6.1.3 把握核心——测试方案设计的三步曲 125
6.2 创新乐园:多路测试分析方法 126
6.3 三层架构模式分析法 128
6.3.1 三层架构模式分析法的原理 128
6.3.2 应用案例 129
6.4 多叉树节点分析法 133
6.4.1 多叉树节点分析法的原理 133
6.4.2 应用案例 135
6.5 业务状态变迁分析法 138
6.5.1 业务状态变迁分析法的原理 138
6.5.2 应用案例 139
6.6 代码更改追溯分析法 143
6.6.1 代码更改追溯分析法的原理 143
6.6.2 应用案例 145
第7章 话说用例的设计 147
7.1 漏测一个提示界面,不仅损失158万元 147
7.2 逆境中的用例设计 149
7.3 技术攻关:高效用例设计方法 152
7.3.1 隐式边界 152
7.3.2 分类法 156
7.3.3 反常规操作法 161
7.3.4 倒推法 163
7.3.5 用例设计的综合策略 166
7.4 用例有效、无效的正确认识 167
7.5 用例的价值 169
7.6 设计可复用的用例 171
7.7 用例重构 174
7.8 用例设计规范的诞生 177
第8章 测试执行流程设计 179
8.1 需求测试 179
8.1.1 需求内审中的测试需求 181
8.1.2 需求外审中的测试需求 183
8.1.3 测试设计过程中的测试需求 183
8.1.4 需求测试检查点 184
8.1.5 需求测试中的几个问题 187
8.2 内部版本发布测试 188
8.2.1 版本发布的恶梦 188
8.2.2 小议冒烟测试 190
8.2.3 版本发布的信息传递 192
8.3 回归测试 194
8.3.1 确定回归内容 194
8.3.2 基于用例的回归测试方法 194
8.3.3 基于Bug的回归测试方法 198
8.4 交叉测试 199
8.4.1 交叉测试的特点 200
8.4.2 交叉测试模式 202
8.4.3 交叉测试后的进一步思考 205
第9章 测试输出管理设计 206
9.1 Bug管理 206
9.1.1 “Bug单”的故事 208
9.1.2 Bug管理工具的选择 209
9.1.3 Bug生命周期设计 210
9.1.4 约束的力量——Bug管理规范 214
9.1.5 Bug库的应用杂谈 219
9.1.6 处理不可重现的Bug 222
9.2 用例管理 224
9.2.1 用例管理工具选择 224
9.2.2 用例结构与元素的设计 227
9.2.3 用例维护的设计 231
9.3 测试文档模板设计 232
9.3.1 测试计划模板设计 234
9.3.2 测试方案模板设计 235
9.3.3 测试报告模板设计 236
9.4 测试总结管理设计 239
9.4.1 写总结的好处 239
9.4.2 测试工作日志 240
9.5 测试知识库设计 242
9.5.1 沉淀测试知识库 242
9.5.2 测试知识库的管理 243
9.5.3 学以致用打折吗 245
第10章 控制测试过程的实用方法 246
10.1 把握测试工作启动的起点 246
10.1.1 测试人员何时投入项目合适 246
10.1.2 项目测试启动会 249
10.2 测试设计的评审 251
10.2.1 三级评审机制 252
10.2.2 自审检查单的诞生 253
10.2.3 设计检查单——提高设计质量的有效工具 254
10.3 测试版本的控制 256
10.3.1 版本发布众生相 257
10.3.2 版本接收/停止测试准则 258
10.3.3 测试与版本号 260
10.4 测试配置管理 261
10.4.1 测试也需“电子眼” 261
10.4.2 测试配置的构建与应用 262
10.5 漏测分析:测试流程改进的助推器 264
10.5.1 漏测的定义与漏测分析的意义 264
10.5.2 漏测问题收集 266
10.5.3 漏测分析计划 267
10.5.4 漏测分析实施 267
10.5.5 漏测措施执行跟踪 268
第11章 软件质量与测试的故事 270
11.1 软件质量与测试的几个故事 270
11.2 软件质量模型到底是什么 272
11.2.1 软件质量的标准定义 272
11.2.2 测试人员谈软件质量 273
11.2.3 软件质量模型——工程实践式解读 274
11.2.4 对质量模型的进一步思考 281
11.3 测试的宗旨 283
第12章 测试模式的设计 285
12.1 了解测试模式设计 285
12.2 基于用户环的测试模式 286
12.2.1 识别用户 286
12.2.2 案例1:生产出来的机器开机失败 287
12.2.3 案例2:参展机真的累了吗 288
12.2.4 案例3:我们真的了解用户吗 289
12.2.5 案例4:用服的抱怨 290
12.3 基于流程的测试模式 291
12.3.1 案例1:软件没有任何更改却不正常了 292
12.3.2 案例2:伤不起,自动构建惹的祸 293
12.4 测试设计与测试执行人员分开模式 294
12.4.1 案例1:测试时间变长了 295
12.4.2 案例2:招聘实习生执行用例 296
12.5 优秀测试团队的组合模式 300
12.5.1 案例1:测试工作量评估 300
12.5.2 案例2:测试需求实现的故事 302
12.5.3 案例3:两个阿慢的故事 304
第13章 追逐软测之理念 307
13.1 开拓测试管理新思维:测试环境创新 308
13.2 畅想:测试团队的发展之路 310
13.2.1 散兵游勇年代 311
13.2.2 测试游击队 312
13.2.3 测试部落 314
13.2.4 测试事业部 317
13.3 测试设计理念至上 318
13.4 挑战测试新技术 320
13.5 测试是不可或缺的“一条腿” 322
13.6 通向“罗马”的测试之路 323
13.6.1 识别自己——英雄不问出处 324
13.6.2 选择一条适合自己的测试康庄大道 325
附录A 专业名词解释 330
附录B 参考书目和资源 335
精彩节摘
再版序
《软测之魂》于2011年2月首次出版,当初由于在书名上并未体现“软件测试”这个关键字,而是采用了在工作中常见的比较口语化的“软测”,曾非常担心对市场的影响,及读者是否能接受。然而,面市的这一年多时间里,收到众多读者的书评,如京东网(http://www.360buy.com/)、当当网(http://www.dangdang.com/)、中国互动出版网(http://product.china-pub.com),或邮件反馈及微博上的互动,甚至还有一些读者把读后感贴在网上相互分享。最让我感动的是某著名通信公司南京分公司的一位测试经理,就书中的很多细节问题与我交流,说他们正在以《软测之魂》为材料,组织公司全体测试人员在一起学习、交流等。对于读者的来信或微信,我基本是必复的。或许正因为业界朋友的厚爱,一年后,收到了出版社可以再版此书的消息,心中自是高兴。一方面觉得终于有机会可以纠正原书中的疏漏;另一方面,也可以说更重要的是,上一版在近一年的销售过程中,收到来自全国各地不少读者的反馈、建议,使我感受到测试界朋友们的热情。测试工作岗位已遍及大江南北,前几年只出现在一线、二线城市,而目前三线或发展中的边沿城市也有软件测试的岗位。也正是他们的热情,及将本书内容在自身工作中的应用,推动着我不断学习与思考,改正存在的问题,并把他们反馈给我的意见或建议落实下来,最终产生了《软测之魂》的第2版。
第2版的修改内容主要如下。
(1)新增两章内容,分别是:第11章“软件质量与测试的故事”和第12章“测试模式的设计”。
(2)由于新增两章内容,为保证内容的有序衔接,原第12章“追逐软测之理念”改为第2版的第13章。
(3)为方便读者在阅读时迅速抓住重点,对书中各章节重要的句子进行突出显示(粗体)。
(4)纠正第1版中存在的错漏。
肖利琼
2012年12月
推荐序
肖老师在深圳工作,我在合肥工作,我们相距很远,但因为同行而认识。更准确地说,是因为我写的《全程软件测试》,这本书成了我们相互认识的纽带。2008年4月,肖老师买了这本书,就书中的问题和我交流,逐渐我们熟悉了,成为朋友。所以,当她开始写本书的时候,自然想到了我,我也很高兴地接受了邀请,为她的新书写序。
肖老师在测试领域工作的时间比我还早三年,到如今已经在测试领域辛勤耕耘了13年,可以说是国内软件测试的老前辈,见证了国内软件测试从无到有、从小作坊到专业化的测试发展过程,自己也成长为一位资深的测试工程师、测试经理。她的确热爱软件测试,不仅在测试领域一干就是十几年,而且时时刻刻想着这个行业,参加各种软件测试论坛和其他活动,总想为这个行业做点什么。为此,肖老师三年前就开始策划写一本软件测试实践方面的书,将自己的经验拿出来和大家分享。
人们经常说,软件测试工作中测试用例设计最能体现测试工程师的水平。如果测试人员对需求理解不够,设计的测试用例可能就不对,所设计的测试用例覆盖面就不全;如果测试人员对产品技术实现不能把握,就不能设计出有针对性的、高效的测试用例;如果测试人员对测试方法和技术掌握不深,就不知从哪里下手来设计测试用例。做好测试设计工作,测试执行的工作就相对容易了。只有正确地、全面地设计好测试用例,才能保证测试的执行正确、有效和完整,最终保证发布的产品达到所要求的质量。测试计划、测试执行等固然重要,但测试设计是测试工作的核心。本书正是围绕测试设计来展开讨论的,但又不局限于测试用例的设计,从测试管理设计、流程设计、测试组织结构设计,到测试架构设计、测试方案设计、测试执行设计和测试输出设计等,让设计无处不在,为我们展现了测试的美妙境界。
本书是作者十几年测试工作的结晶,从书中很多的实例可以见证。在每一节,差不多都会有一个实例,这不仅让我们的阅读更轻松,而且更容易理解作者所要阐述的实践方法或解决问题的思路。本书语言通俗易懂,希望读者在阅读中获得快乐和知识。
最后,相信读者通过阅读本书受益多多,并能像作者一样,更加热爱测试工作,在测试领域一干就是10年、20年,将我国测试水平带向另一个辉煌的未来。
朱少民
资深QA总监
思科-网迅(中国)软件有限公司
作者简介
肖利琼,生于广东平远,毕业于西安电子科技大学计算机技术专业,在软件测试领域工作10余年,热爱测试。擅长嵌入式软件的测试设计,流程控制与过程管理。曾在台资、港资、民企作为测试负责人带领团队进行测试工作。现作为资深测试工程师、测试技术经理就职于深圳迈瑞血球研发中心。
媒体评论
我用了一天时间把本书读了一遍,在印象中已出版的测试类书籍很少有专门讲测试设计的。本书吸引我的就是作者新颖的设计方法和浅显易懂的讲解,每个原理都是娓娓道来,读的过程是非常舒服的,宛如看到作者的良苦用心,也看到了作者非常深厚的测试设计经验和丰富实践,读完后很有体会和感触,也有很大的收获。测试设计作为软件测试中最主要和关键的一个工作环节直接决定了后期测试质量的结果,相信本书对测试爱好者的测试技能提高会有非常大的帮助,推荐广大测试爱好者也来仔细阅读学习。
——腾讯公司互联网测试部 助理总经理、质量管理通道分会会长吴凯华
本书作者是用心感悟的软件系统测试专家,在十多年的测试实践中深刻认识和理解了软件测试的过程,并总结出指导测试过程的最佳实践方法。对于很多测试工程师来说,它是一本实用的软件测试书籍,通过生动的实例使初学者更容易理解。此书对于理解软件测试方法和过程很有帮助。
——深圳迈瑞生物医疗电子股份有限公司 超声软件部测试经理袁娟
测试设计是软件测试活动的创造性工作,是提高测试执行的有效性和效率的技术保证。随着我国软件测试行业的发展,软件测试方面的书籍不断丰富,但是专注于软件测试设计技术的书却凤毛麟角,本书的出版可以填补这方面的空白。本书全面论述测试设计的各个环节,以及相应的设计技术,理论与实践相结合,辅以典型测试案例分析。无论您是软件测试架构师、测试工程师,还是测试经理、项目经理,都能从书中得到有益的收获。
——北京昱达环球科技有限公司培训总监 CSTQB资深专家 崔启亮
测试设计是我们测试者的作战思想,与测试工具一起影响着测试工作的质量。在测试工具和自动化测试书籍占主流的环境下,这样一本专门描述测试设计的书籍,可以很好地帮助广大测试人员获得测试设计领域的知识和经验。本书通过翔实的实战案例阐述了所谈到的测试设计技术,有利于读者轻松理解书中所分享的测试设计思想和方法,且容易运用于自己的实践中。如果你是一位测试经理,本书内的测试管理类经验能让你少走一些弯路,走在正确的路上;如果你是一位测试工程师,本书中的实践经历能让你拓展测试视野,使测试专业能力获得新的提升!
——《软件测试精要》作者 董杰
本书内容翔实,论述充分,旁征博引,深入浅出,无论是初入测试行业的新人,还是经验丰富的资深测试人员,都能从中获益。
——软件测试类书籍作者 蔡为东
本书是作者多年软件测试行业工作经验的总结,比较系统、全面地揭示了软件测试的本质、软件测试工作的全过程,不失为一本能引领测试人员真正进入测试领域、正确开展测试工作的好书。
——TIB自动化测试工作室(http://www.cnblogs.com/testware)陈能技
前言
早在1997年,像很多测试行业的朋友一样,在还不清楚软件测试是做什么时,稀里糊涂地走上了软件测试这个岗位。回首过去,从没想到测试会成为一个行业,也没想到在自己的职业生涯中能坚持这么长时间一直从事这个工作。说来也是很幸运的,能有机会见证这个行业在某些方面的点滴变化,如测试专业书籍的变化,从原来没有专业书到现在琳琅满目。同时也被这个行业中的不少人和事感动着,如近几年涌现了一批批国内的测试专家,他们奉献着自己的实践经验,无论是通过出版专业书籍,还是在网上建立个人博客,无不洋溢着对测试事业的热爱。同时,近几年,伴随着国内软件信息产业的快速发展,出现了一批从事软件测试服务业的公司或培训机构,使得测试行业从悄然形成,到如今让人感到到处都是一片朝气蓬勃,前景无限美好的朝阳景象。
深圳有一个关山月美术馆,周末常与家人或朋友去看画展,展出的画有国画大师关山月本人的,也有国内外其他画家的。每次看完画展回来,都有一番感触。软件测试也是门艺术,一门很美的艺术,只是它的表现手法是以Bug来展现的。早在25年前,美国软件测试大师G. J. Myers在其经典著作《软件测试的艺术》就提到这一点。有感于国内测试领域在近几年的发展,以及目前存在的一些浮躁气氛、认识的误区,作为在测试江湖中摸爬滚打了十多年的自己,是否也可做点什么,如把这些年的经验总结、心得体会写出来与读者分享,让后来者少走些弯路,岂不是一件好事?
有了想法,要把想法变为现实,并非易事。一开始,想得很简单,以为积累了足够的素材,然后把这些素材整理一下即可成书。由于平时看的专业书多为教科书类,这种书有一个显著特点就是概念多,理论味道太浓,与工程实践有一段距离,常读着读着会让人打瞌睡。但相反,故事情节跌宕起伏的小说类读物却常使我们挑灯夜战不知所累。于是就书的表现风格上想有一个区别于常规的打破,然后在接下来的样章中便用小说式的风格讲述关于软件测试的概念、测试的设计理念等。但这样一来,测试技术最核心的严谨性又得不到体现,后来在与编辑的反复商榷后,改为始终以读者为中心。通过生动的实际案例,结合易读易记的图表来展示书的风格,使读者能在轻松阅读的同时,又不失掌握技术的严谨性。
当书的大纲、样章确定后,开始了长时间的写作之路。就像我们平时在公司做项目一样,起初我制订了一个漂亮的写作计划,然而不到两周的时间,进度与计划就相背离了,后来越差越远。这其中,与公司工作忙,每天能挤出进行业余写作的时间很有限(或者没有)有关。有时确实是太累了,不仅是体力,还有时感到心有余而力不足,比如1小时原计划写1000字左右,却往往是两小时过去了才理出个头绪。从开始积累写作素材到写作完成花了近3年的时间,个人感觉是挺长的。也曾多次想打退堂鼓,但已与出版社签了合同,到期要交稿,诚信是很重要的,有了压力,也就有了动力。记得在写作的中途,正值到武汉进行校园招聘,只好带着稿件每有空时就接着写。整个写作过程发生的事还有很多,挫折也好,失败也罢,都是一场难得的历练。通过写这本书,让我有机会学习了很多新知识,总结的过程中也让我不断思考,测试是一门很深的学问,要做得精透,要走的路还很长。
下面对全书的章节进行简要地介绍,以能帮助读者导读。
全书以测试设计为核心,围绕测试设计的一个过程进行展开。
全书共分为13章
第1章 朝阳中的软件测试
本章将以对软测行业有特别影响的专业书籍及网络资源的变化为背景,介绍十多年来测试行业的快速发展,软测工作是做什么的,其核心又是什么?随着信息产业的蓬勃发展,如今软件已渗透到我们工作、生活的方方面面,软件到处都是,它不可能完美无缺,Bug无处不在。由软件漏洞或缺陷而引发的事故经常发生,软件测试这个把握软件质量最后一个关卡的活动日益受到业界重视,测试行业由此也风生水起,已展现出朝阳行业的端倪。如何把握测试工作,在测试行业中赢得一席之地,本章后两节分享了如何把握各阶层测试工作的一些见解,同时也浓缩式地介绍了测试基础知识的精华,以期对初学者能指点迷津
第2章 找Bug的核心思维与境界
通过找Bug来推动软件质量的提高,是软件测试最基本的目的,围绕着Bug,本章首先介绍了逆向思维与发散思维在找Bug中发挥的价值。接着介绍了测试的三重境界,对不同境界的理解会有不同的行为结果。第一重境界:围着Bug转。通过发现Bug,协助开发人员分析问题,定位问题,最后解决了Bug,才能对质量有实质的贡献。第二重境界:站在Bug之上。我们完全可以跳出测试软件的小圈子,拓宽测试的视野。测试的价值不仅仅是发现Bug,它服务于整个产品的开发链,项目的成功,可以带来测试的成功。第三重境界:挑战零缺陷。Bug是设计出来的,它从来不会自生自灭。追求零缺陷,以预防为主,事后的测试验证为辅,主动推动设计尽量一次做好,这是测试的最高境界。通过测试三重境界的介绍,读者可以对测试的价值有更全面、更合理的理解与认识
第3章 测试设计景观
本章先对设计与测试设计的名称进行了咬文嚼字式的剖析,希望能更好地帮助读者理解测试设计的本质含意。接着分别以测试组织模式的管理设计、测试流程的设计、测试技术的应用设计为纲,结合案例讲述如何应用测试,体现测试设计是怎么一回事,它对测试工作有哪些重要影响。通过本章的介绍,希望能帮助读者理解为什么说“测试设计是一个过程”的核心理念。
第4章 测试架构的设计
本章从思索测试架构开始,探讨了测试架构是什么,包含哪些方面的内容,接着就测试人员最为关心的话题——测试职业发展路线的设计进行了剖析,让不同相关测试领域的读者能找到自已的位置、努力的方向。本章在接下来提出了一种架构设计模型,然后围绕此模型,对处于模型中底层的“测试框架”这个抽象概念结合日常生活中大家熟悉的相框为例进行讲述,最后对框架应包括的内容及其设计方法进行了介绍
第5章 测试需求分析与测试策略制定
本章从测试需求的介绍开始,与读者分享如何超越于需求文档之外,收集更多、更全面的需求,然后如何分析这些需求,特别是一些隐含需求的识别,从而提取方向性的顶层测试对象。接着为提取到的测试对象部署测试策略,重点介绍了各种测试技术的裁剪与合理应用方法,主要以黑盒功能测试为主,适当采用白盒测试,灵活运用灰盒测试,部分功能或模块采用自动化测试。同时要着眼于专项测试,以突破某特性的测试模式,以在项目软件质量的可靠性与稳定性方面带来更多的贡献。测试的计划与整个测试过程的跟踪与控制方法也是策略中需考虑的主要内容之一,本章也进行了介绍。最后就测试策略中需考虑但容易被忽略的其他因素进行了一番介绍
第6章 聚焦测试方案的设计
本章首先回顾业界对测试方案设计的不同看法与做法,通过经历的事例,提出测试方案设计的重要性。接着给出最佳实践中提取出来的多种测试对象分析方法,包括三层架构模式分析法、多叉树节点分析法、业务状态变迁分析法、代码更改追溯分析法。对每一种方法,先进行原理上的讲解,然后结合案例,与读者分享在具体的工作实践中应该如何应用
第7章 话说用例的设计
本章首先以一个漏测的质量事故为例,阐明用例设计的重要性与意义,然后对开发流程不规范时,没有需求与设计文档等依据的情况下,如何设计用例提出一些解决方法,希望对陷于此种困境的测试朋友有一些帮助。接下来提出了几个行之有效的用例设计方法,并结合案例讲述如何应用,想提高设计高效用例方法的朋友能从中找到想要的内容。有了用例设计的方法,还要具备对用例的正确认识,包括对有效、无效用例的正确认识,以及用例给我们带来的价值。用例是测试人员心中的世界,如同代码是开发人员的魂魄。用例的复用、重构是值得我们思考的事情,也将在本章与读者一起分享。最后,介绍了用例的设计规范,作为本章的结束
第8章 测试执行流程设计
测试方案与用例的设计是属于纯测试技术上的设计,但对于整个项目的测试过程,光有技术还不够,需配以合适的测试流程,策划什么时候做什么事,达到什么要求。好的策划可以对项目的测试起到事半功倍的作用。本章重点讲解测试流程的设计,结合案例,对每个阶段设计的测试环节及其具体的应用进行了介绍
第9章 测试输出管理设计
本章以测试的输出为核心,介绍如何以有效的方式管理测试输出,充分利用测试输出的价值,改进测试流程,以期提高软件测试的质量。本章结合案例,介绍了解决措施及改进测试过程的方法
第10章 控制测试过程的实用方法
前面章节内容讲述了测试过程中各环节如何做,以及做出来的东西如何管理,涉及了测试设计的方法、测试执行流程的设计、不同类别测试输出工件的管理。方法、流程与管理形成了一条有序完美的测试链路,然而,链路上环环相扣的各测试节点是否与我们的预期扣紧呢?毕竟,只有过程中各节点的质量得到了保证,测试链路的末端才能画上圆满的句号。本章就如何控制测试过程各节点的方法结合案例进行介绍
第11章 软件质量与测试的故事
本章主要围绕软件产品在生命周期各环节的测试设计而展开的阐述。本章是站在这条线的更高层面,系统性地思考质量与测试的关系,包括测试人员是如何看软件质量的,标准化的软件质量模型中质量属性有哪些,它们与测试有什么关系,测试的宗旨又是什么等
第12章 测试模式的设计
本章阐述测试模式的设计问题,如何通过测试模式的变化改进测试过程,最终把软件质量这堵墙垒得更高、更结实。测试模式的设计不局限于与技术相关的测试模式,与流程管理、人员匹配的管理、心理学等密切相关
第13章 追逐软测之理念
本章就测试朋友们工作或发展方向的一些重要理念,包括测试创新、测试设计理念至上、挑战测试新技术、测试之路等与读者一起交流与分享
本书最后附有常见的测试方法和类型解释。
参与本书编写的有肖利琼、张滔清、陆素珍、马雪、贾瑞侠、郑德财、李立想、陈东勇、黄媛辉、王婷。由于作者水平和时间有限,书中难免会存在一些问题或错误,欢迎读者及各界同仁指正,并与作者联系:[email protected]。
提笔写此致谢辞时,思前想后,久久不能下笔,好似有千言万语,可又不知从何说起。
首先,非常感激在整个写作过程中对我鼎力支持的第一读者——我的家人。由于是业余写作,公司的项目任务紧张,加班是常事,能自由支配的时间非常有限,常常不能按计划完成写作进度。在我焦头烂额之时,是他们不断地鼓励我、支持我,经过一次次的心理挑战,终于完成了自己的心愿。
其次是我刚开始联系出版社时,由于方法问题屡遭闭门羹,是蔡为东老师伸出了热情的援助之手,正是由于他的指引,使我很快找到了合作伙伴——电子工业出版社的张春雨编辑。在此表示衷心的感谢!
近一年的写作过程已过去,由于是初次写大块头的书,张编辑在我的整个写作过程中没少花时间与心思进行指导,在此为我的一些失误或不足表示歉意,但更多的是感谢他一贯的支持与严格的要求。另外,在成书后自审阶段,很幸运地得到了朱少民老师的指点,使书的质量有了进一步的提高,在此表示衷心的感谢。
还有我的好朋友Lucy,她是我的第一个专业技术读者,给了我不少有意义的反馈,尽管她已移民加拿大,但一直都在挂念着此书的进展,感谢她的大力支持。
也因为写书,使我有一段时间几乎忽略了女儿,这让我心里很内疚。四年级是一个重要的转型期,一直都很担心她缺少我本应该的辅导成绩会下降,意外的是最后她反而进步了。女儿的日渐成长,让我备感欣慰,当然这仍离不开家人的关心、爱护与教导。
最后,谨以本书作为最珍贵的礼物献给一直在背后默默支持我的亲友和同行们。
肖利琼
7月于深圳