软件自动化测试开发

2019-03-14 16:49:13 +08:00
 finer

目 录

第 1 章 App 自动化测试方案 ................................................................................................. 1

1.1 概述 ............................................................................................................................ 2

1.2 风险分析 .................................................................................................................... 2

1.3 软硬件需求 ................................................................................................................ 3

1.4 测试计划 .................................................................................................................... 3

1.5 Appium 移动自动化框架 .......................................................................................... 4

1.6 测试框架 .................................................................................................................. 10

1.7 自动编译部署工具 .................................................................................................. 11

第 2 章 Android 自动化环境搭建 ........................................................................................ 14

2.1 Android 搭建的简要步骤 ........................................................................................ 15

2.2 在 Windows 上搭建 Android 自动化环境 .............................................................. 16

2.3 在 Mac 机器上搭建 Android 自动化环境 .............................................................. 28

2.4 Android 自动化测试运行 ........................................................................................ 29

第 3 章 iOS 自动化环境搭建 ................................................................................................ 30

3.1 iOS 环境搭建的简要步骤 ....................................................................................... 31

3.2 iOS 自动化环境搭建的详细步骤 ........................................................................... 31

3.3 iOS 自动化测试运行 ............................................................................................... 38

3.4 iOS 的 App 自动化测试 demo 演示视频 ................................................................ 38

VIIIⅠ 软件自动化测试开发

第 4 章 App 自动化测试源代码 ........................................................................................... 39

4.1 基于 Java 的 App 自动化源代码解析 ..................................................................... 40

4.2 源代码结合 Ant 持续集成到 Jenkins ...................................................................... 71

4.3 Android 和 iOS 自动化测试结果展示 .................................................................... 73

第 5 章 API 接口自动化测试方案 ........................................................................................ 75

5.1 概述 .......................................................................................................................... 76

5.2 所用技术点 .............................................................................................................. 78

5.3 主要功能 .................................................................................................................. 78

5.4 测试计划 .................................................................................................................. 79

第 6 章 API 接口自动化环境搭建 ........................................................................................ 80

6.1 Python 环境准备 ...................................................................................................... 81

6.2 Zentao (禅道)项目管理工具 ............................................................................... 83

6.3 MySQL 数据库 ........................................................................................................ 84

6.4 Fiddler 接口抓包工具 .............................................................................................. 86

6.5 Postman 接口测试工具 ............................................................................................ 93

第 7 章 API 接口自动化源代码 ............................................................................................ 96

7.1 基于 Python 的接口自动化脚本解析 ..................................................................... 97

7.2 Python 接口测试数据展示 ........................................................................

收起全部↑ 前言 /序言   前 言

关于本书

互联网软件技术发展速度非常快,稍不留神就“ out ”了,然而测试思路、开发语言却是有历史承传的。只有多实践打好基础,知其然并知其所以然,方可以不变应万变。我们上学是从幼儿园、小学、中学……到博士后一级一级上,学习技术也不例外,因此具备快速学习的能力十分重要。人们对美好先进的东西永不会满足,追求永无止境,所以人生就是一个永远自强不息的成长过程。

本书用详细、完整的案例,完整的代码以及理论知识引领读者进入实际操作。当读者实践一遍之后,就能看到真实效果,并且印象深刻。就像拿到驾照后终身不用再考,而且能够驾驶准驾车型的各种车一样,二者的原理相同。这样我们就能花最小的代价学到最实实在在的自动化测试开发技术。

本书全面地深入讲解地自动化测试开发技术,包括接口自动化测试、App 自动化测试、Web 自动化测试和性能自动化测试,同时还讲解了最新、最流行的自动化技术:移动 Appium 功能自动化、API 后台接口自动化、LoadRunner 性能测试、Selenium 的 Web 自动化以及 JMeter 自动化技术等。

本书基于 Java 语言和 Python 语言编写,结合各种主流开源工具框架,能够真正地提升测试技术水平。掌握一门开发语言是极为必要的,读者可着重学习书中完整的 Java 和 Python 源代码和解析,提升薄弱环节。源代码对于实战来说十分重要,因此书中代码部分都加上了注释和解析,以供读者理解和学习。写代码无疑是测试同行较为薄弱的部分,但是当把看代码、写代码当成一种习惯或一种乐趣时,学习代码自然就能得心应手。

本书实践与理论相结合,包括方案、环境、代码和运行报告。书中的源码在保留版权的情况下供读者使用,也就是说,读者使用源码时需要注明出自本书。本书需要读者有较好的基础和耐心,以及领悟力。对初学者而言,可以照葫芦画瓢,在实践中激发兴趣和信心,对有基础的读者而言,可以更加深入地了解自动化测试,并直接应用到工作当中,本书的内容将起到一个实用指南的作用。有的人擅于自己摸索着学习,有的人喜欢在书本的引导下学习,也有的人需要通过培训来学习,这都没关系,俗话说:不管黑猫白猫,抓到老鼠就是好猫。

关于软件自动化测试开发

除手工测试外,其他都是自动化测试。因此,软件自动化测试开发指的是测试技术和开发技术相结合,用手动测试之外的测试技术,模拟手动用户场景测试的实现过程,简单来说,就是用写的代码来测试程序。

在工作中,手动功能测试人员通常会感觉自己比其他如开发、产品等人员相对弱势,因为功能测试一般被认为技术含量不高,准入条件较低,甚至被认为工作就是单击页面,单击按钮。通常手动功能测试人员只需 3~6 个月左右的专业培训就足以胜任工作。

自动化测试开发工作相对测测而言,技术含量较高,相关人员的待遇也相对较高,他们与广大程序员的性质相同,是测试从业人员追求技术进步的表现。一般来说,自动化测试开发需要 1~3 年左右的专业培养方能胜任工作。

适合读者

绝大多数适用的读者

. 所有软件测试从业人员,包括测试团队 leader。

. 有一定开发语言基础的测试人员。

. 软件测试专业的学霸。

少部分适用的读者

. 软件测试专业的在校大学生。

. 软件技术、移动互联网相关人员,包括开发人员,研发团队 leader 等。

. 其他任何对软件自动化测试开发感兴趣的人。

作者简介

本书作者有丰富的软件测试从业经验,擅长开发和测试技术,担任测试主管,测试经理, 以电子商务、银行证券、移动互联网为主要业务领域, 现在负责一上市企业 O2O 产品的软件自动化测试开发工作。

大纲内容

第 1 章到第 4 章:介绍 App 功能自动化测试方案、环境、代码、运行报告。

第 5 章到第 7 章:介绍 API 接口自动化测试方案、环境、代码、运行报告。

第 8 章:介绍 Selenium 的 Web 自动化测试。

第 9 章:介绍 JMeter 接口和性能测试。

第 10 章:介绍 LoadRunner 性能测试。

第 11 章:介绍 Jenkins 持续集成。

附录 A-D:小知识参考。

前言后记:“鸡汤”。

致谢

感谢自己业余时间在咖啡厅辛勤地写完此书,感谢我的家人,感谢我的朋友们。

感谢之前相对比较默契的同事们,因为和大家共同的工作经历和成长才得来本书内容的酝酿——分别有测试经理蔡祥;走秀网 PM 吴盛幸,开发劳水生,测试经理曾春刚;腾讯开发郑双明;华南城华盛电子商务 CTO 阳志军等。

最最感谢的是对本书感兴趣的你——读者朋友们。

关于勘误

虽然书中的每个技术点都曾在实际项目中实践和应用过,但也会因为我们个人技术、所测项目和视野的局限,以及本人因时间仓促和能力水平等种种原因,书中难免会有一些错误和纰漏,如果大家在阅读过程中发现了什么问题,恳请反馈给我,读者朋友们可即时在线交流,联系方式如下。

作者微信和 QQ 号:zouhui1003it,7980068

测试博客: http://www.cnblogs.com/finer

读者实战 QQ 互动群:377029807

更多精彩内容,请关注微信公众号 :测试开发社区

2622 次点击
所在节点    Java
6 条回复
TommyLemon
2019-03-14 17:10:48 +08:00
感谢分享。
关于自动化接口测试,这个怎么样?介绍里说不用写代码,有机器学习版的
视频 i.youku.com/apijson/ 源码 github.com/TommyLemon/APIJSONAuto/
shyrock
2019-03-14 17:19:19 +08:00
@TommyLemon 这么夸张?机器学习?
xuchaochao
2019-03-15 07:29:35 +08:00
打广告的?
不做测试好几年了,这都 9102 年还搞 UI 自动化 appium 这一套刷存在感没卵用的东西,真的不害臊吗。。。。
看了下目录,你的东西在两三前就已经是百度都能找到的东西。测试这个行业怎么还没死?
TommyLemon
2019-03-15 09:57:53 +08:00
@shyrock 对的,可以看下
http://apijson.org
efaun
2019-04-02 11:00:56 +08:00
@xuchaochao 请教一下“ UI 自动化 appium ”现在有什么新技术替代吗,新入坑的测试,不知道以后怎么提高发展自己,你现在做的什么行业?
xuchaochao
2019-04-02 11:58:09 +08:00
@efaun 已转开发 测试是个坑 ui 自动化就是自欺欺人的东西

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/544634

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX