前言:
在前進中去發現自己的不足,在學習中去豐富自己的能力,在放棄時想想自己最初的目的,在困難面前想想怎么踏過去。在不斷成長中去磨煉自己。
正文:
時間軸
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來幫你。
學習不一定能讓你變成很富有,但是學習一定能夠改變你。