作为一名测试人员,从工作的第一天开始我就对自动化测试产生了独特的兴趣。而最初的理由也很简单,就像开发人员不愿意只写业务代码一样,测试人员也不希望只局限于手动测试。自动化测试对于当时还是新手测试人员的我而言,完全可以用“高大上”来形容。自此,我便在学习和实践自动化测试的道路上越走越远。
而随着计算机技术及互联网的发展,如今作为一名测试人员,不仅要掌握针对于业务流程的手动测试方法和理论;还要具备一定的自动化、性能的测试能力。甚至于在找工作时会写脚本,会使用自动化工具进行测试已经成为测试人员的一种标配。本书总结了作者在项目实践中的多年工作经验,梳理了自动化测试需要掌握的一些基本技能和知识,帮助初级测试人员快速掌握目前常用的自动化测试手段和方法,提高自身的综合技能水平。
自动化测试对于测试新人而言,往往会理解为手动功能测试的自动化实现。比如:UI自动化测试。但从广义概念来看,自动化测试还要包括:接口自动化、性能自动化、白盒自动化、安全自动化、自动化工具/框架/平台等一系列可以通过开发脚本来实现的测试。而本书所讲到的自动化测试内容包括:UI自动化、自动化框架、接口自动化、自动化工具、自动化持续集成等相关知识。目的是给读者打开一个通向更加广泛的自动化测试之门。
此外,对于一些刚开始接触自动化测试的人员而言,自动化测试几乎等同于高效测试。其实现项目中并没有想象的那么美好,自动化测试需要根据不同的场景和需求来定制不同的自动化测试方案。本书最开始的部分就介绍了自动化测试的方法论和最佳实践,避免测试新人误入自动化测试的“陷阱”。
另外,本书也是一本Python的基础学习教程,作为Python的铁杆粉丝,自然也希望能够将Python语言最大程度地推广到自动化测试领域中来。正所谓“人生苦短,我用Python!”
1.附带读书兴趣小组,方便学习沟通
为了便于读者相互沟通,提高学习效率,作者专门为本书建设了读书兴趣小组,读者可以通过登录testqa.cn并加入seleniumbook小组来学习和交流。另外本书中的源码包也会在这个小组中支持下载。
2.涵盖多种自动化测试方法
本书涵盖自动化测试中使用到的多种测试方法,除了UI的自动化,还包括接口自动化,测试工具开发、CI的使用。
3.对Selenium工具的历史和原理进行了分析与说明
除了对于Selenium工具,提供相关接口的实例代码外,还介绍了Selenium的历史和基本原理。使得读者在学习的过程中,知其然也知其所以然。另外对Selenium IDE的操作和使用也做了较为详尽的说明,使得初学者也可以快速上手和使用Selenium进行自动化测试的实践。
4.介绍详尽框架的开发
本书除了介绍Selenium的一些基本接口之外,还介绍了在基于Selenium的情况下,如何搭建可用性较高的测试基础框架。使用分层架构、数据驱动、业务解耦、功能封装等方式,让UI自动化测试不再是“可远观而不可亵玩”的技术。
5.总结自动化最佳实践
本书的开头并没有一上来就开展技术的介绍,而是先从方法论和最佳实践开始。目的是让读者先理解“道”,再学习“术”。这样才能更好地学习和真正地利用自动化的相关测试技术。避免测试新人误入自动化的“陷阱”。
6.提供基础的Python教程
除了介绍自动化相关的测试技术,本书还涵盖了书中其他地方需要用到的Python编程基础知识。为的是让读者只需一本书就可以开始步入自动化测试的行列。
7.提供完善的技术支持和售后服务
本书提供了专门的技术支持邮箱:five3@163.com。读者在阅读本书过程中有任何疑问都可以通过该邮箱获得帮助。
本书分为三大部分。
第一部分为方法论,主要介绍入门自动化测试之前需要了解的相关方法论和最佳实践。
第二部分为Selenium介绍,着重讲解Selenium的历史、原理、IDE和接口的使用,同时还介绍了基于Selenium的自动化框架搭建。
第三部分为工具开发介绍,通过一步步深入的介绍带领读者进行接口测试工具、mock测试工具的开发,同时集成到Web服务中。
除了这三个主要部分之外,还会有一些其他的自动化相关知识,各自分散在不同的章节中。比如:CI持续集成的使用,基础环境的搭建,Python语言的学习等。如果你是一名初学者,建议从第1章开始学习。
扫描右侧二维码可获得本书配套课件。
当您阅读完本书后,相信已经掌握了Python Web自动化测试的基本知识。但如果还要更进一步深入下去,还必须要进一步地掌握Python的开发技术,以及加深对自动化测试的理解。掌握了扎实的技术能力之后,针对项目中需要提炼的流程和事务,进行分析并有针对性地优化。做好自动化项目最重要的一点就是:结合实际业务需求,否则可能就成为“空中楼阁”。
此外还需要学习性能、白盒、安全等相关测试技术,结合自动化来提升这些测试过程中的效率。比如:测试数据的准备、mock系统的开发、代理监听、信息采集等。
如果希望在Python编程方面有更多的提升,推荐去阅读Python核心编程方面的书籍,而对于项目中的效率提升则需要自己更多地去实践、学习和思考。
由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,特意创建一个在线支持与应急方案的二级站点http://www.testqa.cn/seleniumbook。你可以将书中的错误发布在Bug勘误表页面中,同时如果你遇到任何问题,也可以访问seleniumbook小组页面,我将尽量在线上为读者提供最满意的解答。书中的全部源文件除可以从github(http://github.com/five3)下载外,还可以从testqa站点下载,我也会及时更新相应的功能。如果你有更多的宝贵意见,也欢迎通过清华大学出版社网站(www.tup.com.cn)与我们联系,期待能够得到你们的真挚反馈。
首先要感谢我的爱人、岳母,是她们的辛苦付出和支持才让我有时间来进行本书的写作。
感谢出版社的编辑老师,在这一年多的时间中始终支持我的写作,你的鼓励和帮助引导我能顺利完成全部书稿。
还要感谢职业生涯中给予过我帮助的同事们,没有你们的信任和无私的帮助就没有这本书。
最后感谢我的爸爸、妈妈、哥哥、姐姐,感谢你们将我培养成人,并给予我的一切!
谨以此书献给我最亲爱的儿子,希望他一直快乐成长!
陈晓伍