1. 程式人生 > 其它 >10年心路歷程:功能測試轉向自動化測試/開發

10年心路歷程:功能測試轉向自動化測試/開發

十年測試心路歷程: 由於歷史原因,大部分測試人員,最開始接觸都是純功能介面測試,隨著工作年限,會接觸到一些常用測試工具,比如抓包,資料庫linux等。 我大學學的計算機專業,有一定的程式設計基礎。我的軟體測試職業開始和大多數測試人員一樣,一開始在一家電商公司做軟體功能測試。有人留言問到我,在一線城市做功能測試,如果定個小目標,想拿到年薪二十萬,需要具備哪些技能? 首先必須熟練整個產品的業務流程、業務是基礎,這樣保證產品在快速迭代時、不僅保證新功能的完整性,而且快速回歸原有功能不受影響。然後需要掌握一些常用測試工具來輔助測試: Web端測試:瀏覽器開發者工具使用,network、console控制檯、相容性測試。 移動端app
測試:(安卓/IOS/ipad端)測試全流程,相容性測試、穩定性測試,流暢度測試、adb常用命令。 服務端:掌握介面測試、抓包工具使用、如何校驗介面的完整性。 Linux:常用shell命令,檢視錯誤日誌。 資料庫測試:熟悉資料庫表結構,掌握常用增刪改查sql語句,便於分析測試結果。 常用工具使用:SVN/git版本控制工具 、postman、jenkins應用打包和構建。 換句話說,如果你拿到一個新的產品測試功能,你如果能通過資料庫的表結構,和分析系統日誌來快速的熟悉產品業務,說明你的測試思維,功能測試能力已經非常優秀了。 當時我掌握了以上技能點,在公司將工作效率提高了,相對比較輕鬆,這就導致我有充足的時間,拾起程式語言,最初用的java語言,然後學習各種自動化測試
技術,當時覺得自動化測試特別有意思,而且挺神奇,激發了我濃厚的興趣。後來發現Python語言越來越火,而且我發現python來做自動化和對於程式設計基礎比較薄弱的測試工程師來說特別的合適,python還能用來爬蟲,用python還能寫一些定時指令碼,資料庫指令碼,效率非常高。 放棄了年薪二十萬的offer,挑戰自動化測試: 我當時在公司得到了領導的信任,待遇方面工資加上年終獎,年薪能達到二十萬。但是在由於當時公司規模和產品的侷限性,導致自動化測試始終未能應用到公司實戰專案中。我覺得外面的世界很大,自動化已經流行而且越來越普及,我想要突破自己的測試技術瓶頸,我毅然決然的跳槽一家公司專職做自動化測試工作,於是我頂住壓力,不斷的系統學習自動化測試技能,而且學以致用。我將公司產品前後端的自動化測試全部落地實現。那些自動化指令碼真正成為公司資產,在每次上線迴歸帶來的收益遠超出我的預期。並且定時在公司的技術分享會展示效果,那種從0到1的成就感非常難忘。後面負責自動化測試團隊工作,核心框架搭建。 學習用到的技術棧包括Python語言、Selenium、RF、Requests、Jenkins、以及見識到先進主流的Docker容器技術,持續整合等。讓我見識到技術的魅力,技術功底的提升能讓整個人非常自信。所以自動測試給我帶來的收益不僅僅是待遇的提高,包括中間做自動化測試遇到的坑,解決問題的思路,以及技術的擴充套件,增長了見識。最終形成了一套知識框架體系,得到一套有效落地的自動化測試方案。  
自動化測試心得: 自動化測試沒用的誤解? 自動化是測試工程師一個永恆的話題,關於有人經常問到我:至於"自動化測試真的可以提高效率嗎?我覺得不行”,我覺得這是對自動化測試意義的最大的誤解。一個知識比如自動化你覺?得?沒有?用,是因?為你不?會。而你不會的東西,往往是你的雷區。那我們為什麼又要做自動化測試?我認為最大的意義在於,對測試人員的能力的固化。指令碼可以代表測試人員的測試方法,通過指令碼就把在原來在人身上的能力,固化為組織的資產。比如:造測試資料,跑大量資料庫指令碼,頁面服務監控等。 自動化測試指令碼,能讓不同的團隊即使不懂這個功能的人,也可以通過測試指令碼來分享這種能力,這才是自動化的意義。 關於測試開發 後來一個機緣巧合,朋友推薦我去一家金融公司做測試開發,負責開發公司定製化的測試質量平臺。這對於我來說也是一個挑戰,新的領域,測試開發在一線城市非常吃香。當時的待遇比初、中級開發工程師要高。到崗後頂住壓力,不斷的系統學習測試開發技能,而且學以致用。技術架構採用的是前後端分享,包括Python的後端開發框架Flask,前端框架vue,elementUI元件等。堅持做了幾年的測試開發,真實的體會到測試開發等於測試全週期的工作,包括產品功能業務熟悉,測試平臺的需求設計,平臺前後端研發,平臺的自測,給到測試部門幾十號人的推廣、培訓產品使用、運營。所以測試開發的大前提是功能測試經驗豐富,介面自動化,UI自動化非常熟練,不然很難以開展測試開發工作。 測試行業的現狀 現在測試行業的的趨勢,你去面試任何級別的測試工程師都會問你是否會自動化測試,所以自動化測試已經是必備技能,而不是加分項。換句話說,會用開源的測試工具不足以在公司漲薪或者跳槽至一線網際網路大廠。因為真正企業自動化測試落地肯定是一個團隊在做,當你熟悉使用這些開源框架之後,你會發現有些框架之間是相通的,所以基於這些開源框架,我們打造一個屬於自己的測試框架,可以根據公司實際測試需求自主封裝適合專案的測試框架,落地實用。建立自己的技術體系,得到一套落地有效的自動化測試方案,從青銅變身王者。這樣讓我們自動化團隊將更多的精力放在測試用例設計本身上面,達到提高產品質量,提升效率的目的 那麼如何來全面的學習自動化測試呢? 一、掌握基本的Python基礎語法規則,全方位提升Python程式設計技能,面向物件思維!   二、全面掌握元素定位技巧、POM設計模式、關鍵字驅動、資料驅動、selenium的WebUI自動化測試技能! 三、全面掌握元素定位、小程式自動化、Python+Appium的APPUI自動化測試技能! 四、全面掌握request庫的HTTP協議介面自動化測試技能,websocket介面測試、Dubbo介面測試! 五、掌握自動化持續技能能力、自動化用力指令碼執行、產出報告、自動化傳送郵件、全流程持續整合自動化! 六、獨立搭建介面、UI測試框架、介面與UI框架整合一體化、場景關聯應用,簡歷自己的技術體系 七、擴充套件,提升職業技術深度!

最後:可以在公眾號:傷心的辣條 ! 免費領取一份216頁軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Shell、網際網路程式原理、Mysql資料庫、抓包工具專題、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試、安全測試等。

如果我的部落格對你有幫助、如果你喜歡我的部落格內容,請 “點贊” “評論” “收藏” 一鍵三連哦!喜歡軟體測試的小夥伴們,可以加入我們的測試技術交流扣扣群:914172719(裡面有各種軟體測試資源和技術討論)