自动化测试实战宝典:Robot Framework+Python从小工到专家
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

在当今高速发展的移动互联网+云优先的时代,到处都有不可预知的变化,有的来自客户需求的变化,有的来自市场环境的变化,这些变化给企业的市场、渠道、产品、服务等各方面都带来了一系列新的挑战,每个成功的企业都在培养和打造快速适应这种变化的能力。对于企业的产品研发部门来说,面对着愈发不确定的客户需求,快速并高质量地完成开发工作,早日上线,尽早收集市场反馈,优化产品和服务,是研发响应市场变化的基本原则。但在追求产品快速交付上线的同时,质量底线是每一个成功的产品都必须要坚守的,这意味着研发团队在提高产品交付效率的同时要保证产品质量,而要实现这一目标,引入自动化测试是一种行之有效的手段。

准备写本书之前,其实我的内心还是挺纠结和矛盾的,毕竟最近两年一直从事研发管理的工作,对技术的钻研已经无法全身心投入了。最近几年感受到越来越明显的一个行业不良现状:“测试人员能力的两极分化太过于严重。”一类是行业小白,这里说的小白,并不一定指的就是刚毕业或刚跨入这个行业的同学,更多的是指测试思维和测试技术一直处于小白状态的人。即便是有些工作了很多年的同学,仍然有很多人一直处于手工测试“点点点”的工作状态,他们不主动或者不愿意去理解业务架构、技术架构,甚至根本没有想过通过提升自己来改变这种工作状态。我面试过很多人,这类不求变或者说不求突破的做纯手工功能测试的人不在少数。另外一类则是行业大师,这类人是极为稀缺的,也是软件行业最抢手的一类人。这类人无论从知识的广度还是深度来说,都可以媲美开发架构师,甚至有些还会超过开发架构师的水平,因为测试工程师作为一个“高危职业”,需要比产品经理(或需求分析师)想得更全面,比开发人员更懂需求,能读懂甚至能修改开发人员的代码。这个观点和《Google测试之道》一书中提到的一条理念很相似,Google对测试工程师的定位是这样的:“如果一个测试人员的业务能力不比产品经理强,编码能力没有研发工程师牛,你怎么能发现他们的问题呢?”这也足以说明,产品的质量保障和测试工作,绝对不是随随便便就能做好或者谁都可以胜任的。

写作本书的目的并不是简单地告诉读者如何使用一个自动化测试工具,我希望读者在学习完本书的内容后能提高综合的技术水平(高度与宽度),从而摆脱简单的手工测试,成为一名新时代的优秀测试工程师。如今移动互联网的技术和知识迭代都是非常快的,技术栈也比较广,建议读者在学习本书内容的同时要自己学会搜索相关技术的官方文档,构建一个属于自己的知识体系,从而系统、全面地理解它,千万不要指望在书中找到所有答案,这在移动互联网时代是不现实的。

正所谓:“授人以鱼,不如授人以渔。”互联网行业的工程师就好比运动员,要想在竞技场上获胜,需要在训练场里长期刻苦地练习技巧,想要成为一个不被时代抛弃的技术人,就需要不断地更新迭代自己的知识体系。加油,读者们,共勉!

本书的目标读者——我适合读这本书吗?

本书适合的人群很广,基本上对测试技术感兴趣或者正在从事测试工作的同学(不限于手工测试、自动化测试、测试开发、测试管理等)都可以阅读。本书从对测试行业现状及未来几年趋势的分析开始,呼吁大家在时不我待的当今社会中,找准定位并建立自身的职场核心竞争力。然后围绕自动化测试技术应用结合多端(后端、Web端、Android端、iOS端、H5端、小程序端)实例来引导读者快速上手。本书涵盖了绝大部分自动化测试知识,不但内容充实、逻辑严密,且图文并茂、语言生动。对Robot Framework使用者来说,本书更是一部难得的工具宝典。

本书的内容组织——这本书讲了什么内容?

全书以自动化测试技术为主线,以Robot Framework框架作为切入点,共分成4部分。

第1部分 入门篇

第1章:从测试行业发展历程开始,分析了作者近几年感受到的测试行业的现状及问题,以及在移动互联网快速发展和AI、大数据、IoT的冲击下,测试行业未来几年可能的发展趋势。系统性地介绍了测试工程师的核心竞争力的三项基本功和七大核心力,并列举了测试工程师能力发展图谱和推荐阅读书单。

第2章:从团队开展自动化测试的必要性,到开展自动化测试过程中常见的误区,以及什么样的项目或团队适合开展自动化测试、在什么时机引入。最后分享了开展自动化测试需要具备哪些能力、自动化测试常用的工具有哪些及自动化测试接下来几年还有哪些机遇和挑战。

第2部分 基础学习篇

第3章:主要介绍Robot Framework框架,包括Robot Framework框架在各个不同的操作系统(Windows、Mac、Linux)上如何进行安装,以及RIDE 1.7.3的一些新特性。

第4章:通过对Python编码规范、Python版本选择、Python快速入门学习、Python编程常用技巧等一系列知识点的介绍,让读者在短时间内快速掌握Python编程基础,也为本书后面Robot Framework自动化测试实战(基于Python)打好编程语言基础。

第5章:主要是对Robot Framework框架基本功能使用的学习,从RIDE编辑器的功能介绍开始,到Robot Framework常用编程器推荐。最后介绍了一系列Robot Framework常用技巧,包括如何合理运用标签策略、如何通过Pybot命令行来灵活控制执行测试用例、如何使用Jybot来运行Robot Framework测试用例等。

第6章:介绍Robot Framework中常用的一些函数库,包含内置的标准库、第三方扩展库,涉及针对变量的操作、类型转换的操作、元素集合的操作、条件语句的操作及断言校验的操作等。

第3部分 项目实战篇

第7章:从接口测试的基本概念开始介绍,到如何从多维度来对接口测试进行用例设计,接着介绍接口测试项目在设计过程需要注意的事项,以及推荐的最佳工程实践约定。最后结合具体的实战案例介绍不同类型接口如何开展测试,并在章节的末尾分享了一系列接口测试的实战技巧,包括如何开发系统关键字、如何与GitLab和Jenkins CI集成管理。

第8章:主要介绍基于Robot Framework+Selenium框架如何开展Web UI自动化测试,在整个章节中,从Selenium是什么、Robot Framework与Selenium之间的关系说起,到开展Web UI自动化测试常用的关键字、Web元素定位方法,以及Web UI多浏览器兼容。最后通过具体的项目实战介绍了如何基于Robot Framework框架来设计Web UI自动化测试项目。

第9章:主要介绍基于Robot Framework+Appium框架如何开展移动端App自动化测试,在整个章节中,从Appium是什么及它的常见概念和工作原理说起,到自动化测试所需环境的搭建,包括Appium相关环境、Android相关环境、iOS相关环境。最后通过具体的实战案例,分别介绍Android(模拟器、真机)、iOS(模拟器、真机)、H5、小程序等自动化测试实践。

第4部分 扩展篇

第10章:对Robot Framework框架的部分源码和目录结构进行剖析,首先分析整个Robot Framework源码结构、各目录对应的职责功能,然后通过源码跟踪分析来梳理Robot Framework框架执行测试用例的过程,最后通过二次开发增加监听器的形式来扩展命令行实时显示日志。

本书的特色——这本书能带来什么价值?

1.这本书主要讲了什么内容?

全书以自动化测试技术为主线,循序渐进地介绍了自动化测试所涉及的知识体系,通过不同端的实战项目,综合运用了所介绍的技术,旨在提高测试人员的综合技术能力和扩展知识体系。

2.通过这本书能学到什么?

为了帮助读者提高测试技术水平,本书不仅介绍了测试方面的知识和自动化测试实战,还介绍了Python编程与应用、持续集成,以及Android、iOS、H5、小程序等相关知识。

3.这本书有什么特色?

不仅是一本工具书,更是一本测试知识体系的参考书籍。

涵盖多端自动化测试应用,包括后端、Web端、Android端、iOS端、H5端、小程序端等。

实战性强,各端知识介绍均从点到面逐层递进展开,并用大量的实战案例来说明自动化测试的最佳实践与分层设计原则。

致谢

本书得以出版,要感谢本书的首席策划编辑董英女士,你的专业水准和责任心为本书提供了质量保证。此外,还要感谢我的家人,特别是我的宝贝女儿(涵宝),在爸爸写作期间没有调皮捣蛋,可以让书顺利出版。

周金剑(狂师)

读者服务

微信扫码回复:36320

获取博文视点学院20元付费内容抵扣券

获取免费增值资源

加入读者交流群,与更多读者互动

获取精选书单推荐