移动测试人员学习Python的顺序

最近QA部门的学习气氛很浓,在新员工答辩会上很多人都表达了要学习Python的意愿,但问到具体学习规划通常说上来。针对这种情况,本ID 觉得很有必要总结一个比较通用的Python入门指导,因为所处的行业原因,本指导可能比较适合移动互联网的测试同学,希望没有误人子弟。

第一阶段:入门阶段:(一般1周到2周)outside_default.png

主要任务:

1)配置Python环境

2)挑选合适自己的IDE工具

作为移动互联网测试人员当然推荐Eclipse+pydev组合,Eclipse+pydev的是一个非常主流的选择,好处就是碰到问题可以有很多 途径去问,降低学习曲线,而且Eclipse加装Android SDK后顺便也能搞定Android的自动化测试,一举两得。

这一点要说明一下,一般网上会有一部分不食人间烟火的编程狂热分子会强烈要求你用记事本或者vi神器来写Python就可以了。但你要上这种当你就 死翘翘了,因为这些大神们通常说的是单兵作战写个脚本的情景,典型的如黑客入侵。而你不是,你是要来做项目的,需要和团队合作,需要svn管理,需要 Android模拟器

另外不要再以上两个环节浪费太多时间,环境配置和用什么IDE不是我们的目的。

3)《简明Python教程》

作为入门级别的教材,网上就有这本书的全部内容(链接见参考部分),把这本书看完练习一下书中的例子,大概知道一下语法,几种数据类型怎么用,你就算入门了。

第二阶段:实践与调试阶段:(一般1个月到2个月)

入门之后要迅速巩固学习成功,这个阶段很主要,目的就是大量的Coding,放弃自己只是一个初学者的想法。如果不多加练习,第一阶段等于白忙了。可以给自己找找工作中的任务,以下几个模块都是比较基础的经常会用到的。你可以考虑把每个模块都做一个小工具或者小任务出来。

如果实在想不出写什么东西,可以自己写个脚本算一下淘宝彩票的中奖概率。

主要任务:

XML模块 (可以用来练习发送业务协议报文)

Excel模块 (可以用来分析日志并展示结果)

urllib2模块 (可以用来抓取web方面的测试结果)

re模块 (正则式的使用)

json模块 (可以用来练习发送业务协议报文)

mysql模块(或者其它数据库模块)

pyUnit (jUnit测试框架的python版本)

Python+Monkeyrunner (用来做Android上简单操作的自动化或者截图)

Python+Selenium (可以用来做web自动化测试)

BeautifulSoup模块

Python爬虫 (可以自己写只爬虫或者Scrapy)

记住这个阶段其实还只是把Python当成是脚本或者“胶水语言”再用而已,目的还只是提高Python语言本身的编程能力。

第三阶段:全面了解阶段 (反复过程)

OK,经过上述大量实践之后,你自然而然就是觉得每次碰到问题直接上网Google或者抄代码是解决不了问题,下次碰到了还得再Google一次。 你自己都觉得了虽然你会用某个具体的模块,但只是简单地用用它最基本的功能,比如你知道subprocess模块可以用来发送命令,但是你不了解很多细 节。因此你开始考虑对某个模块深入研究或者对Python这么语言进行一次洗心革面的了解。这样电脑前放一本随时可翻阅的参考的书是必不可少的。

主要任务:

1)《Python核心编程》或者《Python基础教程(第二版)》

这个环节任务就是看书,要点是计划和坚持。 列个读书计划,按时按量的过完每个章节。目的是达到对Python这门语言有个全面的了解

2) Python官方文档

GP或者App store上都有人把Python的官方文档做成电子书,可以安装在自己的手机上,没事按模块浏览一下。

3)Python面向对象的编程

4)收集自己的一些代码样本

比如简单的列表去重,最开始你估计寻思着几种写法,没事你就直接测试一下哪种写法效率比较高,然后就记录一下,下次还需要列表去重的时候你的脑海里立马就有思路了。效率提高之道

第四阶段:定向专攻方向:(长期过程)

Python作为一个脚本语言是最基本的要求,经过上述的阶段之后,可以说你已经会写Python脚本了,但会Python的谁不会写脚本呢?对 不,无非就是写的好与不好,本着实现功能的原则,本ID亦不会去追求纯粹的代码的高效。因此你还得有一个或者几个比较善长的,下面是几个方向可以选择一个 专攻。

1)桌面软件(wxpython或者QtPython)

没错的,用Python开发桌面运用,没事把之前用命令行执行的东西都可视化一遍。桌面软件的好处就是你写的工具别人拿来就直接能用了,不需要对方还得配置Python环境,写好的软件也可以自己发布到网上去,比如有一天突然你写了一个专门抢“小米手机”的软件。

如果选择wxPython的话还可以选择用BOA作为IDE,这样就可以像Delphi一样用鼠标拉拉组件来设计界面了。同样在选择用何种桌面UI框架来设计时也不要太过纠缠。

2)web框架 (webpy,flash,tornado,Django)

Web网站是一种更直接更方便的展示形式,这块的领域就比之前的更加广阔了,可以展示上述过程中Python脚本执行后的结果。

当然你因此还得顺带了解前端(HTML5,JQuery,nods.js等),数据库(noSQL,mySQL,MongoDB),服务器之类的东 西。选择这个方向的人天天梦想着自己有一天也写出了一个类似豆瓣那样的网站(Quixote+webpy) ,恩,这是一条不归路。

3)移动测试(Appium+Python)

Appium是一个比较新鲜的东西,支持Android和iOS平台的自动化测试。如果你有意接触这一块的话,推荐你从Appium+iOS开始学 起,因为Robotium已经是事实上的Android自动化主流选择,而iOS上的自动化方面的工具或者说框架实事上还处于空白,Appium有可能会 成为一个新的主流方向。

什么!你还想学习Linux环境?OK,把上述写完的脚本全部部署到Linux服务器上去。

参考:

  1. 《简明Python教程》中文版:http://woodpecker.org.cn/abyteofpython_cn/chinese/

  2. Python2.7官方文档:https://docs.python.org/2/library/index.html

  3. Appium官方:http://appium.io/zh-cn/index.html

  4. BOA官方: http://boa-constructor.sourceforge.net/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值