软件测试入行容易进阶难。从测试小白成长为测试经理、总监级别人才,要跨越长长的技术栈升级之路,挑战非常高的综合能力要求。
大牛都是相似的:具备扎实的测试方法论基础,能深入理解业务逻辑,会利用先进的技术工具,可以自主开发定制化服务,情商高善于沟通表达,懂管理能带项目和团队。
在成长过程中,从经典好书中汲取养分是提升技能的核心方式之一。
由于篇幅关系,肯定还有不少其他好书,欢迎大家在评论区留言推荐!希望在未来有机会能推荐更多的书籍。
都是前辈吐血推荐给我的,我在此也分享给大家:《软件测试书单》
测试基础书籍
1.《软件测试》第2版
这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。
2.《软件测试的艺术》第3版
测试人员的又一本经典书籍,对于软件测试的技术特别是用例设计方面有很详细的介绍,同样建议初级测试从业者阅读。
3.《全程软件测试》第3版
朱少民老师的著作,已经写到了第3版。虽然还是按照测试的流程为主线,但是却增加了很多近年比较火的比如AI测试等内容,是一本难得的测试大全。
4.《谷歌软件测试之道》
该书从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试之道》抓住了Google做测试的本质,抓住了Google测试这个时代复杂软件的精华。
5.《软件测试实战–测试Web MSN》
以Web MSN为测试对象,形象生动地介绍了针对图形界面的黑盒测试技术,有很强的实践性。围绕一个实例,全面地的介绍各种测试方法,是此书区别于其他测试书籍的一大特色。附文《胶着》是作者一段开发经历的回顾与小结,有笑有泪,仅凭此文便值回书资。
6.《软件测试之魂》
本书接下来明确了测试的目标,介绍了测试设计的各个环节,包括测试架构的设计、测试需求分析与测试策略制定、测试方案的设计、用例的设计、测试执行流程设计、测试输出的管理设计、测试过程的控制方法设计等。最后,作者以追逐软测之理念进行延展,旨在帮助读者理解并站在测试工作之上看测试,如何超越自我进行测试创新,为走出一条属于自己的测试精华之路提供指引。
7.《测试之美》
本书主要介绍各种优美的测试方法、测试工具、测试案例,以及杰出的测试人员和结构良好的测试群体。各种从业人员通过了解本书提供的不同场景并借鉴以往成功的经验可以提高测试能力和水平。
自动化测试阶段
1.《Selenium 自动化测试》
使用Python和Selenium进行Web自动化测试的实战指南,掌握用Python语言通过调用Selenium 接口,搭建Web应用自动化测试框架 使用Selenium、Appium实现在iOS、Android端在内的移动设备上的自动化测试。
Python unittest模块创建WebDriver测试用例,WebDriver跨浏览器测试,隐式和显式建立可靠和健壮的测试。 在移动平台,如iOS和Android使用Appium测试Web应用程序,捕获测试执行的截图和视频
2.《软件测试自动化》
这本书最吸引我的,还并不是它将我轻松的引入了自动化测试的世界,它还在每个章节的后面提供了很多链接和文档资料,大都可以在网上搜索到和打开。配合这些资料的学习,更深一步的理解了自动化测试的本质。
3.《自动化测试最佳实践》
这本书对于那些考虑、实施、使用、管理测试自动化的人来说是无价之宝。测试人员、开发人员、自动化人员以及自动化架构师、测试经理、项目经理、分析师、QA专家和技术总监都可以从本书受益。
4.《Python自动化测试实战》
实战性很强的一本书,很适合学习自动化测试的同学看。
编程语言与开发技能
1.《Python编程:从入门到实践》
这是最基础的Python入门书籍,相信90%的自学Python的同学都买过这本书。
书中内容共分为两部分:
- 第一部分:基础知识。本部分从搭建Python编程环境讲起;然后,介绍数据类型、数据结构及其操作、函数、类;最后,介绍了文件和异常处理、测试。这部分真的非常详细,无论是数据结构的操作,还是案例练习。
- 第二部分:项目。本部分介绍了外星人入侵游戏、数据可视化、web应用程序三个项目。说实话,这部分更适合开发的同学学习,不太适合数据分析同学。
2.《Python 核心编程(第三版)》
这本书适合具有一定经验的Python开发人员阅读。总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、Django Web框架、云计算、高级Web服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。
3.《Java编程思想(第4版)》
从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动化项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
4.《Python程序员面试算法宝典》
这本书是一本讲解程序员面试笔试算法的书,代码采用Python语言编写,书中除了讲解如何解答算法问题以外,还引入了例子辅以说明,让读者更容易理解。
App测试相关
1.《移动app测试实战》
这本书对于APP的测试覆盖得很全面,包括最基础的功能测试、接口自动化和UI自动化、性能测试、专项测试、持续集成和质量管理等。
并且由于作者是国内顶尖互联网大厂的员工,书中介绍的测试解决方案,都在大厂得到应用,实用性很强。
2.《腾讯Android自动化测试实战》
本书主要介绍了一些主流的Android自动化测试工具(框架),包括 Robotium、Monkey、UIAutomator、Appium 等。
另外也包含了其他的一些具体的案例,例如:视频自动化测试、手机耗电量测试等等。
3.《大话移动 App 测试 2.0》
这本书并非是《大话移动App》的加强版或者扩展版,可以说是完全的一本全新的书。
作为一名移动互联网的测试从业人员,需要正确的三观、强大的“武功招式”(测试技术)和雄厚的“内力”(更快的学习能力),而本书恰到好处地结合了这三点。
网络知识
1.《图解HTTP》
这本书的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。
2.《图解TCP/IP》
这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。
书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。
3.《TCP/IP详解 卷1协议》
是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。
接口测试
1.《Web接口开发与自动化测试》
基于Python语言以接口测试为主线,以Web开发为切入点,全面介绍了Web接口开发与自动化测试过程中使用的相关技术。
2.《接口自动化测试持续集成》
本书提到的“持续集成”、“一键操作”、“尽可能频繁、尽可能早、尽可能自动化”,这些概念和实践,是任何工程化产品都在追求的终极目标。
此书不仅介绍What(概念和流程),还说明Why、How,对实践中的关键点,甚至推荐了一些有效做法。
性能测试
1.《性能测试从零开始LoadRunner入门与提升》
这本书是作为刚刚进入性能测试领域的第一个入门参考书,对于有一定工作经验的测开人员是一个整体思路融会贯通的一个总结笔记。从软件架构中的这些方面的一些知识还是讲解的比较全的
2.《性能测试进阶指南+LoadRunner 11实战》
是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面。
操作系统相关
1.《鸟哥的Linux私房菜》
这本书是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统。
2.《Linux命令行与shell脚本编程大全》
本书针对Linux系统的最新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。
数据库
1.《MySQL 必知必会》
书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。
2.《MySQL 是怎么运行的》
这本书含有很多图,是小白学习 MySQL 底层知识的最佳书籍。对MySQL的底层运行原理进行了介绍,内容涵盖了使用MySQL的同学在求职面试和工作中常见的一些核心概念。
3.《高性能 MySQL》
是高阶学习书籍,内容覆盖MySQL系统架构、设计应用技巧、SQL语句优化、服务器性能调优、系统配置管理和安全设置、监控分析,以及复制、扩展和备份/还原等高级主题。
4.《Redis 开发与运维》
本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化、复制、高可用、内存、哨兵、集群、缓存设计等,Redis高可用集群解决方案,Redis设计和使用中的问题,最后提供了一个开源工具:Redis监控运维云平台CacheCloud。
《软件测试用例设计》
《软件测试设计》针对软件测试人员在测试设计过程中面临的各种问题,提出了“问题驱动的软件测试设计”方法。该方法将软件测试设计技术、测试设计中面临的问题和项目测试实践经验紧密结合,详细阐述了测试人员应该如何有效地开展软件测试设计活动。
《Web 测试指南》
本书主要讲述如何进行高效、高质量的Web测试。全书分为五个部分,第一部分介绍测试的基本概念和测试理论,引导读者进入Web测试领域;第二和第三部分分别讲述Web应用的客户端测试和服务端测试;第四部分介绍专业测试人员必备的素质和技术,重点阐述测试计划和设计;最后一部分是测试的相关知识参考。
《Web安全测试》
包括了从观察客户端和服务器之间的消息到使用脚本完成登录并执行Web应用功能的多阶段测试。在《Web安全测试》的最后,你将能够建立精确定位到Ajax函数的测试,以及适用于常见怀疑对象(跨站式脚本和注入攻击)的大型多级测试。
《精通软件性能测试与LoadRunner实战》
对测试职业发展很有帮助,如果职业发展停滞可以读一下这本书。
《捉虫日记》
从实践角度介绍安全漏洞,描述了作者在过去几年里怎样发现漏洞、怎样利用漏洞来攻击以及开发商如何修复,旨在为开发人员提醒,为漏洞研究领域的工作人员提供工作思路。
《用例分析技术》
本书从多个不同的角度观察用例,展示用例如何有助于项目的体系结构设计,进度安排,需求分析,测度和验证,特别从用户的角度观察整个系统,讨论诸如边界,接口和界定范围等问题。
《iOS测试指南》
专注于 iOS 测试领域的书。其中重点讲述了各个测试阶段 的具体实践方法,并且通过持续集成串联了各个测试阶段的活动。本书中所有的测试 实践并非纸上谈兵,而是出自于笔者实际工作中的探索和实践。在测试实例上有一定 的简化,是为了脱离复杂的业务。本书的重点在于对方法的介绍。
适合有一定技术功底的测试工程师;有一定经验的移动测试工程师;iOS 开发工程师;测试技术爱好者。
无论是新手初级测试还是大佬级别的测试,都可以多浏览以上书籍,从中寻找到技术解决方案和灵感。其中书籍的电子版我这里有几本,我都放在了群文件里,主页查看方式
如何提升自己?
当然说,除了一些经典的书籍,也有一些建议给到测试在职的人员,帮助你们快速提升:
1、坚持少做重复性工作,提升自己的工作的幸福感和成就感,把单纯的测试工作变成项目质量保证工作。
2、掌握一门编程语言,Python或者Java都行,会了Python之后会灵活一些,能够写一些脚本或者小型的应用,将来在面对测试和运维之间的区域时,去部署和维护一些web应用和测试服务器,Python就会变得非常有用。如果是掌握Java,在面对Java写的测试框架的时候,能够很好的处理好测试与开发交叉的领域。在面试过程中,大概率也会碰到问你jvm的问题。
3、计算机的理论知识,这个简单一些,比如各层的协议,测试现在最常接触到的可能是HTTP,TCP,IP,抓包工具如fiddler,wireshark,tcpdump之类的,长远考虑,你的工作会延伸到测试和运维中间的领域,那么就需要了解更多的网络知识和常用命令。
4、操作系统上,主要还是为了将来能够解决测试和运维交叉的领域,熟悉Linux基本的操作和命令来维护好自己的测试环境,另外shell脚本、ios和Android系统(移动APP测试)都可以接触;
5、前端基础知识,目的是解决测试和开发的交叉领域,bootstrap、css、html、javascript、jquery,如果你要做一些web自动化测试脚本的话,这些前端的基础对你很重要。如果你是一点web测试都不做,那这些你可以先放一放。
6、数据库,性能测试很重要,接口测试也要用到。