flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)
转载:http://www.likecs.com/default/index/show?id=6720
前言:
在前进中去发现自己的不足,在学习中去丰富自己的能力,在放弃时想想自己最初的目的,在困难面前想想怎么踏过去。在不断成长中去磨炼自己。
正文:
时间轴
flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台 这篇文章已经发表了两个多月了,IAPTest测试平台从最初17年6月份构想的开始,到17年7月13的正式创立代码仓库,到7月21日第一版的完结,再到7月23日的阿里云的部署。期间多次调试,多次去修改,在十多天的开发中,第一版上线了,因为有之前jiekou-python3的经验,在接口方面的开发进度快了许多,可是部署的过程中不止一次去修改其中的bug,在本地测试完毕为何在liunx的服务器上部署出现了问题,其实很简单,重要的是没有考虑到平台的兼容性,走了许多的坑,在部署后,发到脉脉,qq群里,收到了很多人反馈,接着有开始改进,出来了第二版,第三版,并且在这个过程中,对模板进行了优化,在后续的版本增加了钉钉群通知等功能,最近又增加了权限控制。经过121次的提交,经过了三个重大版本的更新,目前的测试平台已经开过走过了7个多月的时间,受到了很多好评。开源地址:https://github.com/liwanlei/FXTest
历程
从一开始的构思,设想,到现在的120多次的提交,7个多月开发,经过很多人发来的建议,有来自华为,搜狗等公司的一线工作者的建议,也有不少网友和通道人士给来的意见,以及在testerhome等论坛上吸收了很多大佬的优秀的分享。在这么多天的开发过程中,走过了不少的坑,在不断的学习中去不足了自己的不足,在不断的迭代去开发的过程中,自己收获了很多,从一开始自己在写第一版的需求文档的时候。就改动不少,自己也产生了不少的疑惑,就看了所有能够看到的框架,想到了自己所有接触到的接口测试的东西,开始来编写这个框架的第一个需求,中间删改了许多,于是乎,第一版需求在不断的打磨中产生了,如下图。
当时自己把能想到的地方,都能做了一遍,在第一版的雏形中,自己设计出来了想要的功能,推出来第一版后,在网络上收集不少的意见,自己也有了自己的一些新的想法,于是乎,接着去设计了第二版,
相对于第一版,第二版更加让平台显得灵活,也吸取了第一版的教训,并且对原有的代码进行重构,加上一些自己的想法,融合了自己的一些想法,利用自己的休息时间,不会了用百度,上google,迭代出来了2.0,在2.0时期的版本受到了很多人体验,阿里云的每天访问量都会有不少,在2.0时期,也有搜狗等大佬们给了自己的建议,在使用中,有的人给出来实践中遇到的问题,在经过几次指导后,自己技术上提升,对系统有着更加深刻的规划,开始完善3.0版本,
看到3.0的需求,慢慢的平台变得更加灵活,3.0部分需求没有完善,但是定时任务的开发,mock的开发,让现有的系统更加能够运用到工作中去,不断打磨自己的产品,在3.0后,在自己的实际工作中发现,到3.0了,权限系统还不完善,我就接着做了一个分支,思考了一周吧,找到了思路,然后去开发了第一版的 新的权限系统。系统管理员,项目管理员,成员只能看到所属的项目,让平台更加能够在真实的环境的利用。目前项目仍在长期的维护过程中。代码会进一步优化重构。
感悟
不管是之前的学习的python的初衷还是后来学习的过程中的感悟,所学与所做结合起来。 在公司内部不少的小脚本的开发,到独立开发自动化测试,再到回来成型的测试框架。从最初学习python的web框架,到web框架落地到自己的工作中,这一切都是一步一个脚印走出来的。回想开发IAPTest这段日子,充实,忙碌,纠结,无悔。这四个词来概括吧。 充实:因为从日常的测试工作后,在业余抽时间去完成这个的开发,周末大门不出二门不迈的地方,坐那里一写就是一上午,或者一下午,有时候凌晨一两点。百度,google乱翻上阵去找答案,不到四级水平的英语,去读外语,苦难重重,每天都会有收获,每一步都会有成长。回想这段日子,是那么的充实,看着自己的作品被人膜拜,心里是那么的满足。充实的过好每个周末,充实的过好每次业余时间。 忙碌:除了日常的测试,下班后的做饭等,其他时间都去来做这个事,我知道这不是最好的,但是这是努力的结果,这不是最优秀的框架,最优秀的平台。但是锻炼了我让我越发变得优秀。忙碌的时候,不能忘记自己的劳苦,忙碌的日子不可怕,可怕的是停止不前,大胆的往前走。 纠结:中途有过放弃,有过找不到解决的思路,想要停止开发,停止维护,可是冷静下来想想,我不是富二代,不是官二代,不努力怎么成就明天的美好,纠结一番后,我还是会大步往前走。无悔:忙碌充实纠结过去,平台还是出来了,大家的建议也不断到来,大家的赞赏不断到来,获得了掌声,获得了赞许,收获满满。体验到了开发,在测试的角度去尽量让平台日趋完善。
学习怎么落地?
不少网友在qq上问我,怎么将你所学的东西落地,怎么与项目结合起来。其实我一开始也找不到落脚点,后来我慢慢找到了,比如老大让我写个脚本,说监控服务器上面的接口,我说这有啥,可是当我用到了一次,在线上都没有反馈,我的脚本都能给我更好的反馈。在用户没有反馈的时候,我就已经掌握了bug,并且迅速让研发解决,我在想,这不是一次好的落地吗,需求是老大给的,脚本是我写的,落地:监控线上的几个经常出错接口,后来我进行了版本的升级,为何升级,考虑到不方便,接受邮件,公司用钉钉,人人都有钉钉,为何不升级通知到上钉钉呢,翻阅钉钉开发文档,完美的升级过去,后来我实验了一个3分钟达到多少次,再去报警,实例 ,再次升级过去,进行了两次的迭代,让功能更加完善,更加符合真实的需求。推动两次升级来源于我的想法,就是想简单,就是想让问题更加准确。 怎么落地,怎么让你的所学用到你的工作中,让你的所学使单一重复的测试变得简单,节省时间,减少成本,找到切入点。比如每次测试,不变的模块很多年都不去变化,那么你用自动化去测试,让自己去测改变的部分,节省了时间。 学的能用到才是道理,找到一个合适的点。 再比如压测,我也是在公司线上出现问题后,运维提出来了怎么来解决,可是我学过jmeter。但是没有实战,找到了实战的地方了,你实战不。不落地吗,肯定落地,解决实际问题。去用你的所学解决你遇到问题。用啥学啥,找到落地的点,进入落地阶段。总结落地的成果。
学python还是学java?
这个问题不少人问我,我说python入门是简单的,的确python入门是简单的,目前也比较火,但是越往后你会发现,其实不简单,因为python也是高级语言的。python用途不少,比java干练,但是python也有自己的不足,python还是java的选择根据自己的实际情况来,入门简单就用python,学会python再来学java也简单,反过来,学会java在学python更简单,python简洁,完美。让我更喜欢python,但是最近也在接触java,因为遇到了一些问题来java处理更加合适,不管学习java还是学习python,你要学下去,要坚持下去,要有信心,自己可以学好,要有恒心,坚持学习下去。 java和python都是众多语言之一,二者都可选,二者皆可抛。语言没有好坏,只有适合不适合。选择哪一门语言都有一定的道理。
最后:
学以致用,更好的落地,最大的产出,IAPTest测试平台,是我python学习后的成果,学习后更好的落地,掌握好落地的切入点,让学习的内容和工作的内容形成闭环。学习是枯燥的,但是别人拿高工资是羡慕的,不是官二代,不是富二代,只有靠努力。不要羡慕别人的高工资,因为别人努力了,付出了。学习是件美好的事,前进的道路不是一帆风顺的,但是学习的道路可以变得有滋有味,适当的奖励自己,适当的放松。
遇到问题不要慌,不要急,百度google来帮你。
学习不一定能让你变成很富有,但是学习一定能够改变你。