这10本书,给你一次彻底学会自动化测试的机会!_自动化测试书籍-程序员宅基地

技术标签: 自动化测试  性能测试  软件测试  测试工程师  接口测试  

从2018年初开始,到现在差不多几年多的时间,我投入了一部分精力用于项目的自动化测试建设工作。目前来看收益还是比较明显的,在这个过程中也加深了对自动化测试的理解,这边就总结下自己对自动化测试的认识。

 

首先我想说下在开展自动化前后,我的工作状况的对比:

去年2017年Q3、Q4,基本上天天处于996甚至997的状态。大部分时间都花在了功能测试保障、回归测试和上线验证。因为项目在线上有多达7,8个不同的集群,每一次版本上线为了保险起见,开发会一个集群一个集群小心翼翼地上线,所以基本上天天都处于上线的状态。每次上线,手工测试时间顺利的话在半小时左右,如果遇到问题跟开发联调定位,会达到数个小时。除了时间上开销很大之外,每次上线带来的精神上的压力其实更严重,非常害怕哪个用户半夜跳出来反馈说调度有Bug。

在开展了自动化测试之后,现在我给“日常版本迭代测试”只预估了25%的工作量。任意集群上线,我只要负责点一下Jenkins的“开始构建”按钮,即可完成验收。如果有出现用例失败,会自动发送邮件告知开发。

显然,目前的工作状态要好很多,是因为项目工作量减少了吗?显然不是。其实今年以来整个项目组在研发的投入要比去年更多,工作量只会比以前更重,还要兼顾多个私有化部署的客户的验收和日常测试保障工作,工作量肯定是只增不减的。之所以能有更多的时间空余出来做其它更多维度的事情,这一切都得益于“自动化测试”的帮助,它极大地解放了我的手工测试时间,同时更加提升了上线的信心。

不过市面上关于软件自动化测试的书,真心不多,但自动化测试却是我们高级软件测试人员必备的技能,如果你也想把你的精力投入到自动化测试建设的工作中去,不妨从这些书籍开始:

1、《代码整洁之道》

成为自动化测试工程师的第一步就是编程,对于大多数开发人员来说,编写代码并不是一个挑战,但编写出一个干净且易读的代码却很难,本书是每一个自动化测试人员的必读书籍,在本书中,你将了解什么是有意义的名称、注释、格式、错误结构、类、系统、并发性等等。

2、《自动化测试最佳实践》

这本书在自动化测试领域影响深远,它为很多公司指明了测试成功的方向。本书讲述了一些公司应用自动化的经历,其中涉及了很多项目,从复杂的政府部门系统到医疗设备,从SAP业务过程开发到Android移动应用和云计算。

3、《Selenium 2自动化测试实战》

Selenium自动化测试技术已经出来很多年了,市面上的书基本都是基于Java,本书基于Python,也算是一大亮点,书中提供了大量的示例代码,用简单的方法告诉读者如何学会使用一个自动化测试工具。

4、《Implementing Automated Software Testing》

顾名思义,本书将帮助你实现自动化软件测试(AST),同时保持质量、降低成本和节约时间。我觉得书中印象最深刻的一章是“为什么软件会测试失败和如何避免”。与此同时,你还将从本书中学到一些经验,比如如何自动化、AST框架的测试、开发测试自动化策略。

5、《The Agile Samurai》

自动化测试是敏捷开发人员的第一爱好。本书将帮助你详细了解敏捷开发,它将使您熟悉持续集成、测试驱动开发、单元测试、敏捷宣言、敏捷规划等等。

6、《敏捷软件测试》

通过本书你将充分了解到测试人员的真正职能是什么?敏捷团队真的需要具有QA背景的成员吗?“敏捷测试人员”到底意味着什么?并从测试人员的角度记录了敏捷软件开发迭代的一个完整周期,并解释了敏捷测试的七大关键成功要素。

7、《重构》

学习重构、找出代码的坏味道、构筑测试体系、学习 JUnit测试框架、简化方法调用、简化条件表达式等等。通过本书,你将学会改进现有代码的所有方法,并让它变为更具可读性并避免bug的代码。

8、《测试之美》

本书主要介绍各种优美的测试方法、测试工具、测试案例,以及杰出的测试人员和结构良好的测试群体。各种从业人员通过了解本书提供的不同场景并借鉴以往成功的经验可以提高测试能力和水平。

9、《.NET软件测试自动化之道》

主要讲解在.NET环境下编写轻量级软件测试自动化程序的实用技术。全书内容由Windows UI测试、Web应用程序测试和存储过程及XML测试三部分组成,全面介绍了如何利用.NET平台提供的一系列技术(而不是依赖于第三方的商业自动化测试工具),采用C#语言编写轻量级的、功能强大的自动化测试程序。

10、《测之重器——自动化测试框架搭建指南》

从FitNesse 的使用讲起,慢慢过渡到后台组件的开发,以及FitNesse 与Jenkins 的持续集成测试的整合,并用三章分别讲解RESTful、云计算平台、手机UI的自动化测试,从而能让大家理解如何在实际工作中运行自动化测试。当你读完《测之重器——自动化测试框架搭建指南》后,你将能为企业搭建出一套自己的自动化测试系统。

总结:

自动化测试需要具备的主要能力:

第一,编码能力,这个是逾越不过的坎儿。说到这里可能会有朋友问难道性能测试不需要编码能力吗?答案是需要,但比起自动化测试来说门槛相对低点。其实对于一个优秀的测试工程师来说编码能力是必备的技能。

如何提升自己的编码能力也是不少朋友咨询过我的问题,真心没有什么捷径。我觉得就是要多练习多总结,我说的练习是真正的动手去做而不是看。我再苦口婆心一句:“没有不起眼的砖,没有看不到的框架,漂亮的楼房怎么能屹立不倒”。

第二,逻辑思维能力。在有了编码能力之后就能做自动化测试了吗?显然不能,因为自动化测试最终是希望建立一个框架或者平台,这是一个大工程,一定要有较强的逻辑思维能力和设计能力才行。就好比,你会焊接技术但不代表你会设计汽车啊。所以自动化测试真正的难点在于设计思想,,培养能力和思维之后再学自动化测试就容易多了。

上面是我收集的一些视频和面试题资料。

对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你

关注我的微信公众号【程序员二黑】免费获取
 
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_53918927/article/details/115864982

智能推荐

c++备战CCF之力扣简单题(数组中两元素的最大乘积)_c++实现一行数中任意两个乘积最大-程序员宅基地

文章浏览阅读87次。例如nth_element(arr, arr+5, arr+10);是将从小到大排序后应该在arr[5]的元素放在arr[5]这个位置上。若要寻找第k大的数,nth_element(数组名,数组名+元素个数-k,数组名+元素个数)其用法为:函数语句:nth_element(数组名,数组名+第k个元素,数组名+元素个数)冒泡是每次将0~n-i范围内的最大数放在arr[n-1-i]位置,i代表了冒泡的次数。c++的STL里也有快速选择的函数nth_element()快速选择是用于分开较大的数和较小的数。_c++实现一行数中任意两个乘积最大

113-Linux_安装c/c++开发库及连接mysql数据库_linux安装c++ mysql库-程序员宅基地

文章浏览阅读786次。安装开发c/c++的库,命令:==apt install _linux安装c++ mysql库

tar --exclude用法-程序员宅基地

文章浏览阅读1.5w次,点赞5次,收藏13次。有时候我们压缩文件时,不希望把该文件下的某个文件夹或文件压缩进去,我们可以使用tar --exclude命令。可是该命令文件夹路径写法需要特别注意,明明加了--exclude,可是还是把不想压缩的压缩进去了。1、我们以一个文件夹为例,如下结构[pc@localhost tar_test]$ ls -a. .. 1.txt 2.txt 3.txt 4.txt .svn[pc..._tar --exclude

五个步骤完成windows安装nginx并代理本地前端项目静态文件_windows nginx代理前端静态文件-程序员宅基地

文章浏览阅读1.7k次。后端开发经常遇到需要自己启动前后端项目的问题,这时候如果你的工作电脑比较垃圾,那么同时启动前后端就会变得特别卡。可以在电脑上放一个nginx,代理前端项目的静态文件夹,这样就省去了启动前端项目的开销。一、下载nginx链接:http://nginx.org/en/download.html二、解压nginx解压后目录结构如下:三、修改conf文件夹中的nginx.con..._windows nginx代理前端静态文件

python是高级动态编程语言-Python语言-程序员宅基地

文章浏览阅读1.6k次。Python是一门跨平台、开源、免费的解释型高级动态编程语言。Python支持命令式编程(How to do)、函数式编程(What to do),完全支持面向对象程序设计,拥有大量扩展库。胶水语言:可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不同应用领域的需求。1.Python是一门跨平台、开源、免费的解释型高级动态编程语言伪编译,Python源程序转..._python是一种怎样的高级动态语言

Goland中的PlantUML手动指定类图位置关系_plantuml调整位置-程序员宅基地

文章浏览阅读8.9k次,点赞2次,收藏4次。类之间默认采用两个破折号 -- 显示出垂直 方向的线. 要得到水平方向的可以像这样使用单破折号 (或者点):@startumlRoom o- StudentRoom *-- Chair@enduml你也可以通过改变倒置链接来改变方向@startumlStudent -o RoomChair --* Room@enduml也可通过在箭头内部使用关键字, 例如left..._plantuml调整位置

随便推点

【jQuery】调用show()和hide()方法显示和隐藏元素_调用 控件名.hide( ); 和 控件名.show( )-程序员宅基地

文章浏览阅读2.3k次。show()和hide()方法用于显示或隐藏页面中的元素,它的调用格式分别为:$(selector).hide(speed,[callback])和$(selector).show(speed,[callback])参数speed设置隐藏或显示时的速度值,可为“slow”、“fast”或毫秒数值,可选项参数callback为隐藏或显示动作执行完成后调用的函数名。例如,在页面_调用 控件名.hide( ); 和 控件名.show( )

J2EE开发系列视频教程_j2ee基础免费教学视频-程序员宅基地

文章浏览阅读1.2k次。BF-TECH3.0 J2EE软件工程师高薪就业品牌课程适合人群:初级课时数量:900课时用到技术:J2EE涉及项目:权限管理通用模块、易买网、CRM客户关系管理系统等咨询qq:1840215592J2EE开发视频教程结合项目,进行实战图书馆信息管理系统、QQ聊天室、B2C网上书店网、论坛短消息、基于JSP B/S架构的企业门户网、租房网管理系统、个人博客系统、宠物商店_j2ee基础免费教学视频

Java开发从入门到精通(一):Java的基础环境知识入门:java概述、jdk安装,idea安装,环境变量配置、jdk组成、程序原理_idea和jdk环境变量配置-程序员宅基地

文章浏览阅读409次,点赞9次,收藏7次。Java开发从入门到精通(一):Java的基础环境 知识入门:java概述、jdk安装,idea安装,环境变量配置、jdk组成、程序原理一个java程序的完整的运行过程是先使用开发工具javac来编译代码,再使用java将class程序送进jvm虚拟机中运行,代码中涉及到的程序例如system.out.println就是java的程序,jvm通过核心类库来调用这个程序完成输出打印功能,JVM和核心类库统称为JRE,也就是java的运行环境,而JVM、核心类库和开发工具java,javac统称为JDK。_idea和jdk环境变量配置

HTML5基础知识-程序员宅基地

文章浏览阅读4k次,点赞20次,收藏90次。一、初识HTMLHTML:Hyper Text Markup Language(超文本标记语言)超文本包括:文字、图片、音频、视频、动画等HTML5的优势: 跨平台、 W3C标准 World Wide Web Consortium(万维网联盟) 成立于1994年,Web及时领域最权威和具影响力的国际中立性技术标准机..._html5基础知识

二十九、pycharm中报错“too many blank lines (3) ”等类似错误-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏14次。 报错如下图:解决方法一:鼠标移至报错处,按住Alt+enter键,选择ignore errors like this方法二:找到设置File - Settings…… - Editor - Inspections中找到PEP8 coding style violation,在右下角ignore error中添加报错id 附件:或者警告id地址:http:..._too many blank lines

计组习题解1.3(1-8)-程序员宅基地

文章浏览阅读290次,点赞8次,收藏9次。DBCCDBCD。