创作者融合自身丰富多彩的软件测试试验工作经验,胆大地对软件测试界许多人很多年来国家主义的说白了实践活动、重要主题活动、乃至国家标准开展了刻骨铭心的思考,令人信服地明确提出了自身的见解,对某些至关重要的问题干了社会学思索,內容涉及到与软件测试相关的各个领域,很合适有必须具体工作经验的软件测试、项目风险管理、开发软件、中国科学技术大学等层面的工程项目专业技术人员阅读文章。这书归纳了293条来源于软件测试界*权威专家的工作经验与提议,论述了怎样搞好检测工作中、怎么管理检测,及其怎样回应相关软件测试的普遍误会,用户可立即将这种提议用以自身的测试报告工作上。这种工作经验中的每这条全是与软件测试相关的1个见解,见解后边是对于应用该检测工作经验的方式 、机会和缘故的表述或事例。 这书还出示了相关如何把这书出示的工作经验有可选择性地应用到用户具体新项目自然环境中的提议,在全部至关重要的问题上所积淀的工作经验,及其应用场景很多年的检测经验交流出的有效实践活动和难题评价方法。 出色的软件测试精英团队并不是先天性的,只是铸就的,是根据很多艰难工作中和有效的沟通铸就的。在这一全过程中,有许多圈套,这种圈套会使用心制定的方案出現误差,使新项目不可以按进展进行。 这书的3位创作者具备很多年的检测工作经验,了解取得成功的检测都必须哪些。在这部颠覆性的新小说中,她们归纳了293条检测工作经验提议,论述了怎样搞好检测工作中,怎么管理检测,及其怎样回应相关软件测试的普遍误会。用户可立即将这种工作经验用以自身的检测工作上。这种工作经验中的每这条全是与软件测试相关的1个见解,后边是对应用那条工作经验的方式 、机会和缘故的表述或事例。 为了实现不一样层级的软件测试员、开发者和技术人员的必须,这书还出示以下几点: ◆ 依据全球*软件测试权威专家很多年的检测经验交流出的有效实践活动和难题评价方法。 ◆ 在全部至关重要的问题上积淀的工作经验,包含检测设计构思、检测自动化技术、检测管理方法、检测对策和错误报告。 ◆ 如何把这书出示的工作经验有可选择性地应用到具体新项目自然环境中的提议。
目录
- 译者序
- 序
- 前言
- 致谢
- 第1章 测试员的角色 1
- 经验1:测试员是项目的前灯 1
- 经验2:测试员的使命决定要做
- 的一切 2
- 经验3:测试员为很多客户服务 3
- 经验4:测试员发现的信息会
- “打扰”客户 4
- 经验5:迅速找出重要程序问题 4
- 经验6:跟着程序员走 5
- 经验7:询问一切,但不一定外露 5
- 经验8:测试员关注失效,客户才能
- 关注成功 5
- 经验9:不会发现所有程序问题 6
- 经验10:当心“完备的”测试 6
- 经验11:通过测试不能保证质量 7
- 经验12:永远别做看门人 7
- 经验13:当心测试中的不关我事理论 8
- 经验14:当心成为过程改进小组 8
- 经验15:别指望任何人会理解测试,
- 或理解测试员需要什么条件
- 才能搞好测试 9
- 第2章 按测试员的方式思考 11
- 经验16:测试运用的是认识论 11
- 经验17:研究认识论有助于更好测试 12
- 经验18:认知心理学是测试的基础 12
- 经验19:测试在测试员的头脑中 13
- 经验20:测试需要推断,并不只是
- 做输出与预期结果的比较 14
- 经验21:优秀测试员会进行技术性、创造
- 性、批判性和实用性地思考 14
- 经验22:黑盒测试并不是基于
- 无知的测试 15
- 经验23:测试员不只是游客 15
- 经验24:所有测试都试图回答某些问题 16
- 经验25:所有测试都基于模型 16
- 经验26:直觉是不错的开始,但又是
- 糟糕的结束 16
- 经验27:为了测试,必须探索 17
- 经验28:探索要求大量思索 17
- 经验29:使用诱导推断逻辑发现推测 18
- 经验30:使用猜想与反驳逻辑评估产品 19
- 经验31:需求是重要人物所关心的质量
- 或条件 19
- 经验32:通过会议、推导和参照发现
- 需求 20
- 经验33:既要使用显式规格说明,也要
- 使用隐式规格说明 20
- 经验34:“它没有问题”真正的含义是,
- 它看起来在一定程度上满足
- 部分需求 21
- 经验35:最后,测试员所能得到的只是
- 对产品的印象 22
- 经验36:不要将试验与测试混淆起来 22
- 经验37:当测试复杂产品时:陷入
- 与退出 22
- 经验38:运用试探法快速产生测试思路 23
- 经验39:测试员不能避免偏向,但是可以
- 管理偏向 23
- 经验40:如果自己知道自己不聪明,就更
- 难被愚弄 24
- 经验41:如果遗漏一个问题,检查这种遗漏
- 是意外还是策略的必然结果 25
- 经验42:困惑是一种测试工具 25
- 经验43:清新的眼光会发现失效 26
- 经验44:测试员要避免遵循过程,
- 除非过程先跟随自己 26
- 经验45:在创建测试过程时,避免
- “1287” 26
- 经验46:测试过程的一个重要成果,
- 是更好、更聪明的测试员 27
- 经验47:除非重新发明测试,否则
- 不能精通测试 27
- 第3章 测试手段 29
- 经验48:关注测试员、覆盖率、潜在问题、
- 活动和评估的组合测试手段 30
- 经验49:关注测试员的基于人员的
- 测试手段 31
- 经验50:关注测试内容的基于覆盖率的
- 测试手段 32
- 经验51:关注测试原因(针对风险测试)
- 的基于问题的测试手段 36
- 经验52:关注测试方法的基于活动的
- 测试手段 37
- 经验53:关注测试是否通过的基于评估
- 的测试手段 38
- 经验54:根据自己的看法对测试
- 手段分类 39
- 第4章 程序错误分析 57
- 经验55:文如其人 57
- 经验56:测试员的程序错误分析会推动
- 改正所报告的错误 57
- 经验57:使自己的错误报告成为一种
- 有效的销售工具 58
- 经验58:错误报告代表的是测试员 59
- 经验59:努力使错误报告有更高的
- 价值 59
- 经验60:产品的任何项目相关人员都
- 应该能够报告程序错误 60
- 经验61:引用别人的错误报告时要小心 60
- 经验62:将质量问题作为错误报告 60
- 经验63:有些产品的项目相关人员不能
- 报告程序错误,测试员就是
- 他们的代理 61
- 经验64:将受到影响的项目相关人员的
- 注意力转移到有争议的
- 程序错误上 61
- 经验65:决不要利用程序错误跟踪系统
- 监视程序员的表现 61
- 经验66:决不要利用程序错误跟踪系统
- 监视测试员的表现 62
- 经验67:及时报告缺陷 62
- 经验68:永远不要假设明显的程序错误
- 已经写入报告 62
- 经验69:报告设计错误 63
- 经验70:看似极端的缺陷是潜在的
- 安全漏洞 64
- 经验71:使冷僻用例不冷僻 64
- 经验72:小缺陷也值得报告和修改 65
- 经验73:时刻明确严重等级和优先等级
- 之间的差别 66
- 经验74:失效是错误征兆,不是错误本身 66
- 经验75:针对看起来很小的代码错误
- 执行后续测试 67
- 经验76:永远都要报告不可重现的错误,
- 这样的错误可能是时间炸弹 68
- 经验77:不可重现程序错误是可重现的 68
- 经验78:注意错误报告的处理成本 69
- 经验79:特别处理与工具或环境有关的
- 程序错误 70
- 经验80:在报告原型或早期个人版本的
- 程序错误之前,要先征得同意 71
- 经验81:重复错误报告是能够自我解决
- 的问题 71
- 经验82:每个程序错误都需要单独
- 的报告 72
- 经验83:归纳行是错误报告中最重要
- 的部分 72
- 经验84:不要夸大程序错误 73
- 经验85:清楚地报告问题,但不要试图
- 解决问题 73
- 经验86:注意自己的语气。所批评的每个人
- 都会看到报告 74
- 经验87:使自己的报告具有可读性,即使
- 对象是劳累和暴躁的人 75
- 经验88:提高报告撰写技能 75
- 经验89:如果合适,使用市场开发或技术
- 支持数据 76
- 经验90:相互评审错误报告 76
- 经验91:与将阅读错误报告的
- 程序员见面 76
- 经验92:最好的方法可能是向程序员演示
- 所发现的程序错误 77
- 经验93:当程序员说问题已经解决时,
- 要检查是否真的没有问题了 77
- 经验94:尽快检验程序错误修改 77
- 经验95:如果修改出现问题,应与
- 程序员沟通 78
- 经验96:错误报告应该由测试员封存 78
- 经验97:不要坚持要求修改所有程序
- 错误,要量力而行 78
- 经验98:不要让延迟修改的程序
- 错误消失 79
- 经验99:测试惰性不能成为程序错误
- 修改推迟的原因 79
- 经验100:立即对程序错误延迟
- 决定上诉 80
- 经验101:如果决定据理力争,就一定
- 要赢! 80
- 第5章 测试自动化 81
- 经验102:加快开发过程,而不是试图在
- 测试上省钱 82
- 经验103:拓展测试领域,不要不断重复
- 相同的测试 83
- 经验104:根据自己的背景选择自动化
- 测试策略 84
- 经验105:不要强求100%的自动化 84
- 经验106:测试工具并不是策略 85
- 经验107:不要通过自动化使无序情况
- 更严重 85
- 经验108:不要把手工测试与自动化测试
- 等同起来 86
- 经验109:不要根据测试运行的频率来估
- 计测试的价值 87
- 经验110:自动化的回归测试发现少部分
- 程序错误 87
- 经验111:在自动化测试时考虑什么样的
- 程序错误没有发现 88
- 经验112:差的自动化测试的问题是没有
- 人注意 88
- 经验113:捕获回放失败 90
- 经验114:测试工具也有程序错误 91
- 经验115:用户界面变更 92
- 经验116:根据兼容性、熟悉程度和服务
- 选择GUI测试工具 92
- 经验117:自动回归测试消亡 93
- 经验118:测试自动化是一种软件
- 开发过程 94
- 经验119:测试自动化是一种重要投资 95
- 经验120:测试自动化项目需要程序设计、
- 测试和项目管理方面的技能 95
- 经验121:通过试点验证可行性 96
- 经验122:请测试员和程序员参与测试
- 自动化项目 96
- 经验123:设计自动化测试以推动评审 97
- 经验124:在自动化测试设计上不要
- 吝啬 97
- 经验125:避免在测试脚本中使用
- 复杂逻辑 98
- 经验126:不要只是为了避免重复编码而
- 构建代码库 98
- 经验127:数据驱动的自动化测试更便于
- 运行大量测试变种 98
- 经验128:关键词驱动的自动化测试更便于
- 非程序员创建测试 99
- 经验129:利用自动化手段生成测试输入 100
- 经验130:将测试生成与测试执行分开 101
- 经验131:使用标准脚本语言 101
- 经验132:利用编程接口自动化测试 102
- 经验133:鼓励开发单元测试包 104
- 经验134:小心使用不理解测试的测试
- 自动化设计人员 104
- 经验135:避免使用不尊重测试的测试
- 自动化设计人员 105
- 经验136:可测试性往往是比测试自动化
- 更好的投资 106
- 经验137:可测试性是可视性和控制 106
- 经验138:尽早启动测试自动化 107
- 经验139:为集中式测试自动化小组
- 明确章程 108
- 经验140:测试自动化要立即见效 108
- 经验141:测试员拥有的测试工具会比所
- 意识到的多 109
- 第6章 测试文档 111
- 经验142:为了有效地应用解决方案,
- 需要清楚地理解问题 112
- 经验143:不要使用测试文档模板:除非
- 可以脱离模板,否则模板
- 就没有用 112
- 经验144:使用测试文档模板:模板能够
- 促进一致的沟通 113
- 经验145:使用IEEE标准829作为测试
- 文档 113
- 经验146:不要使用IEEE标准829 114
- 经验147:在决定要构建的产品之前先分析
- 需求,这一点既适用于软件也同
- 样适用于文档 116
- 经验148:为了分析测试文档需求,可采
- 用类似以下给出的问题清单
- 进行调查 117
- 经验149:用简短的语句归纳出核心
- 文档需求 120
- 第7章 与程序员交互 121
- 经验150:理解程序员怎样思考 121
- 经验151:获得程序员的信任 122
- 经验152:提供服务 123
- 经验153:测试员的正直和能力需要尊重 123
- 经验154:将关注点放在产品上,
- 而不是人上 124
- 经验155:程序员喜欢谈论自己的工作。
- 应该问他们问题 125
- 经验156:程序员乐于通过可测试性
- 提供帮助 126
- 第8章 管理测试项目 129
- 经验157:建设一种服务文化 129
- 经验158:不要尝试建立一种控制文化 130
- 经验159:要发挥耳目作用 130
- 经验160:测试经理管理的是提供测试服务
- 的子项目,不