被一個問題卡了近兩天,下班後我哭了......

寫在前面

好像很久沒有更文了,感覺有很多想寫的,但卻又不知道該寫些什麼了。。。

近階段,整個人的狀態都好,本計劃這月想給自己充電,做一些自己想做的事,結果真的就是事與願違吧。

好像每個人都一樣,都是爲了生活而疲於奔命,依然忙碌於各種事情之間。

整個過程

沒經過深思熟慮的計劃制定

兩週前,組內同事想讓我幫忙做冒煙測試腳本,原因是因爲每次發版測試的時間耗時特別長,所以在結束批量測試工具的開發工作後,我便主動和領導請纓做冒煙測試腳本的開發工作。

和領導說,腳本開發需要5天,整個冒煙測試每次需要大約5分鐘!

領導聽完很喫驚,我自己說應該差不多吧。

迷之自信?

可能很多同學也會和我的領導一樣喫驚,爲什麼?

系統發版後的迴歸測試,就測試場景和流程來看,工作量肯定不小,姑且不說技術問題,就業務流程的梳理就很費時間了。

而我卻說整個過程只需要五天,可見我是多想證明自己了

其實不然,我自己還是有一些考量的,才說出五天,原因有兩個:

  • 因爲信任,所以備受期待,同事信任我,真的感覺自己被需要,並且想爲團隊貢獻出一份自己的力量;
  • 因爲之前做過測試環境的性能測試腳本,以爲很多接口可以直接拿來就用(我天真了,因爲改了不少,需要重做)。

理性永遠在給感性收拾爛攤子

整個系統總共6個測試流程,也就是說我每天要完成1.2個流程的腳本開發。

我特別喜歡現在團隊的氛圍,第一天到下班點時,差一個模塊就完成了一個流程。

所以在責任心的驅使下,心想加個班吧,今天能趕出來這個模塊,明天其他的流程就能複用了。

一切看似很好,也正是這個模塊把我徹底卡住了,我遇到了一個讓我很抓狂的問題:

打個類比,比如發起申請接口,申請成功了,到領導審批,點擊同意的時候報錯,而發起申請這個接口卻不報錯,你在頁面同樣的操作,領導同意卻是正常好用的。

被問題卡住,心態開始崩盤

這個問題,我反覆查了近兩天......

這期間我積極的找開發同事幫忙排查問題,並確認是否是我的入參不對導致節點數據不正確。

由於開發同事比較忙,能幫我排查問題的時間有限,所以只有在開發稍微有點時間,才能幫忙排查聯調。

也正因爲開發同事的盡心盡力幫忙,幾次下來,讓我感覺離問題根源好像又進了一步。

也知道爲什麼不能審批了,因爲雖然請求成功了,但是沒走業務邏輯,導致部分數據還是默認值,所以審批報錯。

關於入參的排查,暫時告一段落了,因爲數據狀態不對,無法進行審批,意味着還是沒有解決問題。

到這已經是第三天了,一個流程都沒整完,感覺整個人都不好了,心態有點崩了......

於是向領導說明原因,領導瞭解後,並說先把耗時最長的做完,雖然沒那麼大壓力,但是心裏還是有些深深地自責。

我還是沒忍住,終於哭了出來......

距離週五晚上發版測試還有兩天,這個問題不解決,怎麼也說不過去,心裏一直憋着這個勁特別難受。

當時的想法,真的是誰能幫幫我,幫幫我行麼?

但是我也不知道該找誰幫忙,誰又能幫助我?

爲什麼?說是業務問題吧?還不算?技術問題吧,入參還查不出來啥問題?真的就是進退兩難!

因爲開發太忙,實在沒時間,暫時也沒想到什麼好的解決辦法,我就先下班回了家。

把車停好後,習慣性地給女友打了電話,那天還是我的生日,再加上那階段煩心事特別多,說着說着我哭了出來,突然感覺好無助而且很沒用,最後徹底哭了出來,爲什麼就那麼難?

我以爲我很頹廢,今天我才知道,原來我早廢了。

因爲煩心事特別多,導致整個人都不好了,哭出來後,感覺真的很舒服,而且整個人平和了許多。

沒人能教你,只有自己能拯救自己

回到家後,搭建好環境,改用工具進行測試,使用jmeter+fiddler抓包開始,重新調接口來模擬測試,結果居然成功了,真的很意外,難道是我代碼寫的有問題?

第二天上班,我把自己代碼接口調用及入參與昨天做好的jmeter腳本一一對照,發現入參一模一樣,這讓我產生了懷疑,是我封裝的工具類有問題?

我代碼走的HTTP協議,而jmeter腳本是HTTPS協議才成功的。

這讓我想到,可能我的httpclient需要走HTTPS協議請求會讓接口調用後,數據應該會正常顯示吧。

有了思路,就開始找httpclient如何進行HTTPS請求的相關文章。

經過一番搜索,找到的重點都是圍繞使用ssl和根證書的使用的代碼片段,我又對httpclient底層封裝進行改造,改造完再次使用封裝工具類調用接口,結果還是數據狀態不對,我真的徹底絕望了。

於是,我又去找到了強哥(我北京的同事),強哥說你幹嘛自己封裝,用hutool呀。

我照着強哥的思路,又去照着hutool中的工具類,開始寫demo,逐一調用接口,結果竟然成功了,這讓我欣喜若狂,真的好用。

於是,我對寫好的demo,再次進行封裝,也就是hutool中的工具類封裝,封裝好後,再次使用封裝好的工具類調用,結果數據狀態又不對了。

我真的服了,這是玩我嗎?分開就好使,封裝就不行。

有的同學說了,應該是你封裝的有問題,那爲什麼其他模塊都好用,就這個模塊不行?

後來,我靈機一動,那就都對分開可用這部分代碼進行簡單封裝,保證流程跑通就行,算是退而求其次的解決方法,雖然,它很low,但是能用。

也正因爲這個臨時解決方案,助力我在週五發版前成功的讓同事用上了,一個流程的冒煙測試,跑完這一個流程僅需113秒,比手動迴歸快了近10倍的時間。

寫在最後

整個過程讓我記憶深刻,在此特別記錄一下,真的是頭一次被問題卡的這麼難受,那種既生氣,又幹不掉難題的感覺,太難受了!

你有被難題阻塞,一直無法繼續下去的情況嗎?歡迎文末給我留言哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章