測試人生 | 畢業 2 年,漲薪 100%,從創業小團隊到某中廠測試開發(附面試真題)

編者按:每個人都想進大廠拿高薪,然而只有少數人才有破釜成舟的勇氣和高效執行的實力。

其實公司級別只是外在標簽,成長進步才是內核本質。相信霍格沃茲測試學院優秀學員 @James 從小廠測試到中廠測試開發,畢業兩年薪資翻倍的快速成長經歷,能帶給更多測試同學啟迪和力量。

公司老板是我的測試引路人

本人就讀于某普通院校,在大學期間就開始實習找工作,誤打誤撞進入一家做工業大數據的創業公司。

剛開始我并沒有明確的職業發展方向,主要是做一些環境搭建的基礎工作。但由于執行效率高,工作責任感強,在實習期間就得到公司老板賞識,并被安排負責項目測試工作,然后一畢業就順利轉正為產品研發部的測試工程師。

我的大部分工作是以功能測試為主,也出過差以及兼職各種產品、運維、售前的活,總之公司哪里有需要,我就往哪里沖。雖然起點不高,但測試工作經驗還是學到不少,對功能測試、UI自動化測試,接口自動化測試,性能測試,安全測試及兼容性測試都有涉獵。

我也會根據工作需要快速學習各種技能,比如計算機編程、網絡、存儲、調度等知識,這也為我后面學習持續集成、數據中臺等打下了基礎。

我在創業小公司學到了什么?

測試工作尤為重視結果,而創業小公司的常態則是時間緊、任務多,迭代快。

那么該如何應對這種挑戰,高效完成測試工作,順利保證項目質量呢?

在各種工作壓力、實踐摸索和坎坷經歷后,我琢磨出核心要點:梳理公司的現有產品的研發流程,明確在研發的每個階段如何開展測試工作

簡單來說,即搞清楚開發和執行軟件測試的全流程關鍵步驟:

  1. 獲取需求、功能設計、詳細設計規格和其它必須文檔
  2. 獲取預算和時間安排需求
  3. 確定項目相關人員和他們的責任,匯報需求,必須的標準和過程(如版本過程、變更過程等)
  4. 確認應用高風險的部分,設定優先級,確定測試的范圍和限制
  5. 確定測試的方法——單元測試、集成測試、系統測試、驗收測試等
  6. 確定環境需求(軟件/硬件/通信等)
  7. 確定測試工具與環境(記錄/回放工具、覆蓋率分析器、測試跟蹤、問題跟蹤等等)
  8. 確定測試輸入需求
  9. 確定任務,任務責任和相應的工作量
  10. 設定時間安排估計、時間表、里程碑等
  11. 確定輸入的等價類、邊界值分析、錯誤類
  12. 準備測試計劃文檔和需要的評審
  13. 寫測試用例
  14. 對測試用例進行必須的評審
  15. 準備測試環境和測試工具,獲取需要的用戶手冊/參考文檔/配置指導/安裝指導,建立跟蹤過程,日志和存檔過程,獲取測試數據
  16. 獲取和安裝軟件版本
  17. 執行測試
  18. 評價和匯報測試結果
  19. 跟蹤問題和修改
  20. 如果需要進行再測試
  21. 在整個生命周期內維護和修改測試計劃、測試用例、測試環境和測試工具

在梳理開發與軟件測試流程后,進一步明確每個測試階段的測試工作、階段目標、主要任務、通過準則,最后再進行測試工作,也就事半功倍了。

為什么選擇成為測試開發?

兩年多的工作經驗,讓我深刻的體驗到,光有清晰的流程梳理是不夠的。在公司內部,開發,團隊與測試、運維人員之間的反饋周期太長,導致軟件研發流程和質量存在很多缺陷

  • 測試人員等待“好的”版本構建出來;
  • 在新功能開發完成幾周之后,開發團隊才能收到缺陷報告;
  • 運維人員一直在等待說明文檔或缺陷修復;

雖然從測試角度,我能想到多種方法來改善軟件交付的過程,但是卻難以實施落地。因為不寫代碼,不深入了解研發業務實現的邏輯,我是無法理解這個 Bug 到底是怎么出現的,做不到透過表象看本質。有時研發的一句“你不懂”,讓我覺得溝通真困難。內心被一口氣憋著,真希望自己能一個人"頂天"。

只有成為測試開發工程師,既會測試又懂代碼,才能夠最大限度的幫助研發和測試提升測試效率,進而幫助公司提升整體研發效率。這也成為我堅定不移的職業成長目標。

破釜成舟,辭職學習測試開發技能

巴菲特和芒格說過,世界上最好的投資就是投資自己。

通過搜索學習測試開發技術,我在網上了解到了霍格沃茲測試學院的課程,感覺課程大綱很全面,知識體系完整,并且由一線大廠大牛直播教學,很是心動。但一開始考慮價格原因,并沒有直接報名,只是加了助教好友,蹭了很多干貨主題公開課。

2020 年受疫情影響,很多測試工作只能遠程線上處理,然而團隊協作效率不高,項目迭代卻依然過于快速。總感覺接到測試工作之后,只能盡快完成,而很難按原計劃實施,達到好的標準。這種疲于奔命和虎頭蛇尾的感覺,讓我啞巴吃黃連,有苦說不出。

這種工作模式讓我深惡痛絕,忍無可忍,堅持一段時間后遂決定辭職,并正式報名《Python 測試開發實戰進階》課程。一方面調整自己當下的身心狀態,另一方面也是破釜成舟,充實自己,向更好的自己 —— 測試開發方向邁進!

霍格沃茲測試學院的課程體系覆蓋非常全,大廠前沿技術和發展方向都有詳細的介紹,滿滿的干貨與實戰精華!學習消化吸收了課程知識后,我直接就用到了后續找工作的面試中,并順利拿下多家公司的 Offer。最終,我選擇了某中廠年薪 20W+ 測試開發崗位,薪資翻倍,真的美滋滋~這里也再次感謝學院各位老師的指導和幫助。

學習心得和測試面試經驗

之前學院另一位同學分享的<u style="border-bottom: 1px solid rgb(55, 58, 64); text-decoration: none;">《測試人生 | 從外包菜鳥到測試開發,薪資一年翻三倍,連自己都不敢信!(附面試真題與答案)》</u>一文,給我很大的幫助,也引起了我深深的共鳴!

一定要有自己的學習方向,目標是要做到 T 字型人才,保證廣度的時候也一定要有一兩項專精,這樣才能夠在面試時候脫穎而出。

這里分享下我個人的學習路線和面試前重點準備技能:

Python->pytest->完善接口自動化框架->Shell 腳本->Docker->Linux 三劍客->服務端自動化->Web 自動化框架->App 自動化框架->前臺自動化->計算機網絡->自動化原理->MySQL->數據結構->持續集成/交付->安全->測試用例計劃思維

分享一些常見的面試題:

HTTP 部分

  • 常說的“四層”和“七層”是什么?五六層哪去了?
  • HTTP 的 Cookie 機制?傳遞方式是?
  • HTTPS 是什么?SSL/TLS 又是什么?
  • 數字簽名與證書的特點?

性能測試部分

  • 怎么理解 TPS、QPS、RT、吞吐量這些性能指標?
  • JMeter中,如何合理地設置參數化數據?
  • 如何進行監控設計?
  • 代碼級監控及常用計數器及解析?
  • 隊列級監控及常用計數器及解析?
  • 鏈路級監控及常用計數器及解析?例如 SkyWalking?

接口測試部分

  • 沒有任何文檔,怎么快速了解接口的信息?
  • 如何把流程化的測試腳本抽象為測試框架?
  • 測試框架如何才能支持 Restful 風格的接口?
  • 怎么用 Mock 解決混亂的調用關系?
  • 如何并發運行測試用例,測試用例的順序如何控制
  • 微服務模式下 API 測試要怎么做?

Web自動化部分

  • Selenium定位方法有幾種?分別是?
  • WebDriver核心方法和屬性介紹?
  • 使用pytest重構項目、如何實現用例依賴、測試報告、數據參數化?
  • 斷言的方式有?你使用過哪些?
  • 測試報告如何定制,用例覆蓋度如何?
  • 如何實現真正的自動化測試?

移動端自動化測試

  • 控件定位方法?
  • UI分層測試體系、用例結構解析?
  • 純H5自動化測試?
  • 小程序自動化測試?
  • 基于PO模式的移動自動化測試實戰?
  • 自動遍歷測試方法與常見技術介紹?
  • 如何自定義Appium?
  • Appium的框架原理是什么,有沒有做過二次改造
  • Appcrawler遍歷測試工具簡介?
  • 跨多端平臺的用例如何維護?

Devops 相關

  • 基于Jenkins的自動化調度詳解?
  • 持續交付中的流水線構建?及質量保證?

其實以上問題的答案,在《Python 測試開發實戰進階》課程里,大咖導師們都有細致入微的講解,這里也不一一贅述,真心推薦大家深入學習。

以上,當下的成功永遠是下一次進步的起點,我相信心動不如行動,邊寫代碼邊積累,每天進步一點點,自己也終會與測試技術大神距離更近,也希望能與大家多交流,一起進步!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容