وبلاگ بلیان

Lessons Learned in Software Testing (软件测试经验与教训)

معرفی کتاب «Lessons Learned in Software Testing (软件测试经验与教训)» نوشتهٔ Cem Kaner, James Bach, Bret Pettichord، منتشرشده توسط نشر China Machine Press در سال 2003. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Lessons Learned in Software Testing (软件测试经验与教训)» در دستهٔ بدون دسته‌بندی قرار دارد.

Decades of software testing experience condensed into the most important lessons learned. The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes to do so. The ultimate resource for software testers and developers at every level of expertise, this guidebook features: * Over 200 lessons gleaned from over 30 years of combined testing experience * Tips, tricks, and common pitfalls to avoid by simply reading the book rather than finding out the hard way * Lessons for all key topic areas, including test design, test management, testing strategies, and bug reporting * Explanations and examples of each testing trouble spot help illustrate each lesson's assertion 封面页�......Page 1 书名页�......Page 3 版权页�......Page 4 前言页�......Page 5 目录页�......Page 19 经验1:测试员是项目的前灯�......Page 26 经验2:测试员的使命决定要做的一切�......Page 27 经验3:测试员为很多客户服务�......Page 28 经验5:迅速找出重要程序问题�......Page 29 经验8:测试员关注失效,客户才能关注成功�......Page 30 经验10:当心“完备的”测试�......Page 31 经验12:永远别做看门人�......Page 32 经验14:当心成为过程改进小组�......Page 33 经验15:别指望任何人会理解测试,或理解测试员需要什么条件才能搞好测试�......Page 34 经验16:测试运用的是认识论�......Page 36 经验18:认知心理学是测试的基础�......Page 37 经验19:测试在测试员的头脑中�......Page 38 经验21:优秀测试员会进行技术性、创造性、批判性和实用性地思考�......Page 39 经验23:测试员不只是游客�......Page 40 经验26:直觉是不错的开始,但又是糟糕的结束�......Page 41 经验28:探索要求大量思索�......Page 42 经验29:使用诱导推断逻辑发现推测�......Page 43 经验31:需求是重要人物所关心的质量或条件�......Page 44 经验33:既要使用显式规格说明,也要使用隐式规格说明�......Page 45 经验34:“它没有问题”真正的含义是,它看起来在一定程度上满足部分需求�......Page 46 经验37:当测试复杂产品时:陷入与退出�......Page 47 经验39:测试员不能避免偏向,但是可以管理偏向�......Page 48 经验40:如果自己知道自己不聪明,就更难被愚弄�......Page 49 经验42:困惑是一种测试工具�......Page 50 经验45:在创建测试过程时,避免“1287”�......Page 51 经验47:除非重新发明测试,否则不能精通测试�......Page 52 第3章 测试手段�......Page 54 经验48:关注测试员、覆盖率、潜在问题、活动和评估的组合测试手段�......Page 55 经验49:关注测试员的基于人员的测试手段�......Page 56 经验50:关注测试内容的基于覆盖率的测试手段�......Page 57 经验51:关注测试原因(针对风险测试)的基于问题的测试手段�......Page 61 经验52:关注测试方法的基于活动的测试手段�......Page 62 经验53:关注测试是否通过的基于评估的测试手段�......Page 63 经验54:根据自己的看法对测试手段分类�......Page 64 经验56:测试员的程序错误分析会推动改正所报告的错误�......Page 82 经验57:使自己的错误报告成为一种有效的销售工具�......Page 83 经验59:努力使错误报告有更高的价值�......Page 84 经验62:将质量问题作为错误报告�......Page 85 经验65:决不要利用程序错误跟踪系统监视程序员的表现�......Page 86 经验68:永远不要假设明显的程序错误已经写入报告�......Page 87 经验69:报告设计错误�......Page 88 经验71:使冷僻用例不冷僻�......Page 89 经验72:小缺陷也值得报告和修改�......Page 90 经验74:失效是错误征兆,不是错误本身�......Page 91 经验75:针对看起来很小的代码错误执行后续测试�......Page 92 经验77:不可重现程序错误是可重现的�......Page 93 经验78:注意错误报告的处理成本�......Page 94 经验79:特别处理与工具或环境有关的程序错误�......Page 95 经验81:重复错误报告是能够自我解决的问题�......Page 96 经验83:归纳行是错误报告中最重要的部分�......Page 97 经验85:清楚地报告问题,但不要试图解决问题�......Page 98 经验86:注意自己的语气。所批评的每个人都会看到报告�......Page 99 经验88:提高报告撰写技能�......Page 100 经验91:与将阅读错误报告的程序员见面�......Page 101 经验94:尽快检验程序错误修改�......Page 102 经验97:不要坚持要求修改所有程序错误,要量力而行�......Page 103 经验99:测试惰性不能成为程序错误修改推迟的原因�......Page 104 经验101:如果决定据理力争,就一定要赢!�......Page 105 第5章 测试自动化�......Page 106 经验102:加快开发过程,而不是试图在测试上省钱�......Page 107 经验103:拓展测试领域,不要不断重复相同的测试�......Page 108 经验105:不要强求100%的自动化�......Page 109 经验107:不要通过自动化使无序情况更严重�......Page 110 经验108:不要把手工测试与自动化测试等同起来�......Page 111 经验110:自动化的回归测试发现少部分程序错误�......Page 112 经验112:差的自动化测试的问题是没有人注意�......Page 113 经验113:捕获回放失败�......Page 115 经验114:测试工具也有程序错误�......Page 116 经验116:根据兼容性、熟悉程度和服务选择GUI测试工具�......Page 117 经验117:自动回归测试消亡�......Page 118 经验118:测试自动化是一种软件开发过程�......Page 119 经验120:测试自动化项目需要程序设计、测试和项目管理方面的技能�......Page 120 经验122:请测试员和程序员参与测试自动化项目�......Page 121 经验124:在自动化测试设计上不要吝啬�......Page 122 经验127:数据驱动的自动化测试更便于运行大量测试变种�......Page 123 经验128:关键词驱动的自动化测试更便于非程序员创建测试�......Page 124 经验129:利用自动化手段生成测试输入�......Page 125 经验131:使用标准脚本语言�......Page 126 经验132:利用编程接口自动化测试�......Page 127 经验134:小心使用不理解测试的测试自动化设计人员�......Page 129 经验135:避免使用不尊重测试的测试自动化设计人员�......Page 130 经验137:可测试性是可视性和控制�......Page 131 经验138:尽早启动测试自动化�......Page 132 经验140:测试自动化要立即见效�......Page 133 经验141:测试员拥有的测试工具会比所意识到的多�......Page 134 第6章 测试文档�......Page 136 经验143:不要使用测试文档模板:除非可以脱离模板,否则模板就没有用�......Page 137 经验145:使用IEEE标准829作为测试文档�......Page 138 经验146:不要使用IEEE标准829�......Page 139 经验147:在决定要构建的产品之前先分析需求,这一点既适用于软件也同样适用于文档�......Page 141 经验148:为了分析测试文档需求,可采用类似以下给出的问题清单进行调查�......Page 142 经验149:用简短的语句归纳出核心文档需求�......Page 145 经验150:理解程序员怎样思考�......Page 146 经验151:获得程序员的信任�......Page 147 经验153:测试员的正直和能力需要尊重�......Page 148 经验154:将关注点放在产品上,而不是人上�......Page 149 经验155:程序员喜欢谈论自己的工作。应该问他们问题�......Page 150 经验156:程序员乐于通过可测试性提供帮助�......Page 151 经验157:建设一种服务文化�......Page 154 经验159:要发挥耳目作用�......Page 155 经验161:所有项目都会演变。管理良好的项目能够很好地演变�......Page 156 经验163:项目涉及功能、可靠性、时间和资金之间的折衷�......Page 157 经验164:让项目经理选择项目生命周期�......Page 158 经验165:瀑布生命周期把可靠性与时间对立起来�......Page 159 经验167:愿意在开发初期将资源分配给项目团队�......Page 160 经验168:合同驱动的开发不同于寻求市场的开发�......Page 161 经验170:协商版本开发进度计划�......Page 162 经验173:有时测试员应该拒绝测试某个版本�......Page 163 经验175:有时正确的决策是停止测试,暂停改错,并重新设计软件�......Page 164 经验176:根据实际使用的开发实践调整自己的测试过程�......Page 165 经验179:充分利用其他信息源�......Page 166 经验180:向项目经理指出配置管理问题�......Page 167 经验181:程序员就像龙卷风�......Page 168 经验182:好的测试计划便于后期变更�......Page 169 经验185:“足够测试”意味着“有足够的信息可供客户做出好决策”�......Page 170 经验187:为一组任务确定进度计划,估计每个任务所需的时间�......Page 171 经验188:承担工作的人应该告诉测试经理完成该任务需要多长时间�......Page 172 经验190:调整任务和不能胜任的人员�......Page 173 经验192:尽量成对测试�......Page 174 经验194:确定测试的阶段计划,特别是探索式测试的阶段计划�......Page 175 经验196:通过活动日志来反映对测试员工作的干扰�......Page 176 经验197:定期状态报告是一种强有力的工具�......Page 177 经验198:再也没有比副总裁掌握统计数据更危险的了�......Page 178 经验200:使用的覆盖率度量越独立,了解的信息越多�......Page 179 经验201:利用综合计分牌产生考虑多个因素的状态报告�......Page 180 经验202:以下是周状态报告的推荐结构�......Page 181 经验203:项目进展表是另一种展示状态的有用方法�......Page 182 经验204:如果里程碑定义得很好,里程碑报告很有用�......Page 183 经验208:在产品最终发布报告中列出没有排除的程序错误�......Page 184 经验209:有用的发布报告应列出批评者可能指出的10个最糟糕的问题�......Page 185 经验210:平庸是一种保守期望�......Page 186 经验211:要把自己的员工当作执行经理�......Page 187 经验213:像评估执行经理那样评估,测试员�......Page 188 经验214:如果测试经理确实想知道实际情况,可与员工一起测试�......Page 189 经验216:积累自己员工的专业领域知识�......Page 190 经验219:浏览技术支持日志�......Page 191 经验222:通过正面测试使新测试员熟悉产品�......Page 192 经验224:让新测试员在测试新程序错误之前,先重新测试老程序错误�......Page 193 经验226:员工的士气是一种重要资产�......Page 194 经验227:测试经理不要让自己被滥用�......Page 195 经验228:不要随意让员工加班�......Page 196 经验230:创造培训机会�......Page 197 经验233:谨慎把其他小组拒绝的人吸收到测试小组中�......Page 198 经验235:测试团队成员要有不同背景�......Page 199 经验238:录用热爱自己工作的人�......Page 200 经验241:在面谈时,请应聘者通过非正式能力测验展示其在工作中能够运用的技能�......Page 201 经验244:要将录用承诺形成文字,并遵守诺言�......Page 202 经验245:确定职业发展方向并不懈努力�......Page 204 经验247:可大胆改变职业发展方向并追求其他目标�......Page 206 经验249:超出软件测试拓展自己的职业发展方向�......Page 207 经验251:参加会议是为了讨论�......Page 208 经验254:为寻找新工作做好准备�......Page 209 经验256:积累材料�......Page 210 经验257:把简历当作推销工具�......Page 211 经验261:充分利用面谈机会�......Page 212 经验263:在应聘时询问问题�......Page 213 经验264:就自己的工作岗位进行谈判�......Page 215 经验266:学习Perl语言�......Page 216 经验269:提高自己的写作技巧�......Page 217 经验271:考虑通过认证�......Page 218 经验273:有关软件工程师认可制度的警告�......Page 219 经验275:有很多种可能的测试策略�......Page 224 经验276:实际测试计划是指导测试过程的一套想法�......Page 225 经验277:所设计的测试计划要符合自己的具体情况�......Page 226 经验280:如何利用测试用例�......Page 227 经验282:测试策略要解释测试�......Page 228 经验284:充分利用强有力测试策略的原始材料�......Page 229 经验286:在项目的每个阶段,可自问“我现在可以测试什么,能够怎样测试”?�......Page 230 经验287:根据产品的成熟度确定测试策略�......Page 231 经验288:利用测试分级简化测试复杂性的讨论�......Page 232 经验290:在重新利用测试材料时,不要迷信以前的东西�......Page 233 经验292:设计测试策略时既要考虑产品风险,也要考虑产品要素�......Page 234 经验293:把测试周期看作是测试过程的韵律�......Page 235 附录:软件测试的语境驱动方法�......Page 246 参考文献�......Page 250 附录页�......Page 0 Great software testing teams aren't born, they're made - through a lot of hard work and persuasive communication. Along the way, there is an abundance of traps that one can fall into, which can derail the best-laid plans and put your projects behind schedule. Cem Kaner, James Bach, and Bret Pettichord know this all too well. Between them, they have over fifty years of testing experience, and know what it takes for successful testing. In this groundbreaking new book, they have compiled 293 pieces of experience-tested advice for you to put to work in your testing projects. They reveal insights on how to do the job well, how to manage it, and how to steer clear of common misunderstandings in software testing. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. The ultimate resource for software testers, developers, and managers at every level of expertise, this guidebook also features: - Useful practices and helpful ways of evaluating situations gleaned from over fifty years of combined testing experience from the world's leading software testing experts - Lessons for all key topic areas including test design, test automation, test management, testing strategies, and bug reporting - Advice on how to match the selection of practices to the circumstances of your project Annotation Decades of software testing experience condensed into the most important lessons learned. The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes to do so. The ultimate resource for software testers and developers at every level of expertise, this guidebook features: * Over 200 lessons gleaned from over 30 years of combined testing experience * Tips, tricks, and common pitfalls to avoid by simply reading the book rather than finding out the hard way * Lessons for all key topic areas, including test design, test management, testing strategies, and bug reporting * Explanations and examples of each testing trouble spot help illustrate each lesson's assertion "The world's leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes to do so. The ultimate resource for software testers and developers at every level of expertise."--Resource description page Gai shu hui zong le 293 tiao lai zi ruan jian ce shi jie ding jian zhuan jia de jing yan yu jian yi, Chan shu le ru he zuo hao ce shi gong zuo, Ru he guan li ce shi, Yi ji ru he cheng qing you guan ruan jian ce shi de chang jian wu jie Discusses software testing projects and project management, covering topics including test design, automation, testing strategies, and error reporting.
دانلود کتاب Lessons Learned in Software Testing (软件测试经验与教训)