软件测试入行容易进阶难。在持续交付体系背景下,要成为测试开发高手意味着非常系统综合的知识储备。广泛阅读经典好书是快速成长的必要方式。
霍格沃兹测试学院重点推荐几本测试经典好书以及必读清单。文末加入测试开发读书群,一起交流探讨!
测试开发从入门到进阶经典书籍
【测试入门基础】
夯实软件测试基础技术和理论知识,以及 Linux/Python/Java 编程技能;
- 《软件测试》https://book.douban.com/subject/1801050/ 839
- 《鸟哥的 Linux 私房菜》https://book.douban.com/subject/30359954/ 234
- 《Head First Python》https://book.douban.com/subject/10561367/ 282
- 《Head First Java》https://book.douban.com/subject/2000732/ 94
【测试技术】
深入理解计算机系统,让各种测试技术更好的落地;
- 《深入理解 Java 虚拟机》https://book.douban.com/subject/24722612/ 68
- 《移动 App 性能评测与优化》https://book.douban.com/subject/26891415/ 111
- 《性能之巅:洞悉系统、企业与云计算》https://book.douban.com/subject/26586598/ 122
【代码分析】
测试左移,可以深入代码层面,保证研发阶段的软件质量;
- 《Head First 设计模式》https://book.douban.com/subject/2243615/ 49
- 《重构:改善既有代码的设计》https://book.douban.com/subject/4262627/ 29
- 《不测的秘密:精准测试之路》https://book.douban.com/subject/30301959/ 132
【测试专家必读】
测试右移,可以参与配置部署,打造持续测试/持续交付体系,并全流程监控发布后的应用质量。
- 《Google 测试之道》https://book.douban.com/subject/25742200/ 178
- 《持续交付:发布可靠软件的系统方法》https://book.douban.com/subject/6862062/ 60
- 《人月神话》https://book.douban.com/subject/2230248/ 52
- 《凤凰项目:一个IT运维的传奇故事》https://book.douban.com/subject/34820436/ 35
除了以上几本作优先推荐,也附上过往整理的测试经典书单(由测试专家 @刘晓光 老师做简要点评),也欢迎大家在评论区留言推荐!
附录 -「测试开发工程师必读好书清单」V1.0
测试理论与实践
- 《软件测试经验与教训》https://book.douban.com/subject/1139061/ 311
如果只让推荐一本书,推荐这一本。书由很多看似零散的小知识点组成,但是字字珠玑。真正做过2年~20年测试的人,拿起它来,每一条和自己的工作做对照,都会有共鸣或者”原来如此“的感受。工作经验越多,体会越深,是一本常看常新,并且能够一直指导你的书。从某种意义上,它教会测试人员的是“思辨思维”,这才是最重要的财富。
- 《有效软件测试:提高测试水平的 50 条建议》https://book.douban.com/subject/1146227/ 157
跟《软件测试经验与教训》一样是一部分实战很强的总结类书籍,我觉得也可以列入经典。推荐阅读的时候同自己的工作一条一条做对照,肯定会有很深体会。(里边的一些观点也许你不同意,但是,能够促进你思考就是好事情)。
- 《软件测试基础教程》https://book.douban.com/subject/3612082/ 129
如果你入行不深,想从最基本的地方补一下测试理论。这本书无疑是相当合适的教材。看过很多书,ISTQB 系列还是最成体系化,内容也最好的书之一。
- 《Google 测试之道:像 Google 一样进行软件测试》https://book.douban.com/subject/25742200/ 178
Google 大牛 James A. Whittaker 分享测试实践经验,开拓视野、提升水平必读经典好书,引发很多关注讨论。
- 《探索吧!深入理解探索式软件测试》https://book.douban.com/subject/25829182/ 49
近些年难得的测试好书。这本书中对探索式软件测试的定义,作用,局限性和实施方法可能都是最好的。就算不是做纯粹的 ET,这本书的很多内容都能直接帮助你提高测试质量。强烈推荐。
- 《实例化需求:团队如何交付正确的软件》https://book.douban.com/subject/11611022/ 31
每个测试人员都值得一读(应该推荐团队所有成员读),你绝对会眼前一亮并说:太棒了!就该这么干!书的最高境界是一个理想的“活文档系统”,实际上这很难完全实现,但里边的东西每实现一部分,测试的效果就会提高一部分,团队离失败就会远一点。
- 《Scrum 要素》 https://book.douban.com/subject/20507350/ 23
近年来,国内的团队都在做敏捷转型。所以很多测试人员都会遇到在敏捷团队工作的经历。敏捷实施给软件人员带来的冲击还是很大的,过程中我们也听到了各种声音。Scrum 元素以很多小故事的形式讲述了敏捷团队如何工作,非常实用,测试人员值得一读。
- 《海盗派测试分析:MFQ & PPDCS》https://book.douban.com/subject/27021193/ 42
国内资深测试专家邰晓梅老师关于测试思维的书,书中的知识其实是国内很多测试人员的能力短板。推荐阅读。
- 《全程软件测试(第3版)》https://book.douban.com/subject/30456957/ 47
国内资深测试专家朱少民老师关于系统流程、测试方法理论的书,书中的知识其实是国内很多测试人员的能力短板。推荐阅读。
性能测试
- 《性能之巅:洞悉系统、企业与云计算》https://book.douban.com/subject/26586598/ 122
这本书其实不是专门写给测试人员的。但是如果想做好性能测试,强力推荐这本书。如果你能够全部读懂(全部读懂需要一些功力),性能测试对你来说会是小菜一碟。
《应用程序性能测试的艺术》https://book.douban.com/subject/4156318/ 34
《软件性能测试过程详解与案例剖析》https://book.douban.com/subject/1912900/ 61
以上两本书,一本外国人写的,一本是国人段念写的。主要告诉你性能测试如何来做,为什么要这么做,还有评判准则,还有很好的案例。如果真正的做性能测试,推荐一定要读这两本,因为这是在讲方法论的东西,没有方法论指导,你就不知道怎么建模,怎么设计场景,怎么评判测试结果。
另外,如果性能测试做得比较深入了,其实可以看相关的开发书籍,比如架构相关的书,数据库管理、调优,JVM 调优,Web 服务器管理、调优,高性能程序设计、调优等。对被测物理解越深,性能测试才能越深入。这方面的书可以自行根据关键字进行搜索。
安全测试
- 《渗透测试实践指南:必知必会的工具与方法》https://book.douban.com/subject/20366359/ 66
最好的渗透测试入门书,也是一本目录,可以由它打开安全测试之门。
自动化测试
- 《自动化测试最佳实践》https://book.douban.com/subject/22232395/ 175
这是一本案例教学的书。里边有几十个例子,其中一半的例子非常有参考价值。
自动化要做好至少要有4点:合适的技术,合适的策略,合适的团队,合适的时机。技术对于自动化实施成功充其量只占到四分之一。
书里讲了很多技术之外的东西。真正做自动化实施的同学读了肯定会有很多感触。如果是初学者,建议你先买了放着,经过一两个失败的项目(没有非常好的工程师带,没有好的团队,通常第一次实施肯定是失败的)后再反过来读。另外《测试之美》里边也有几章是自动化测试相关的案例,值得一看。
- 《测试之美》https://book.douban.com/subject/4805950/ 35
AI 测试与大数据测试
- 《机器学习测试入门与实践》https://item.jd.com/12958088.html 43
编程语言与开发技能
推荐几本测试开发工程师最常用的 Java 和 Python 的入门和高级经典书目,以及算法、Linux 基础技能、sql、正则表达式、MysqL 数据库、以及最流行的 Spring 框架好书,经典不多说。
- 《Effective Java(第3版)》https://book.douban.com/subject/30412517/ 9
- 《Java编程思想 (第4版)》https://book.douban.com/subject/2130190/ 7
- 《Python 核心编程(第三版)》https://book.douban.com/subject/26801374/ 34
- 《流畅的 Python》https://book.douban.com/subject/27028517/ 30
- 《算法(第4版)》https://book.douban.com/subject/19952400/ 17
- 《鸟哥的 Linux 私房菜》https://book.douban.com/subject/30359954/ 234
- 《sql 必知必会》https://book.douban.com/subject/24250054/ 27
- 《正则表达式必知必会》https://book.douban.com/subject/26285406/ 15
- 《高性能 MysqL》https://book.douban.com/subject/23008813/ 16
- 《Spring 揭秘》https://book.douban.com/subject/3897837/ 10
微服务、DevOps、持续交付
随着微服务和 DevOps 的流行,持续集成、持续交付的概念越来越被各个开发团队所接受,良好的测试是持续交付能够真正实现的重要基石,这是每个测试人员都应该掌握的知识(起码从概念上能够掌握,并且能够 do your part)。
推荐几本经典书籍,信息量比较大,对于平时只做系统测试的同学来说可能很难懂,但是建议啃一下,慢慢消化里边的一些知识,在读的过程中多与开发人员,SQA,产品人员,运维人员交流。
- 《微服务设计》https://book.douban.com/subject/26772677/ 19
- 《DevOps 实践指南》 https://book.douban.com/subject/30186150/ 23
- 《持续交付1.0:发布可靠软件的系统方法》https://book.douban.com/subject/6862062/ 60
- 《持续交付2.0:业务引领的DevOps精要》https://book.douban.com/subject/30419555/ 11
软件工程
大牛巨作,值得每个有追求的程序员学习,经典不多说。
- 《软件开发心理学》https://book.douban.com/subject/1141154/ 9
- 《Head First 设计模式》https://book.douban.com/subject/2243615/ 49
- 《代码整洁之道》https://book.douban.com/subject/4199741/ 4
- 《架构整洁之道》https://book.douban.com/subject/30333919/ 5
- 《重构:改善既有代码的设计》https://book.douban.com/subject/4262627/ 29
- 《人月神话》https://book.douban.com/subject/26358448/ 18
通用软技能
程序员在技术之外的软技能可能才是决定工作和生活幸福度的关键,包括身体健康,健康成熟的心态,团队协作能力,良好的沟通方式和技巧,高效能工作习惯,职业生涯规划能力等等,经典不多说。推荐阅读。
- 《程序员健康指南》https://book.douban.com/subject/25981248/ 14
- 《软技能——代码之外的生存指南》https://book.douban.com/subject/26835090/ 16
- 《高效能人士的 7 个习惯》https://book.douban.com/subject/26284789/ 19
- 《金字塔原理》https://book.douban.com/subject/4882120/ 7
- 《学会提问》https://book.douban.com/subject/20428922/ 20
- 《非暴力沟通》https://book.douban.com/subject/3533221/ 18
- 《深度工作:如何有效使用每一点脑力》https://book.douban.com/subject/27056409/ 20
管理技能
从技术到管理,是一个艰巨的挑战,从思维方式到管理技巧,都需要刻意学习磨炼。推荐几本好书,经典不多说。
在学习管理类书籍外,也建议对比琢磨各大公司内部组织文化和管理流程,相信会有启发和收获。
- 《成为技术领导者》https://book.douban.com/subject/26419762/ 20
- 《赢》https://book.douban.com/subject/1313124/ 8
- 《格鲁夫给经理人的第一课》https://book.douban.com/subject/24700126/ 7
- 《你的灯亮着吗?:发现问题的真正所在》https://book.douban.com/subject/25772550/ 12
- 《管理团队:成败启示录》https://book.douban.com/subject/26981179/ 10
- 《团队角色:在工作中的应用》https://book.douban.com/subject/27187174/ 15
最后要说的是:尽信书不如无书。很多时候光看书不能解决具体问题。读书和工作实践相互促进才能发挥价值。书的最大作用就是启迪你!
更多学习交流:https://note.youdao.com/web/#/file/recent/note/WEB2cb405b73068a340a55ae65fec2e4126/