软件测试经验与教训

Cem Kaner,James Bach

文学

软件测试 测试 软件测试经验与教训 软件工程 Test 计算机 测试经验 看来不错

2004-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:测试经理管理的是提供测试服务 的子项目,不是开发项目 131 经验161:所有项目都会演变。管理良好的 项目能够很好地演变 131 经验162:总会有很晚的变更 132 经验163:项目涉及功能、可靠性、时间和 资金之间的折衷 132 经验164:让项目经理选择项目生命周期 133 经验165:瀑布生命周期把可靠性与时间 对立起来 134 经验166:进化生命周期把功能与时间 对立起来 135 经验167:愿意在开发初期将资源分配 给项目团队 135 经验168:合同驱动的开发不同于寻求 市场的开发 136 经验169:要求可测试性功能 137 经验170:协商版本开发进度计划 137 经验171:了解程序员在交付版本之前会 做什么(以及不会做什么) 138 经验172:为被测版本做好准备 138 经验173:有时测试员应该拒绝测试 某个版本 138 经验174:使用冒烟测试检验版本 139 经验175:有时正确的决策是停止测试, 暂停改错,并重新设计软件 139 经验176:根据实际使用的开发实践调整 自己的测试过程 140 经验177:“项目文档是一种有趣的幻想: 有用,但永远不足” 141 经验178:测试员除非要用,否则 不要索要 141 经验179:充分利用其他信息源 141 经验180:向项目经理指出配置管理问题 142 经验181:程序员就像龙卷风 143 经验182:好的测试计划便于后期变更 144 经验183:只要交付工作制品,就会 出现测试机会 145 经验184:做多少测试才算够?这方面还 没有通用的计算公式 145 经验185:“足够测试”意味着“有足够的 信息可供客户做出好决策” 145 经验186:不要只为两轮测试做出预算 146 经验187:为一组任务确定进度计划,估计 每个任务所需的时间 146 经验188:承担工作的人应该告诉测试经理 完成该任务需要多长时间 147 经验189:在测试员与开发人员之间没有 正确的比例 148 经验190:调整任务和不能胜任的人员 148 经验191:轮换测试员的测试对象 149 经验192:尽量成对测试 149 经验193:为项目指派一位问题查找高手 150 经验194:确定测试的阶段计划,特别是 探索式测试的阶段计划 150 经验195:分阶段测试 151 经验196:通过活动日志来反映对测试员 工作的干扰 151 经验197:定期状态报告是一种强 有力的工具 152 经验198:再也没有比副总裁掌握统计 数据更危险的了 153 经验199:要小心通过程序错误数度量 项目进展 154 经验200:使用的覆盖率度量越独立, 了解的信息越多 154 经验201:利用综合计分牌产生考虑 多个因素的状态报告 155 经验202:以下是周状态报告的推荐 结构 156 经验203:项目进展表是另一种展示 状态的有用方法 157 经验204:如果里程碑定义得很好, 里程碑报告很有用 158 经验205:不要签署批准产品的发布 159 经验206:不要签字承认产品经过测试 达到测试经理的满意程度 159 经验207:如果测试经理要编写产品发布 报告,应描述测试工作和结果, 而不是自己对该产品的看法 159 经验208:在产品最终发布报告中列出 没有排除的程序错误 159 经验209:有用的发布报告应列出批评者 可能指出的10个最糟糕的问题 160 第9章 测试小组的管理 161 经验210:平庸是一种保守期望 161 经验211:要把自己的员工当作执行经理 162 经验212:阅读自己员工完成的错误报告 163 经验213:像评估执行经理那样评估 测试员 163 经验214:如果测试经理确实想知道实际 情况,可与员工一起测试 164 经验215:不要指望别人能够高效处理 多个项目 165 经验216:积累自己员工的专业领域知识 165 经验217:积累自己员工相关技术方面的 专门知识 166 经验218:积极提高技能 166 经验219:浏览技术支持日志 166 经验220:帮助新测试员获得成功 167 经验221:让新测试员对照软件核对文档 167 经验222:通过正面测试使新测试员 熟悉产品 167 经验223:让测试新手在编写新错误报告 之前,先改写老的错误报告 168 经验224:让新测试员在测试新程序错误 之前,先重新测试老程序错误 168 经验225:不要派测试新手参加几乎完成 的项目 169 经验226:员工的士气是一种重要资产 169 经验227:测试经理不要让自己被滥用 170 经验228:不要随意让员工加班 171 经验229:不要让员工被滥用 172 经验230:创造培训机会 172 经验231:录用决策是最重要的决策 173 经验232:在招募期间利用承包人争 取回旋余地 173 经验233:谨慎把其他小组拒绝的人 吸收到测试小组中 173 经验234:对测试小组需要承担的任务, 以及完成这些任务所需的技能 做出规划 174 经验235:测试团队成员要有不同背景 174 经验236:录用其他渠道的应聘者 175 经验237:根据大家意见决定录用 175 经验238:录用热爱自己工作的人 175 经验239:录用正直的人 176 经验240:在面谈时,让应聘者展示期望 有的技能 176 经验241:在面谈时,请应聘者通过非正 式能力测验展示其在工作中 能够运用的技能 176 经验242:在录用时,要求应聘者提供 工作样本 177 经验243:一旦拿定主意就迅速录用 177 经验244:要将录用承诺形成文字, 并遵守诺言 177 第10章 软件测试职业发展 179 经验245:确定职业发展方向并不懈努力 179 经验246:测试员的收入可以超过程序员 的收入 181 经验247:可大胆改变职业发展方向 并追求其他目标 181 经验248:不管选择走哪条路,都要 积极追求 182 经验249:超出软件测试拓展自己的 职业发展方向 182 经验250:超出公司拓展自己的 职业发展方向 183 经验251:参加会议是为了讨论 183 经验252:很多公司的问题并不比本公司 的问题少 184 经验253:如果不喜欢自己的公司,就再 找一份不同的工作 184 经验254:为寻找新工作做好准备 184 经验255:积累并维护希望加入的公司 的名单 185 经验256:积累材料 185 经验257:把简历当作推销工具 186 经验258:找一位内部推荐人 187 经验259:搜集薪金数据 187 经验260:如果是根据招聘广告应聘, 应根据广告要求调整自己 的申请 187 经验261:充分利用面谈机会 187 经验262:了解准备应聘的招聘公司 188 经验263:在应聘时询问问题 188 经验264:就自己的工作岗位进行谈判 190 经验265:留意人力资源部 191 经验266:学习perl语言 191 经验267:学习java或c++ 192 经验268:下载测试工具的演示版 并试运行 192 经验269:提高自己的写作技巧 192 经验270:提高自己的公众讲话技巧 193 经验271:考虑通过认证 193 经验272:不要幻想只需两个星期就能够 得到黑带柔道段位 194 经验273:有关软件工程师认可制度的 警告 194 第11章 计划测试策略 199 经验274:有关测试策略要问的三个基本问题 是“为什么担心?”、“谁关心?”、 “测试多少?” 199 经验275:有很多种可能的测试策略 199 经验276:实际测试计划是指导测试过程 的一套想法 200 经验277:所设计的测试计划要符合 自己的具体情况 201 经验278:利用测试计划描述在测试策略、 保障条件和工作产品上所做的 选择 202 经验279:不要让保障条件和工作产品 影响实现测试策略 202 经验280:如何利用测试用例 202 经验281:测试策略要比测试用例重要 203 经验282:测试策略要解释测试 203 经验283:运用多样化的折衷手段 204 经验284:充分利用强有力测试策略的 原始材料 204 经验285:项目的初始测试策略总是错的 205 经验286:在项目的每个阶段,可自问 “我现在可以测试什么,能够 怎样测试”? 205 经验287:根据产品的成熟度确定 测试策略 206 经验288:利用测试分级简化测试 复杂性的讨论 207 经验289:测试灰盒 208 经验290:在重新利用测试材料时, 不要迷信以前的东西 208 经验291:两个测试员测试同样的内容 也许并不是重复劳动 209 经验292:设计测试策略时既要考虑产品 风险,也要考虑产品要素 209 经验293:把测试周期看作是测试 过程的韵律 210 附录:软件测试的语境驱动方法 221 参考文献 225
【展开】
内容简介
本书汇总了293条来自软件测试界顶尖专家的经验与建议,阐述了如何做好测试工作、如何管理测试,以及如何澄清有关软件测试的常见误解,读者可直接将这些建议用于自己的测试项目工作中。这些经验中的每一条都是与软件测试有关的一个观点,观点后面是针对运用该测试经验的方法、时机和原因的解释或例子。 本书还提供了有关如何将本书提供的经验有选择性地运用到读者实际项目环境中的建议,在所有关键问题上所积累的经验,以及基于多年的测试经验总结出的有用实践和问题评估方法。 优秀的软件测试团队不是天生的,而是造就的,是通过大量艰苦工作和有效沟通造就的。在这个过程中,有很多陷阱,这些陷阱会使精心制订的计划出现偏差,使项目不能按进度完成。 本书的三位作者具有多年的测试经验,知道成功的测试都需要什么。在这本革命性的新书中,他们汇总了293条测试经验建议,阐述了如何做好测试工作,如何管理测试,以及如何澄清有关软件测试的常见误解。读者可直接将这些经验用于自己的测试工作中。这些经验中的每一条都是与软件测试有关的一个观点,后面是对运用这条经验的方法、时机和原因的解释或例子。 为了满足不同层次的软件测试员、开发人员和管理人员的需要,本书还提供以下内容: ◆ 根据世界顶级软件测试专家多年的测试经验总结出的有用实践和问题评估方法。 ◆ 在所有关键问题上积累的经验,包括测试设计、测试自动化、测试管理、测试策略和错误报告。 ◆ 如何将本书提供的经验有选择性地运用到实际项目环境中的建议。
【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接
热门评论
  • iamlile的评论
    经典老书《软件测试经验与教训》说的不无道理:首先测试变更部分、首先测试核心功能、首先测试能力、首先测试常见情况、首先测试常见威胁、首先测试影响大的问题、首先测试最需要的部分!
  • ilaotu的评论
    我们不认为通过接管项目,或者告诉PM该怎么样管理项目,就能够取得理想的测试结果,不认为通过强迫程序员,或通过奉承他们,就能够取得理想的测试效果,不认为通过填写数以千计的小卡片,或者通过没有必要的流程上浪费其他所有人的时间,就能够干好测试工作.摘自软件测试经验与教训.
  • 史亮SL的评论
    Rapid Software Testing 精要(1)网页链接 测试专家Eric Jacobson摘录一些 Rapid Software Testing 培训(由James Bach和Michael Bolton主持)的要点。读上去很神似《软件测试的经验与教训》的目录,都是很睿智的简短论述,却信息量极大。
  • 土司阿哈的评论
    新买了一本书#软件测试经验与教训#
  • v利v的评论
    我刚在@微盘 发现了一个很不错的文件"软件测试经验与教训.pdf",推荐你也来看看!网页链接
  • CAA-libin的评论
    好书推荐:《软件测试经验与教训》作者:Cem Kaner、Jame Bach、Bret Pettichord,韩柯等译。本书共汇总了293条来自软件测试界顶尖专家的经验与建议,阐述了如何做好测试工作、如何管理测试,以及如何澄清有关软件测试的常见误解,读者可直接将这些经验与建议用于自己的测试项目工作中
  • 修伦ln的评论
    软件测试:经验与教训 - zhangren07的专栏 - 博客频道 - CSDN.NET 网页链接
  • DungCache的评论
    在读《软件测试经验与教训》 “测试技术和测试管理方面的书籍,其实更偏管理吧。。” 网页链接
  • 微博QA的评论
    向大家推荐一本书《软件测试经验与教训》 网页链接 ,是我见过的最好的测试书了,细细品之,受益良多~
  • 史亮SL的评论
    《软件测试经验与教训》:“跑表是一个优秀测试工具的例子。度量系统的响应时间是一种重要的测试活动。跑表易于使用、灵活、准确。有些测试员和程序员可能认为,调用系统时钟的自动化方法应该更好,但是跑表常常是黑盒时间度量的最佳选择。我们建议测试员准备一只。”