关于我本人,一个小小的专科毕业,在测试方向已经工作 5 年了,前 3 年应该算是一个纯粹的点工,没有任何学习的目标,一直做着重复的事,工作和生活也很开心,从第 4 年开始去学习提高自己能力的,接触到了接口,性能,自动化。接口我自认为比较简单且容易上手的事,性能的一个学习和工作中所用到的,会一些文档的编写,脚本的编写,但是关于性能分析等就是一头雾水了,自动化自己学习了接口自动化,也在多个项目去进行了实践,但是一直可能觉得是一个野路子,没有一个系统的全面的认知,对于编程语言也没有一个全面的认识,我能说清楚我的自动化框架是怎么搭建的,用例是怎么写的,但是在实际的面试中,总会被一些非常基础的编程知识给难住,例如今年的面试时,被问到数据类型,数据类型转换等一些基础的东西的时候,就说的不全面,在现在一个行情不景气的情况下,专科面试机会也非常少,我也没有说抱怨机会少什么的,只是想去提示自己能力,但是学习了一段时间后,发现自己学的很混乱,没办法把自己学的东西串联起来,感觉这样也不是办法,所以希望有大佬能给一个建议或者比较简单的 Python 编程方面的学习规划,自身应该从哪方面开始学习。
这是我之前写的一些会的东西(能看懂代码,熟悉基于 request 库的 api 自动化,可独立部署搭建 python+pytest+yaml+allure+Jenkins 的接口自动化框架,熟悉基于 selenium,playwright 的 web 自动化,了解基于 appium 工具和 uiautomator2 的 app 自动化,了解 po 模型,封装,断言,多态,继承等基础 python 知识。)
先写小工具,锻炼代码熟练程度。
重构,对于自己的代码,需要经常翻新重构,我每次重构感觉自己的设计模式,代码水平都能有很大提升。
不要为了自动化而自动化。自动化不是测试的终极目标。说的不好听点,你是小公司,那么你项目的接口可能就十几个,你去折腾自动化不如每个接口一个 py 文件,数据逻辑直接写死在里面。这样反而更好维护;你是大的公司,项目庞大,那你们的自动化平台也不可能是你一个人的事了。甚至很多公司直接买现成的产品。
基本操作
落地的项目程度是不是比较浅?建议把接口自动化和 UI 自动化落地成型,尽量在自己工作中的项目上落地,这样即增强了自动化熟练度,也可以把产出给到领导看到。
ps:我也是五年了,第一年点点点期间我自学了 JavaSE 和 API+UI 自动化理论,然后第二年换了工作做手工 + 自动化占比大概 7:3,然后第三年又换到了现在的纯粹自动化。总的来说就是学习理论然后想办法落地,这样面试你才能跟人讲你的自动化是怎么做的,期间也会碰到各种各样问题,怎么解决的?个人觉得这些才是重点。
我觉得楼主已经很优秀了,有时候不一定是自身的问题,市场环境的问题占很大原因。
可以把你知道的整理成一个脑图,然后加上自己想做的工作或者公司的技能要求,进行整理分类,对这些技能进行自我评估,逐个突破。其次看工作中有哪些可以改进的,研究一下并尝试去解决这些问题。
已经落地过俩仨个项目的接口自动化,UI 的没有落地过,没有良好稳定的实践环境,大多数情况下写写就项目开始重构了,工作还是以点工为主,没有那么多的工时让我去做,总体意思就是本职工作占用了工时,项目上不要求,你要做好了更好,做不好也没关系,不会给你这方便的工时,接口自动化一般都是我自己下班周末慢慢写的
感谢,我会好好想想,有些时候确实,对基础知识一知半解
我们是两个组,一个 manual 的,一个 automation 的,manual 负责需求整理和用例输出 (BDD 用例,结合我们 cucumber 框架好写脚本,当然 manual 也会做手工测试),我们 automation 专注实现自动化和一些测试小工具开发。
QA 学习路线图:https://roadmap.sh/qa
python 学习路线图:https://roadmap.sh/python
厉害楼主,现在我也正处于你这个状态,想落地公司接口自动化,也是只能自己下班写,楼主能给点建议吗,框架是开源上面直接拿来用吗
楼主能讲一下自己的学习路线吗?现我也干了快 4 年测试了,都还是点点点的状态
先写小工具,锻炼代码熟练程度。
重构,对于自己的代码,需要经常翻新重构,我每次重构感觉自己的设计模式,代码水平都能有很大提升。
不要为了自动化而自动化。自动化不是测试的终极目标。说的不好听点,你是小公司,那么你项目的接口可能就十几个,你去折腾自动化不如每个接口一个 py 文件,数据逻辑直接写死在里面。这样反而更好维护;你是大的公司,项目庞大,那你们的自动化平台也不可能是你一个人的事了。甚至很多公司直接买现成的产品。
我是之前从 B 站学习摸索的 慢慢写 光看没有用,只有写的时候才能记得框架搭建的步骤,遇到的问题,你可以从 git 上找找别人的框架,然后拿过来对照着写,看看有没有需要优化的地方,我差不多就这样过来的
先学习 python,找开发拿接口文档,去学习做手工接口测试,接口测试的用例和功能差距不大,很好理解,用例写完可以用 postman 去配置调通接口,等知道了接口会用,再去从网上找接口自动化的视频,慢慢学习。做完一个框架后,你就差不多会了 剩下的就是优化了
我现在项目是个小项目,暂时没自动化需求,我写自动化的目的是为了后面回归测试方便,还有是为了提涨薪有可以看见的业绩,现在项目的进度和工时都比较充足,所以才再请教大佬们怎么去提升自己,一方面去实践 一方面学习
尝试去偷懒,去简化你现在的操作。
不要陷入一个误区,自动化是大圆圈,自动化测试是大圆圈下的小圆圈。你可以拿自动化去做很多视频。
我刚开始写代码,第一个项目是我平时测试的时候需要手动去触发多个定时任务,要来来回回复制任务名字和不同系统之间的地址,去搜索触发,很麻烦。于是我就写了一个脚本,执行一下就触发了。然后大家都觉得好用,我就又封装了一个 exe 给大家用,后来发现更新维护还有我想加一些新的功能比较麻烦,我就又去看了 flask 起了个服务,后来大家反馈前端很丑 (没有任何 css 美化的 html 硬写的),又去看了下 layui 拉了个前端。。。所作所为和待测项目可以说没有任何直接关系,但是确确实实实现了最初想要偷懒提效的目的。
那么,你的工作里面有没有这种重复的劳作?比如日报周报月报季报年报?比如一些测试数据的准备?再比如,想早退摸鱼写个脚本自动一键打卡(教坏小朋友了)?很多地方都有契机,积极寻找力所能及的正反馈点是很关键的一步。