51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3413|回复: 7
打印 上一主题 下一主题

[转贴] 送给那些有代码基础但仍旧不会学自动化测试的朋友们

[复制链接]
  • TA的每日心情
    擦汗
    昨天 09:08
  • 签到天数: 947 天

    连续签到: 6 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2017-8-31 14:30:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我经常遇到这样的场景:老师,我有python or java基础,但还是不知道怎么写代码?老师,我有代码基础,简单的不用学,我想学高级的。老师,我有编程基础,但是我看不懂代码。。。。。。诸如此类的问题,我想大家也一定有这些内心的OS

    面对这样的场景,这样的问题,我也问了不少童鞋,得到的答案其实听悲哀的。莫过于说些代码太难了,不会不懂;这个代码写的不详细导致我看不懂;我有编程基础的,是你写的代码太烂了。。。。。诸如此类把问题全部归于他因的。。。可悲之处明理之人应该懂的了。。。。

    好了,言归正传吧,就类似于这样的问题我这里统一说说我的想法和学习技巧吧,有不对的地方请多多包涵,我也是low逼之人,所以难免也有说的不对不妥的地方,喜欢赞之、转之,不喜欢笑之、弃之即可。

    1、学习自动化测试,或者说些代码,核心是学习思想,实现一个框架或功能的思想,没有这个思想你就算会77种编程语言都没卵用。那这里说的思想是什么呢?举个栗子,你想完成一个从excel读取用户名和密码并进行登录的case,你要怎么设计,这就是思路。
    大部分我见的童鞋包括我带的学员,一上来就是写代码,其实这是最忌讳的,构思逻辑、代码结构才是第一步,最后一步才是写代码,本末倒置,你说能写的出来吗?

    2、所谓我有编码基础,在我碰到的大部分人中,可以解读为我学会编程,但现在忘了,我会hello world,这个不算有基础,撑死算有编码的概念而已。这也就是你为啥写不出来,看不懂的最根本原因。
    上面指出了大家的问题,那么接下来就I看看应对方法。这里我特别想多说一句:能真诚的给你指出问题的人值得感恩(虽然刺耳),多去提升自己的不足少去抱怨别人的不好是使你成为大神最快的捷径。

    学习自动化测试或编程基本的路径:
    第一条:认知(包括概念,意义等)>熟悉某一门编程语言(python or java)>从简单固定的例子开始不断练习(跑起来最重要,理解最不重要)>练习中培养自己解决问题的思路(理解的过程)>组织更复杂的框架>不断总结
    第二条:模仿>跑起来>理解>转换为自己的
    1、自动化测试的认知我就不多说了,在我的新书《小强软件测试疯狂讲义》中已经详细说过了
    2、熟悉一门编程语言,注意我的用词是熟悉,不是知道,不是了解,不是会hello world,而是你可以熟练的随便写一个简单的demo出来,掌握了一般的编程、调试方法。至于大家纠结的学python还是java,没所谓的,都可以,你喜欢哪个就学哪个,有java基础的就学java,没有的学python入门会快点。编程语言这个东西本质都一样,只是语法有差异,思想都想通的。
    3、不要看不上简单的例子,有多少人口口声声说的我有代码基础,结果却学的一塌涂地。。。。用个词语形容:眼高手低。学代码就要先模仿,让代码跑起来,然后再去理解。很多童鞋一上来就要理解理解,为什么为什么,代码都没跑起来理解各毛线啊,为什么个p啊(sorry,情不自禁的爆粗口了,哈哈,原谅我的任性)
    这和你学开车一样,模仿,练习,慢慢的明白汽车的各个原理,加什么油,为什么后排中间有突起啥的了。我经常和我的学员说,学习最忌讳的是开始就陷入细节,一味追求理解。因为很多所谓的理解是需要你有足够的知识、阅历和经历沉淀才能做到的!
    4、回到上面问的那个登陆的问题,我们就说说核心的思想。拿到这个问题不是去实现写代码,而是去想实现他的思路和构成,这个过程不涉及具体的细节,不考虑是否能真的实现。我们来看下这个过程:
    a、拆分问题。本题可拆分为python读取excel(还要考虑excel怎么设计更方便读取)、读取出来的数据如何存储、存储之后的数据如何放到对应的用户名和密码上
    b、逐步实现。以selenium为例,先把用户名和密码元素识别出来且写死数据,至少保证代码可以运行起来。不要上来就想我用户名要是好几个怎么实现呀。一个写死的用户名你都没跑起来代码想那么多干毛线啊。
    c、实现python读取excel数据并保存
    d、用读取保存的数据去替换对应的用户名和密码
    e、完善代码加入异常处理机制。不要一开始就想报错了怎么办,用户名密码不对了怎么办,测试的基本思想怎么关键时间都丢失了呢。。。做功能测试我们都知道先正,后反啊,怎么到了写代码的时候就忘记了呢。
    f、运行好了,理解了,可以慢慢在优化,比如加入unittest、htmlreport等
    在整个上述的过程中,很多代码都是固定的,比如unittest的用法格式就是固定的,先记住怎么用,用起来再说。很多人老学别人去看源码,你的有一定基础了才行啊,不然看源码简直是雪上加霜。
    最后,学习是一个过程,是一个步骤,和生成一辆汽车一样,不要跳着学习,能跳级的童鞋毕竟是少数,踏踏实实的一步步学,越往后你会发现效率越高,有时候我们以为的我们以为真的不是我们以为的那样。。。。。。就和你开车,你的先让车跑起来才能想怎么变道安全,怎么超车安全,怎么侧方停车啊。。。。
    PS:有些东西文字不好表达,还的靠大家意会。。。。。。。幸苦大家了

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏2
    回复

    使用道具 举报

    该用户从未签到

    5#
    发表于 2017-9-6 17:16:34 | 只看该作者
    本来写了很多。。。但发现这不是一个三两句话可以讲清楚的。多练!!!即使一开始你啥都不懂,但只要你坚持,你会走一条自己的道路!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2017-9-26 18:24:52 来自手机 | 只看该作者
    不错,先跑起来,慢慢理解,然后转化为自己的东西
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-1 09:52
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    7#
    发表于 2017-9-30 13:49:42 | 只看该作者
    写得很好,学习了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-12 14:04 , Processed in 0.069959 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表