送给那些有代码基础但仍旧不会学自动化测试的朋友们
我经常遇到这样的场景:老师,我有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:有些东西文字不好表达,还的靠大家意会。。。。。。。幸苦大家了
文章题目:送给那些有代码基础但仍旧不会学自动化测试的朋友们
转载来源:http://hbruida.cn/article/pspodg.html