搜狗測開2年成長曆程 | 總結 | 學習 | 沉澱 | 輸出

" 閱讀本文大概耗時8分鐘 " 

前言:先簡單介紹一下自己,工作經歷大概是,我畢業後就直接入職搜狗,成爲了一名測試開發工程師,然後歷經2年的測開成長

到目前爲止在搜狗工作馬上2年,主要負責搜狗商城服務端的測試,見證了搜狗商城的從無到有,現在搜狗商城的技術、服務與產品逐漸完善並趨於穩定

在這裏將近2年測試工作做個總結分享給諸位,如有描述不恰當的地方,還請大家多多包涵指正

01初識測試

18年7月份,通過校招入職搜狗,剛入職時,主要負責搜狗瀏覽器相關的一些功能及兼容性測試,如:微門戶、搜狗理財、導航、信息流等

入職一個月,開發了測試文章數據抓取功能,供組內成員每日閱讀,同時也鍛鍊了自己的編程能力,掌握了爬蟲相關技能

入職倆個月,逐漸適應了項目的測試流程,包括需求評審、測試方案、測試用例編寫、用例評審等等,接觸了jira、fiddler、git、jenkins等這些工具

九月份搜狗商城需求的提出,爲我提供了一個完整項目測試的機會。剛開始測試時,負責商城PC端測試,才發現自己用例設計覆蓋度不完善,特殊測試點不能夠充分考慮

一輪測試後,組織組內成員進行交叉測試,期間發現了許多bug,是當初設計用例時未思考到的點,後續不斷的學習他人的測試思路以及積累總結測試點,

小編想提醒初入職的小夥伴,設計用例也需要總結積累,與同行測試人員相互學習,可以多參加他人的測試思路,吸取經驗,避免在我們自己的項目中漏測。

後續逐漸負責起商城的接口及服務端測試,接觸了postman、maven、Spring Boot框架、nginx等,轉爲服務端測試後接觸的項目測試流程也更加完善,比如會關注代碼review、代碼質量等等,也爲之後獨立負責商城服務端測試做了鋪墊。

02接口自動化測試實踐

爲了提高測試效率,我們針對商城做了接口自動化測試,採用的框架:Unittest + Requests + HTMLTestRunner,極大地節省了測試迴歸時間,提高了版本迭代效率。

後續因接口數量越來越多,case越來越多,所以我們基於Pytest框架,新開發了一套支持併發執行用例的框架:Pytest + Request + Yaml + Allure,以便提高case執行效率。

此處提醒大家,做接口自動化時需要依據具體項目,擇優選擇。比如業務邏輯、case數量、執行效率、編寫難易度、可複用性等等進行考慮。如果後續使用過程中再更換框架,會導致工作量增加,所以在最初選擇框架時儘可能選擇一套適合項目的框架。

03微服務測試的思考與實踐

商城最初開發時爲一個整體服務,後續進行了微服務的拆分,每個服務運行在其獨立的進程中,服務與服務之間採用輕量級的通信機制互相溝通(通常是基於 HTTP 的 Restful API)。

 

針對商城微服務的拆分,我們做了調研,測試策略進行了變更,針對各個服務內部接口進行了自動化測試,測的更細,瞭解的內部邏輯也變得更多更全。

04持續集成實施與推動

持續集成對於整個團隊來說,好處與挑戰並行。頻繁部署、快速交付以及開發測試流程自動化都將成爲未來軟件工程的重要組成部分。

軟件個人開發的部分和測試腳本部分向軟件整體部分交付,頻繁進行集成以便更快地發現其中的錯誤。我們的初衷,提高版本迭代效率,及時發現問題,隨時隨地可交付。

在接口自動化運行比較穩定的時候下,我們推進了CI的實施,推動開發進行單測,將接口測試、代碼覆蓋率、代碼監控引入CI中,代碼覆蓋率作爲測試度量指標之一,輔助我們進行測試。

後續計劃將增量代碼覆蓋率引進來。我們的持續集成流程包括:代碼push、構建、單測、靜態代碼掃描、部署、接口測試、郵件通知。

總結下CI需要具備:

1. 全面的自動化測試:這是實踐持續集成與持續部署的基礎,同時,選擇合適的自動化測試工具也很重要;

2. 版本控制工具:如 Git,SVN等;

3. 自動化的構建和軟件發佈流程的工具,如 Jenkins等;

4. 反饋機制:如構建/測試的失敗,可以快速地反饋到相關負責人,以儘快解決達到一個更穩定的版本,目前我們是通過郵件進行通知。

05總結

從我的角度出發,總結了一下作爲測試人員在日常工作中需要注意的事項:

1. 用例設計:設計合理性,具有結構化以及覆蓋完整性,在工作中可能會遇到用例設計後,他人來執行的情況,所以要保證我們的測試用例是完整有效的。

另外服務端的測試,對於產品需求及業務邏輯是需要極爲熟悉的,這樣才能更有效的進行相關測試。

2. bug提交和跟蹤:剛開始提交bug時,復現過程描述不完善,導致開發總是來詢問,耽誤時間,所以在提交時,要儘可能地將復現流程描述清楚,方便開發進行重現修復。

3. bug總結:要善於進行bug總結,以及聽取他人的bug總結,吸取經驗,儘可能避免後續測試過程中漏測情況的發生。

4. 執行力和反饋:有計劃的進行測試,測試時間也需要預留一部分時間,防止突發情況的產生,如果覺得不能夠按時完成的一定要及時反饋給老大,方便協調,否則可能會導致項目延期上線。

在工作中,儘可能做到凡事有交代,件件有着落,事事有迴音。

5. 時間管理能力:每週將下一週的任務計劃好,每天將自己的時間安排好,然後按照計劃來做,每天下班前總結下今日的工作及學習,如若完不成,分析原因和改進。

6. 溝通能力:與開發、產品、設計、老大、同事等都需要溝通,有效的溝通往往會事半功倍,記得之前溝通過程中,理解錯意思,也沒繼續詢問,產生了歧義,耽誤了後續任務的進行,想說的是,一定要溝通清楚,不能怕問,這樣才能更好的開展工作。

7. 學習能力:保持學習能力,不斷擴大知識面,儘可能避免做一個只會點點點的測試。

8. 不斷的總結和改進:工作中需要不斷總結,然後分析原因和改進,這樣進步的會特別快。

9. 分享:分享的前提是學習、總結,在分享時可能會得到一些極好的建議,同時也可能幫助他人解決困境,知識總是共享的。

10 .思考力:多思考,這是我一直所欠缺的,總結了一下,除了自己知識匱乏,欠缺思考力。

最近在看《麥肯錫思維》,其中很重要的一條原理叫做金字塔原理,它的核心是層次化思考、邏輯化思考、結構化思考,懂得正確的思考方法,會讓你更有職場競爭力。有需要的也可以看一下哦。

THE END

題圖:本文來源於網絡,文章所包含的文字來源於原作者。內容以及排版做了相對的修改,如因內容或版權等問題,請聯繫Python測試社區進行刪除

希望各位能在本文能夠學習他人在日常測試工程中積累下的好的點 

在各自的項目覆盤期間可以這些建設性對於項目團隊有利的經驗,分享給你的夥伴,一起成長,充分表現測試在項目中的核心立力

另外提前預祝大家端午快樂,闔家歡樂,幸福安康

支持作者,可以將文章分享到朋友圈或點個在看,感謝大家的閱讀!Bey , 下期再見

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