代码改变世界

软件测试读书列表 (2013.8)

2013-08-22 14:04  liangshi  阅读(2924)  评论(0编辑  收藏  举报

列表格式为:图书分类、中文书名、英文书名、作者。排名不分先后,用红色标记出我推荐的书籍。

 

 

测试入门

软件测试(第2版)
Software Testing (2e), Ron Patton

一本测试入门的好书,较全面地介绍了各种测试领域和方法,为测试新手提供了正确的观念和宽泛的基础。

软件测试的艺术(第2版)
The Art of Software Testing (2e), Glenford J. Myers, Corey Sandler, Tom Badgett, Todd M. Thomas
一本“久经考验”的测试经典:1979年,第一版面试;25年后,第二版登场。平心而论,有些观点已经不能直接应用在测试实践中,但是仔细品味仍有所收获。毕竟,这是一本需要思考的书,而不是操作手册。

软件测试实战--测试Web MSN
蔡为东
以Web MSN为测试对象,形象生动地介绍了针对图形界面的黑盒测试技术,有很强的实践性。围绕一个实例,全面地的介绍各种测试方法,是此书区别于其他测试书籍的一大特色。附文《胶着》是作者一段开发经历的回顾与小结,有笑有泪,仅凭此文便值回书资。

软件测试工程师面试指导
蔡为东
面向初学者,介绍了软件测试行业、测试工程师素质要求、基本测试技术、求职策略、面试技巧、典型试题,对于测试新手或迈向测试行业的朋友有较高的参考价值。此书还收录了一些对读者来信的回复,内容涉及职业规划、大学生就业、测试学习、测试实践等,针对当前常见的困惑,做出了谨慎且深思熟虑的回答。附文《我在微软做软件测试外包》对于了解微软中国的流程与文化很有参考价值。

Essential Software Test Design
Torbjrn Ryber

该书专注于测试设计,深入浅出讲解了所有测试人员都需要掌握的基本测试技术。全书言简意赅、条理清晰、案例翔实,为测试实践打下了坚实基础。测试专家James Bach受邀编写了第6章“探索式测试解析”(Exploratory Testing Explained),对于理解探索式测试的思想和方法很有帮助。

 

通用测试技术

计算机软件测试(第2版)
Testing Computer Software (2e), Cem Kaner, Jack Falk, Hung Quo Nguyen
一本值得反复参考的好书,"The bestselling software testing book of all time" 的美誉绝非浪得虚名。作者将多年的实践经验用平实的语言娓娓道来,内容涉及测试技术、测试管理、开发流程、思考方法、实践模式,可谓是一本测试典籍。部分内容看似有些过时,但是其思想和方法仍旧有很高的借鉴价值。

Black Box Software Testing
Cem Kaner
由美国国家科学基金(National Science Foundation)资助的、Cem Kaner教授主持的黑盒测试在线课程。免费提供了详尽的课程幻灯片、学习资料和教学视频,系统性地讲授了黑盒测试的方法体系和关键方法,具有很高的参考价值。

Rapid Software Testing
James Bach, Michael Bolton
测试专家James Bach与Michael Bolton常年举办Rapid Software Testing培训,为许多测试人员理解并实施探索式测试提供了有益的起点。James Bach的网站提供了培训幻灯片和学习资料,以启发式测试策略模型(Heuristic Test Strategy Model)为核心,详细介绍了探索式测试的方方面面,值得深入学习。

微软的软件测试之道
How We Test Software at Microsoft, Alan Page, Ken Johnston, Bj Rollison
微软的资深测试者审视微软当前的测试方法,并展望软件测试的未来发展。缺点是没有结合Windows或Office这样的著名且复杂的产品,详细讨论具体项目的具体技术。优点是提供了许多小故事,讲述了Windows、Office、Live等产品开发中的点滴。从经验传承、启发思路的角度,这些故事是全书的精华,具有很高的参考价值。

How Google Tests Software
James A. Whittaker, Jason Arbon, Jeff Carollo
谷歌的测试总监和测试工程师介绍谷歌的测试团队、测试管理、测试方法和测试人员职业发展。优点是介绍了Chrome、Chrome OS、Google+和GMail等世界级产品的测试实践,并富有前瞻性地讨论了软件测试的未来发展。缺点是没有讨论谷歌的核心产品搜索引擎,没有介绍谷歌如何处理海量业务数据及其测试之道,颇让人遗憾。

敏捷测试:测试人员与敏捷团队的实践指南
Agile Testing: A Practical Guide for Testers and Agile Teams, Lisa Crispin, Janet Gregory
敏捷测试专家全方位讲解敏捷测试的专著,体系完整,论述周详,有正本清源、答疑解惑之功效。其中,“测试自动化金字塔”、“敏捷测试四象限”等思想很有启发性。

探索式测试实践之路
史亮,高翔
我与高翔合作,全面地介绍探索式测试的概念、理论、方法和实践。不敢自夸,且引用探索式测试专家James Bach对此书的推荐:This is the first book on exploratory testing, in any language, that summarizes the published work in the field.

Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing
Elisabeth Hendrickson
作者以基于测程的测试管理(session based test management)为基础,介绍了探索式软件测试的概念和方法。全书行文流程,生动地介绍了一批实用的测试方法,对于“测程”的灵活应用尤为精彩。
 

The Little Black Book On Test Design
Rikard Edgren
该书是作者十余年测试经验的总结与升华,面向有经验的测试人员,以测试学习、测试分析、测试设计和测试执行为主题提供了大量的启发式方法,具有较高的参考价值。此外,该书的参考文献非常丰富,为深入学习提供了良好的素材。

测试有道:微软测试技术心得
梁博, 许珊, 徐歆恺
内容由一系列技术点组成,每一个点都有精要的描述和作者的心得体会,力图以小搏大,以精粹胜广博。但是没有提供一个理论框架将这些点有机地联系起来,读起来有只见树木、不见深林之感,也缺少“授人以渔”的独到见解。最大优点是介绍了一批免费且实用的工具,可以放在案头备查。

软件测试基础:方法与度量
Software Testing Fundamentals: Methods and Metrics, Marnie L. Hutcheson
以风险分析为核心,讨论了测试计划、测试组织和测试设计。其中,关于“测试价值的可说明性”和“利用Office Suite来撰写、管理测试计划”的内容有启发性。适合有一定工作经验的测试人员参考。

软件测试(第2版)
Software Testing A Craftsman's Approach (2e), Paul C. Jorgensen
将理论与工艺结合在一起的测试教科书。比较严谨地讨论了软件测试的基础理论,适合软件测试研究者研读。

面向对象的软件测试
A Practical Guide to Testing Object Oriented Software, John D. McGregor, David A. Sykes
介绍了面向对象软件测试的基本思路和方法。第7章“测试类的层次结构”比较有启发性,讨论了针对继承的测试设计和组织,相关内容在其他测试书籍中并不多见。

软件测试技术大全:测试基础、流行工具、项目实战
陈能技
该书由多位作者共同撰写,内容涉及测试理念、测试技术、测试开发、测试自动化、测试管理和常见的测试工具,不愧“测试大全”的书名。有些内容失之于粗糙,一些论述也不够严谨,缺乏参考文献更是此书的硬伤。瑕不掩瑜,此书理论和实践结合紧密,仍值得测试工作者学习和思考。

 

测试管理

笑傲测试--软件测试流程方法与实施
魏伟
以小说为体裁的测试管理书籍。通过令狐冲和风清扬的对话,从一个逐渐成长的新人的角度,介绍了测试管理的点点滴滴。全书轻松幽默,全无技术读本的枯燥乏味。附录所收录的文章“从新鲜人到新仙人”对于行业新人颇有帮助。

步步为赢--软件测试管理全程实践
蔡为东
以“管理就是负责人”为核心,介绍作者担当测试领导的切身经验:自我管理、自我成长、编写测试计划、编写测试用例、执行测试、沟通、测试计划/用例评审、测试总结、员工管理、测试思想等。也适合第一线的测试工作者阅读,所涉及内容皆和他们的日常工作密切相关。

 

专项测试技术

软件安全测试艺术
The Art of Software Security Testing: Identifying Software Security Flaws, Chris Wysopal, Lucas Nelson, Dino Dai Zovi, Elfriede Dustin
软件安全测试的入门书,用很短的篇幅涵盖了软件安全测试的多个领域,为测试人员提供了模型、方法和工具。对于Threat Modeling的介绍很精彩,为进一步的行动提供了良好的理论与实践基础。

Web安全测试
Web Security Testing Cookbook: Systematic Techniques to Find Problems Fast, Paco Hope, Ben Walther

一本实践性很强的Web安全测试手册。从网络安全的角度,介绍了一批免费的网络通信分析、监控、修改、调试工具;以条目为组织,介绍了的测试方法或策略;以实践切入,穿插介绍理论知识,通过精心选材和组织,降低了Web安全测试的门槛。

探索式软件测试
Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design, James A. Whittaker

测试专家James Whittaker旗帜鲜明地捍卫手工测试,探讨如何用探索式测试来应对严峻的现实挑战。作者以隐喻“漫游”(Touring)为核心,提出了一套有助于探索式测试的测试方法(多数为漫游测试和快速测试)。作者历任微软测试架构师和谷歌测试总监,其理念已经在微软和谷歌的测试产品中逐渐体现。

实用软件测试指南
How to Break Software: A Practical Guide to Testing, James A. Whittaker
软件测试专家编写的实战指南,以“缺陷模式”(defect mode)为核心介绍了一批快速测试(quick  test)方法和相应的的测试工具,对于压力测试、极限测试有较强的参考价值。

软件测试新技术与实践
于秀山, 于洪敏
介绍了组合测试技术在测试中的应用。适合组合测试研究者参考。

Web应用程序性能测试指南
Performance Testing Guidance for Web Applications, J. D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea
微软模式与实践(pattern & practices)团队的佳作,介绍了性能测试的正确观念、流程和实践。篇幅短小,内容深邃,值得在实践中反复参考和体会。

应用程序性能测试的艺术
The Art of Application Performance Testing: Help for Programmers and Quality Assurance, Ian Molyneaux
经验丰富的软件性能测试专家分享他的经验,内容包含性能测试的架构、模型、典型方法和结果分析。适合有一定经验的测试者参考。

Tap Into Mobile Application Testing
Jonathan Kohl
探索式测试专家的力作,针对运行在智能手机和平板电脑之上的移动应用,提出了一组有针对性的漫游测试和情景测试方法。其中,针对真实使用情景挖掘测试想法的策略极具启发性,也值得其他领域的测试人员参考。

 

测试自动化

Experience of Test Automation:Case Studies of Software Test Automation
Dorothy Graham, Mark Fewster
面向有经验测试人员的测试自动化案例分析汇编。第0章是全书案例的经验总结,第1~28章是来自28个不同类型项目的测试自动化报告,第29章则提供了一组真实的测试故事。软件测试是语境驱动的,观察不同团队的实践,分析成败得失,可谓开卷有益。

XUnit Test Patterns: Refactoring Test Code
Gerard Meszaros
此书是为数不多的以测试为主题获得Jolt生产力大奖
的名著。以翔实的案例充分讨论了自动化测试代码的设计、模式和重构方法,堪称单元测试“大典”,对于集成测试也有很高的参考价值。

.NET软件测试自动化之道
.NET Test Automation Recipes:A Problem-Solution Approach, James D. McCaffrey
该书讲解了在.NET平台上编写轻量级测试程序的实用技术。作者曾经在微软工作,该书与微软测试开发工程师的培训材料的契合度很高,实践性很强。对于Windows平台的测试工程师而言,此书的参考价值很高。

.NET软件测试指南
A Tester's Guide to .NET Programming, Randal Root, Ary Romero Sweeney
严格来说,这是一本以测试为目标的讲解.NET编程的书。内容浅显、涉猎面广,适合没有太多.NET开发经验的测试人员参考。

集成测试框架--用Fit进行敏捷软件测试
Fit for Developing Software: Framework for Integrated Tests, Rick Mugridge, Ward Cunningham
Fit是一种编写系统测试的测试框架,作为一种业务交流工具,它深刻地反映出敏捷软件开发的若干特质。此书由Fit之父亲自编写,不但可以了解Fit的方方面面,还能从中体会大师的感悟与实践。

互联网单元测试及实践
陈卫俊, 赵璨, 周磊, 陈洪
介绍了常见的单元测试框架,并结合具体项目讲解了单元测试的基本理论和技术。对于Web测试的新手,有较高的参考价值。

Visual Studio 2005 Team System软件测试专家教程
Professional Software Testing with Visual Studio 2005 Team System: Tools for Software Developers and Test Engineers, Tom Arnold, Dominic Hopton, Andy Leonard, Mike Frost 
介绍如何利用Visual Studio 2005 Team System进行有效的单元测试、数据库测试、Web测试、负载测试和代码分析。以介绍概念和流程为主,适合新手快速上手。

.NET软件测试实战技术大全:测试基础、流行工具、典型案例
陈能技
系《软件测试技术大全》的.NET版,在内容的深度和价值上,皆不及前者。胜在专注于.NET和Windows平台上的测试自动化,介绍了多种测试技术和工具,覆盖面广,且切合实践。适合.NET平台上的新手参考。

 

经验总结

软件测试:经验与教训
Lessons Learned in Software Testing, Cem Kaner, James Bach, Bret Pettichord
值得反复研读的经典好书。Tom DeMacro的赞美——“这些经验中的任何一个,都抵得上这本书的价钱”,所言非虚。

完美软件--对软件测试的各种幻想
Perfect Software: And Other Illusions about Testing, Gerald M. Weinberg
该书没有介绍具体的软件测试技术,它讨论的是软件开发中的人、他们对测试的认知、软件测试的目的、实现目的的社会学和心理学上的探索。它试图建立正确的软件测试观念、协调的心理情绪和有效的思考方式。这些要素最终会决定在具体的项目中采用何种具体测试技术的组合。

测试之美
Beautiful Testing, Tim Riley, Adam Goucher
该书由27位测试实践者共同撰写,提供了22篇来自不同语境的测试实践小结。其“美感”来自于实践者之间的印证、启发、激励。这要求读者将自己的经验与思考带入阅读,与作者就更美的软件测试进行“对话”。

有效软件测试——提高测试水平的50条建议
Effective Software Testing: 50 Specific Ways to Improve Your Testing, Elfriede Dustin
测试领域的Effective C++,广受赞誉,所提供的50条经验有很强的实践指导意义。

软件测试求生法则
Surviving the Top Ten Challenges of Software Testing : A People-Oriented Approach, William E. Perry, Randall W. Rice
作者讨论了测试人员所面临的十大“人际挑战”。从具体案例出发,介绍了挑战的表现形式、产生根源、解决方法和可能遇到的问题。虽然,外企的文化氛围与中国企业有一定差别,但是分析问题、解决问题的思路仍值得借鉴。

赢在测试:中国软件测试先行者之道
蔡为东
介绍了一批测试先行者的个人经验的书。学习他人经验可以用较低的成本去扩大自己的体验,自然是他山之石可以攻玉,开卷有益。不过,个人经验非批判性地阅读与理解,不能有效,甚至有害,所以该书适合愿意学习且有能力学习的测试爱好者。不足是大部分被采访者都是管理者,没有真正的测试技术专家。

软件测试精要
董杰
作者分享他在测试领域的经验与思考,其热情和思辨跃然纸上。缺点是内容却有些散乱,即便是一章,其系统性也有些不足;对于测试工具背后的测试思想,挖掘得比较浅,没有上升到测试理论的高度。