flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)
前言:
在前进中去发现自己的不足,在学习中去丰富自己的能力,在放弃时想想自己最初的目的,在困难面前想想怎么踏过去。在不断成长中去磨炼自己。
正文:
时间轴
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来帮你。
学习不一定能让你变成很富有,但是学习一定能够改变你。
flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)的更多相关文章
- flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台
**背景: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够, 2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他 ...
- flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台,更名:FXTest 接受定制开发(java版开发完毕)
**背景: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够, 2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他 ...
- HTTP API 自动化测试从手工测试到平台的演变
不管是 Web 系统,还是移动 APP,前后端逻辑的分离设计已经是常态化,相互之间通过 API 调用进行数据交互.在基于 API 约定的开发模式下,如何加速请求 / 响应的 API 测试,让研发人员及 ...
- Cucumber+Rest Assured快速搭建api自动化测试平台
转载:http://www.jianshu.com/p/6249f9a9e9c4 什么是Cucumber?什么是BDD?这里不细讲,不懂的直接查看官方:https://cucumber.io/ 什么是 ...
- <API自动化测试>Centos-Newman
一.介绍: 在测试和开发中,有一款API测试工具一直占据着武林盟主的地位,那就是声名远播的Google公司的Postman. Postman原先是Chrome浏览器的一个插件,后面发展成了一个应用程序 ...
- Python Flask高级编程之RESTFul API前后端分离精讲 (网盘免费分享)
Python Flask高级编程之RESTFul API前后端分离精讲 (免费分享) 点击链接或搜索QQ号直接加群获取其它资料: 链接:https://pan.baidu.com/s/12eKrJK ...
- HTTP API自动化测试
重构:发现测试的价值 回到起点,测试要解决什么问题,为什么要做API自动化测试平台?做这个平台,不是为了满足老板的提倡全民自动化的口号,也不是为了浮夸的KPI,更不是宣传自动化可以解决一切问题,发现所 ...
- Java Fluent Restful API自动化测试框架
这是一个Restful API自动化测试框架,这是一个能让你写出高可读性测试代码的测试框架! 项目目标 话说目前行业内,Restful API自动化测试框架已经不是稀罕物了,各个语言都有自己的实现机制 ...
- Python3调用Hadoop的API
前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟: ...
随机推荐
- Nginx 学习笔记(七)如何解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
出现:nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 错误,有以下两种情况 1.80端口被占用 2.ipv4端 ...
- springMVC(7)---表单标签
springMVC(7)---表单标签 form标签作用 简单来讲form表单有两大作用 1:第一就是往后端提交数据或者前端回显 ...
- JAVA定时任务调度之Timer入门详解(一)
所谓的Timer,打开jdk的api文档可以看到它的定义:一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.通俗点讲就是说:有且仅有一个后台线程对多个业务线程进行 ...
- 北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥
北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥 北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥 本文由北京华人开创科技公司提供 原址在 http://www ...
- entity framework学习
资源 Entity Framework技术导游系列开篇与热身
- 设计模式学习(三): 装饰者模式 (附C#实现)
需求 做一个咖啡店的订单系统. 买咖啡时,可以要求加入各种调料,如奶,豆浆,摩卡等.咖啡店会根据调料的不同收取不同的费用.订单系统要考虑这些. 初版设计 然后下面就是所有的咖啡....: cost方法 ...
- 汇编转移指令jmp原理
在计算机中存储的都是二进制数,计算机将内存中的某些数当做代码,某些数当做数据.在根本上,将cs,ip寄存器所指向的内存当做代码,指令转移就是修改cs,ip寄存器的指向,汇编中提供了一种修改它们的指令- ...
- tornado SSL 证书获取与服务器配置
转载注明出处: http://www.cnblogs.com/ityoung/p/8296088.html 自动化测试/持续集成/测试开发 QQ交流群: 70160503 服务端生成证书 进入 ope ...
- visualSVN 版本控制
用SmartSVN提交代码的时候提示:svn: File has inconsistent newlines 这是由于要提交的文件编码时混合了windows和unix符号导致的. 解决方法: Proj ...
- OC 异步顺序加载的方法
方法一:发射信号量 OC -异步顺序加载 先调用A接口,再调用B接口,再调用C接口 dispatch_semaphore_t semaphore = dispatch_semaphore_create ...