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

百度搜索:小强测试品牌

交流群:165380836

我经常遇到这样的场景:老师,我有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:有些东西文字不好表达,还的靠大家意会。。。。。。。幸苦大家了

感觉有收获就点个赞,转发下呗

时间: 2024-08-04 03:41:35

送给那些有代码基础但仍旧不会学自动化测试的朋友们的相关文章

微信分享代码之在网页中添加“分享到微信朋友圈”按钮的代码分享

微信分享代码之在网页中添加“分享到微信朋友圈”按钮的代码分享 由于目前微信并没有提供这个按钮的官方支持,很多人问我们这个按钮是如何实现的,其实很简单,我们把我们实现的方法分享给大家,希望对那些想在网页端加这个按钮的人有所帮助. 下面是代码(相关参数请自行修改): function WeiXinShareBtn() { if (typeof WeixinJSBridge == "undefined") { alert("请先通过微信搜索 添加分享组件提供商友推为好友,通过微信分

编写高质量的代码--基础:结构和样式,行为的分离

实现高质量的代码需要我们在结构和样式,行为的分离的基础上做到:精简,重用,有序. 精简:尽量减小文件的大小,提高页面加载速度. 重用:提高代码的重用性,减少冗余代码,提高开发速度. 有序:提高代码的结构性,组织好代码结构更利于维护和应变特殊情况. 在我们的工作中你可能会遇到这样的代码,或者说你可能写出这样的代码 <td width="100%" height="20" class="f9pt" align="center"

没有代码基础如何学习自动化测试?

因为最近在群里有一些同学,之前没做过自动化测试,但是限于领导要求,或者自己想提升了,开始研究自动化测试,最近记忆比较深的低级的几个问题是: 1.编写一个python的类将 __init__写成_init_苦于问题一直解决不了: 2.想新建一个包,经常将package建成folder: 3.appium脚本中启动的activity或者包名经常写不出来: 4.将包名命名为selenium导致无法引入对应相应库: 5.写个selenium脚本执行不成功抛出异常,跑来问,这个怎么又报错了?异常类型都提示

php代码基础

如何接入新浪api <?php function getWeiboData() { $count = 15; // 参数source后面输入你的授权号 $url = "https://api.weibo.com/2/statuses/home_timeline.json?source=123456789&count=".$count."&page=1"; echo $url.'<br />'; $curl = curl_init()

Python学习代码——基础篇

参考教材连接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 print("你好 世界") name=["lll","gx","zj","xx"] print(name[-2]) # 判断测试 xmTail=1.75 xmWight=80.5 BMI=xmWight/(xmTail*xmT

HTML代码基础篇

<html>-</html> 定义 HTML 文档 <head>-</head> 文档的信息 <meta> HTML 文档的元信息 <title>-</title> 文档的标题 <link> 文档与外部资源的关系 <style>-</style> 文档的样式信息 <body>-</body> 可见的页面内容 注释 你们学会了吗 原文地址:http://blog.5

机器学习代码基础(4)-- Pandas速成

1.4 Pandas速成 Pandas是面向数据分析场景设计的Python开源软件工具包,从命名来看,Pandas特别适合处理序列数据.表格数据等具有良好结构的数据.通过带有标签的列和索引,Pandas使我们可以以一种便于理解的方式来处理数据.它可以让我们毫不费力地从诸如csv类型的文件中导入数据. Series:一维数组 DataFrame:二维数组 1.4.1Series Series与numpy中的一维数组类似,但是再建立Series时可以设定index,也可以像访问numpy数组或字典一

面试代码基础(二)二分法binary Search Sorted Array

二分法总结:满足某个条件的first position of....  和 last position  of....用二分法 先从二分法开始写: 4点: 1.start+1<end; 退出条件两个相邻了就退出 2.mid=start+(end-start)/2;//防止溢出 3.A[mid] == > < 4.最后判断相邻的两个元素和target的关系 找第一个出现target的位置 if(A.size() == 0){ return -1; } int start=0;int end

零基础而且英语不好可以学java吗?

以前很多人都不知道有程序员这个岗位,现在随着互联网的发展,越来越多的人意识到当程序员是一个很好的选择.导致每年想学java的人越来越多,其中许多人都是零基础 零基础可以学java吗? 可以的.谁都是从零基础开始学java的,你见过有人出生就会写编程的嘛? 讲道理,如果你对编程真的一点都不懂,完全零认识的话,你会有一个好的开始.就像一张白纸,你可以决定是在上面写字还是画画.许多有了一定编程基础的人,学一门新的编程有时候会比零基础更加困难,因为他已经有了自己的思维了. 首先在学java之前你需要有编