TestNG 作为Java 中举足轻重的测试框架,除可以替代JUnit 进行单元自动化测试外,还可以通过集成Selenium、Appium 和HttpClient 等框架做各种类型的自动化测试。本书首先对自动化测试进行了概述,接着对TestNG 的语法进行了讲解,核心部分是使用TestNG 进行单元自动化测试、接口自动化测试和界面自动化测试,最后介绍了持续集成、Mock 测试和代码覆盖率等扩展知识。
本书适合测试工程师、自动化测试工程师和测试管理者阅读。
本书是一本TestNG入门手册,可帮助读者快速上手,并在实践中使用TestNG测试框架。
卢家涛,2011年开始接触自动化测试,对基于Java和Python的自动化测试技术有深入研究。现于某公司担任高级测试工程师一职,负责整个公司的自动化测试方向研究和项目落地。
前言
写作背景
2011 年我接触了第一个自动化测试工具DeviceAnywhere,该工具将真实手机置于云端,通过录制回放执行自动化测试脚本,最终采用图片对比技术实现断言。自此之后,我对自动化测试技术产生了浓厚的兴趣,在之后的8 年多时间里,我不断学习自动化测试技术,并把它落实到实际项目中。
为什么是TestNG,而不是JUnit?
JUnit 主要用于单元测试,而TestNG 在JUnit 的基础上做了很多改进,更适合做全栈自动化测试的整体框架。
本书内容
本书的写作顺序不是由浅入深的,而是“自底向上”的,即按照单元自动化测试、接口自动化测试和界面自动化测试的顺序编写的。
本书首先对自动化测试进行了概述(第1 章);
接着对Java 和TestNG 语法进行了讲解(第2 章和第3 章);
核心部分是使用TestNG 进行单元自动化测试、接口自动化测试和界面自动化测试(第4章至第10 章);
最后介绍了持续集成、Mock 测试和代码覆盖率等扩展知识(第11 章)。
对于代码基础比较薄弱的读者,建议在阅读完前三章内容后,先阅读较为简单的第5、7、8 章,再阅读第4、6、9、10、11 章。
适合读者
测试工程师:本书可以从简单的Web 自动化测试(第7 章)带你走进自动化测试的大门。
自动化测试工程师:打通各个级别的自动化测试壁垒,帮助读者全面掌握单元自动化测试、接口自动化测试和界面自动化测试。
测试管理者:了解主流自动化测试技术,指导团队开展自动化测试,把握自动化测试的方向和目标。
致谢
感谢老婆的理解和支持,让我能全身心地编写本书。
感谢老大(陈恒骥)给我进入软件测试行业的机会,没有这个机会,我不可能在这个行业走得这么远。
感谢编辑安娜在本书出版过程中耐心的指导。
虽然书中的每个技术点都曾在实际项目中实践过,但由于时间仓促难免有误,敬请读者批评指正。
笔者的GitHub:https://github.com/lujiatao2/httpinterface/releases。
卢家涛
2019 年12 月20 日
111