每件小事都有值得學習的地方

把每件小事做好,並從中思考、發現和學習到新的東西。


這周,分配到了自動化測試執行任務,搬磚了一週:分析和執行自動化測試。這項工作對自動化任務的調度的考驗很大,如何安排任務、調度任務、處理突發問題,都非常考驗人的。剛剛接到這種任務時感覺沒有技術含量,但是仔細想想又非常考驗人的能力。

平時開發自動化測試腳本的工作,和這種任務時不同的,前者是業務加代碼,後者是執行自動化測試加設備調度以及環境問題處理,工作思路和側重點是不同的。


先說說這次的具體工作:測試對象是70多臺IPC設備,通過jenkins在對應的版本上跑自動化測試,以接口實現爲主的功能測試爲主。

磨刀不誤砍柴工。接到一個這樣的任務,應該用一小段時間分析一下我該怎麼做,怎麼下手?對於這次的任務,由於需要測試的IPC數量較多,應該想着待測設備是否都是正常運行的,這是需要確定的。其次,對於需要測試的版本,是不是所有的設備都支持所需測試的版本,把不支持該版本的設備剔除,明確測試樣本數量。同類的測試項放在一起執行,一批一批地執行。

協調、調度能力。對於每臺測試電腦,在數量有限的情況下,如何充分使用、不能負載太多,這也是一個需要注意的點,否則會跑不完。先看環境中有多少正常的自動化測試電腦,本次需要跑多少IPC,計算平均一下每臺電腦跑幾個IPC,每次跑後進行標記,做好心中有數。(突然想到jenkins還是不是很智能,如果每次跑任務後,能實時顯示當前每個節點正在執行拿個任務、有多少任務等待中,那體驗感就更好了)

另外,每次跑一批設備後,在之後的幾分鐘需要檢查一下該任務是否在正常執行,以免發生錯誤、異常導致沒有繼續下去,這樣的情況還是比較多的:測試電腦環境問題、設備問題、自動化測試腳本問題等。


確保主體工作。遇到有問題的設備,應該做好記錄,先將正常設備跑起來,保證大多數設備能執行測試跑下去,留有時間再去處理特殊的異常設備或事情。

養兵千日用兵一時。最近兩週有一個深刻的體會,平時應該對待測試環境中的設備,就像軍隊一樣,養兵千日用兵一時,測試同理,平時也需要“養”,應該有必要的維護和更新,而不是等到要用時纔去使用、發現問題、處理問題,這樣會導致緊急的任務不得不延期、甚至造成阻塞。

發現問題及時改進。通過這次任務,就發現實際環境中的設備和維護的表格裏記錄的不同:表格中有的實際環境中卻沒有,這樣就得花時間去找,還有的雖然設備存在,但是沒有在線,更甚者是沒有貼標籤,不好排查哪臺對應哪個設備。除此以外,還有的設備起不來,無法正常運行,爲了讓設備正常上線運行起來,就需要花時間去處理各種問題。以上都是發現的問題,都是在以後需要思考和改進的地方。

物理資源擺放。我們現在的自動化測試IPC設備擺放有兩個問題:隨着數量增加後,不易進行查找,如果按照貼的IP順序進行擺放,又會導致佔用比較大的空間(就像python中的字典與列表一樣, 列表佔有內存小,但是查詢速度慢,字典查詢速度快但是佔用內存大)。除此,有的同事遺忘了給設備貼標籤,有的拿出設備房後改了設備IP等,導致會出現一些問題,這都是需要改進的,待加到任務清單中解決。

跟蹤和及時反饋。執行結束後,報告的分析需要分配任務給不同的同事,以後發現的問題進行彙總,結果反饋。這也是不容易的,已知問題、新增問題、待跟蹤問題,後續郵件反饋後需要持續跟蹤沒有定論的問題,直到提單或者開發確認不是問題。


嘗試開發使用小腳本輔助工作。準備完善一個腳本,以後遇到這種任務時,執行腳本,檢查管理列表中的設備在環境中是否在線、正常運行;目前還只是檢查是否在線,還有檢查其他問題部分的編碼,花點時間就可以實現了。作爲搞自動化的,能減少手動測試就減少,多利用已有的技能來爲工作中重複的操作實現自動化。

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