當前位置:
首頁 > 最新 > 我的測試之路

我的測試之路

回顧往昔,不知不覺也在測試這條路上深一腳淺一腳的走了快三年。自覺技術尚淺,不足以指點江山,激揚文字。不如回顧一下我這些年在測試中遇上的問題,博大家一笑,如果能讓大家有所收穫就更好不過了。

GIF

session同步

不知道大家是不是從功能測試做起,筆者是從功能測試做起的。

問題:還記得在做一個活動頁面的功能測試時,總是出現登錄了之後卻領取不了活動獎品,總是提示你未登錄,然後跳轉登錄頁面,簡直惡性循環。

原因:後來學習了架構相關知識才明白了為什麼,大家都知道session是服務端用於區分會話的一種唯一標識,我們當時的策略是把session存放在memcache中,測試環境memcache因為資源限制做的是單機集群,memcache掛了之後,服務端取不到session,每次跳轉頁面的請求都給的新的session,所以總是提示未登錄然後跳轉登錄頁面。

處理:遇到此類測試過程中產生的問題我們首先要想為什麼會出現這種錯誤,總是重複提示登錄那就說明登錄狀態沒有保存,也就是會話保持出了問題,而會話保持中最常見的就是session和cookie出了問題,cookie是保存在客戶端的,我們可以通過開發者工具直接查看cookie,確認cookie沒有發生變化後,很自然就應該懷疑session同步是不是出了問題。定位bug時我們一定要從前端到後端,從頭到尾,避免遺漏。

配置遷移

背景:有時我們測試的一部分需求是做配置上的遷移,把變動比較頻繁,而且主要是因產品或運營需要而改動的配置項抽出來做一個管理系統。

問題:看起來是很簡單的需求,但是很容易出現大問題,如果其中某一個遷移的項在遷移後未載入上,環環相扣的配置就不起作用,很有可能某一類產品就無法正常展示與售賣,如果是量較大的產品可能會及時發現,如果是量小的產品,可能會持續好幾個月甚至到季度統計時才會發現異常。

處理:這時候我們要做到的就是將線上配置完整的copy一份到測試環境。然後可以把載入配置時的日誌列印出來,然後對比遷移前後的載入配置日誌,確認一模一樣毫無差別。這樣就可以最大程度的避免配置遷移遺漏。同理,我們在做配置修改時也要確認環環相扣的配置邏輯沒有遺漏,最好能在測試環境修改配置後試驗一次。

標識

背景:在測試服務端時,我遇到過因為某一個標識未統一設置而出現bug。

在開發需求時,開發使用了一個已有標識A來識別是否需要出票,其實這個標識並沒有文檔說明在需要出票時就會打上這個標,因為系統中很多標識都沒有文檔維護。從注釋中看是需要進入出票系統就會打上這個標識A,在我的測試中需要出票的也都打上了這個標識A,所以我認同了開發的做法。

問題:上線後某一產品線的產品全部未出票,因為這一產品線出票就不進入出票系統,直接調用的出票介面,因為沒有標識A,所以全部未出票,還好上線後沒多久就發現了,沒有造成多大影響。

反思:反思這次bug,有以下幾點認識。

一、標識需要有文檔維護,沒有文檔維護的標識在使用時就是在冒險。

二、隨著系統的迭代升級,系統的特殊邏輯也需要維護起來,要不然很容易遺漏特殊邏輯導致bug。

流程規範

背景:最後就給大家講一個我參與的線上故障的發生過程及復盤後的反思吧。筆者之前測試完成後都是需要負責發布的,雖然發布都是使用現有的腳本,不需要費太多心力,不過因為系統資源問題,每次發布都讓人提心弔膽。

問題1:一次測試完需求後因為排期較多,所以立刻發布。大約在上午11點20左右開始發布,一共17台機器,預計40分鐘發布完。當發布了大約10台機器時,因為一台機器忽然報錯。

處理:把這台報錯機器X的tomcat停了排查問題。排查後確認這是因為這台機器負責編譯的主要機器之一,發布時該機器X的load過高,cpu使用率也飆升,所以出現大量報錯。

問題2:在其他機器發布結束後讓開發把tomcat重啟,結果交易量突降。

處理:迅速叫上開發leader和我的leader排查問題。半小時後發現,是因為重啟tomcat之前沒有摘掉心跳檢查,所以這台機器X還是對外提供服務的。重啟後大量請求打了進來,但是tomcat實際並沒有重啟成功,導致打過來的請求全部失敗。

反思:

復盤後認為我們有以下錯誤。

一是沒有遵守線上操作流程,沒有摘掉心跳檢查就殺掉tomcat和重啟,讓壞掉的機器還在繼續提供服務。

二是沒有避開業務高峰期,11點是業務高峰期,而且整點有定時任務壓縮日誌,這些已經很壓榨機器性能了,我們還在這個時候發布,部分機器會扛不住壓力。

所以很多時候公司的操作流程其實都是前輩們血淚的教訓,我們還是需要認真遵守的。

總結

我們的技術成長之路或許會跌跌撞撞,但前行的路上總是有著收穫,停滯不前才會毫無所得。筆者很喜歡屈原的一句話,寫在這裡與大家共勉:"路漫漫其修遠兮,吾將上下而求索。"

Qtest是360旗下的專業測試團隊!

是WEB平台部測試技術平台化、效率化的先鋒力量!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Qtest之道 的精彩文章:

對功能測試的一些思考
身為QA,你是否也了解SQL性能優化?

TAG:Qtest之道 |