【落叶165】《测试路上你问我答》(29)如何开始踏上玩转自动化
这是《落叶》文集里第165片落叶,希望你能喜欢,不为别的,只为这份坚持。
【背景】
千纸鹤提问:安卓自动化测试对编程语言的技能需要掌握到什么程度?涉及到的知识点有哪些呢?在自动化测试的过程中如何掌握好这些知识点技能?还有安卓自动化测试如何运用到这些编程语言的知识点?
这位同学一口气问了四个问题,其实稍微精简归纳一下,就是想触电自动化测试的同学们最常问到的一个问题:想玩转自动化测试需要我掌握哪种语言到什么程度?
【你问】
如何开始踏上玩转自动化测试之路?
【我答】
术业有专攻,所以我特别请教了我司专门负责 APP 客户端自动化测试框架的测试开发工程师 “奔跑的小小鱼”帮忙就这些问题给我提供了一些解答思路,她在 Android 自动化测试框架 Appium 方面有着非常丰富的经验,同时她也在研究其在 iOS 上的应用。你们也可以参看她的一些文章,比如《敏捷开发自动化测试框架之用户故事》和《Android&IOS自动化测试框架整合升级方案》。
1、根据自己的需求找到一款适合自己项目的自动化测试框架,比如:你现在是想做 Android 客户端的自动化测试,那从跨平台性和语言的支持种类上来说,可以选择 Appium;
2、根据框架和所测对象,选择一门该框架支持的语言,比如:你测试的对象是 Android 客户端,选择的框架是 Appium,那 Java 就是你首选的语言;
3、从语言本身来说,你肯定要依次学习且掌握的是Java 的基本语法,J2SE 的 API 用法,建议先考虑掌握字符串处理、异常处理、容器、输入/输出(I/O)、线程(Thread) 这几个大类;
4、当你能够把书中的案例和作业都能编写且调试通过之后,就可以从网上下载 Appium,在本地搭建 Appium 环境了,这时候可以求助度娘,有很多 Appium 的安装指南或手册;
5、从你的实际项目中,挑选一个最基础的小模块,比如用户登录模块,梳理出一条正向的测试用例,然后尝试将其在 Appium 框架中实现出来,在做这个 Demo 的过程中,你第一能够初步熟悉 Appium 的应用,比如框架的基本应用,对象的识别方法等等,第二能够再次确认这个框架是否适合你的项目;
6、包括 Appium 在内的很多框架都是开源的,所以资料基本都是英文的,中文的资料除去像“奔跑的小小鱼”这样的高手整理出来的文章资料,就很难有系统的了,所以英文的阅读能力要求也不亚于 Java 本身的学习,其实这也是很多测试同学在挑选合适框架时的一大拦路虎,没有汉化版,没有中文帮助文档;
7、当你在完成 Demo 之后,再去逐步建立和思考一些自动化测试框架的实战应用的问题:
(1)比如 Keywords 要封装到什么细度比较合理?
(2)如何维护 Object MAP 的成本比较低?
(3)TA Case 怎么管理比较清晰易用?
(4)脚本之间的弱耦合性和强耦合性对脚本执行的成功率和效率的影响有何不同?
(5)脚本执行完之后的结果如何展现和异常如何捕获?
《测试路上你问我答》里的Q&A 29,如果是你要的,甚好!如果不是,你问,我答!
作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵