今天在github上看到一份測試同學的成長之路圖譜,不敢獨享,在這里給大家匯報一下。
基本概念
首先明確幾個基本概念
- STLT: Software Testing Life Cycle 軟件測試生命周期
- SDLC:Software Develop Life Cycle 軟件開發生命周期
- TDD: Test Driven Development 測試驅動開發
- RPA: Robotic Process Automation 過程自動化
必須掌握的基礎能力
測試策略
- 白盒測試
- 灰盒測試
- 黑盒測試
測試類型
- 功能測試
- 單元測試
- 冒煙測試
- 集成測試
- 回歸測試
- 健全性測試(sanity testing)
- 用戶接受性測試(uat)
- 非功能性測試
- 負載測試
- 壓力測試
- 安全測試
- 性能測試
上面的負載,壓力以及性能測試在國內其實不怎么分,可以統一看作是性能測試,只不過測試策略不同而已。
STLC 管理工具
- qTest
- TestLink(常用)
- Zephyr
- Testrail
項目管理工具
- Jira(常用)
- Youtrack
- Trello
- Assembla
軟件研發模型
- V模型
- 敏捷模型:迭代式,較為常用
- 瀑布模型
深度手工測試技能
手工測試目前看來還是軟件測試工程師的核心能力,優秀的手工測試能力可以讓你的職業生涯發展更加平滑。
做一個數據驅動的測試人員可以節約你的時間精力並讓你的質量改進行為更加有效。
TDD
先寫用例,開發的過程實際上就是不停的去實現這些用例。
測試計划定義
- 測試范圍
- 測試資源
- 測試策略
- 如何進行測試
測試用例及場景(必須掌握)
測試用例設計是測試同學的主要工具,基本上就是把用戶的行為轉換為測試用例。
測試報告
上級領導最關注的部分。
包含了軟件/系統在修改或者發布后的真實表現。
兼容性
作為測試人員,你必須在測試計划優先級之上具有兼容性,畢竟世界上唯一不變的就是變化。
Verification & Validation
- Verification: 我們是用正確的方式去開發產品么?
- Validation: 我們是在開發正確的產品么?
一些建議
- 不要相信沒有失敗的測試代碼。
- 了解軟件測試,不盲目自動化; 我個人將自動化分類為處理冗余任務的有效方法。 確保正確設計您的測試標准,以后,您可以自動化實現先前的測試標准。
- 自動化不只是記錄手動編寫的測試用例用代碼以一種易讀和重用的方式翻譯出來。
- 確保您的測試代碼實際上正在測試某些東西。
- 您的測試代碼不需要進行測試。
- http狀態中,200〜OK並不總是可以的; 在測試過程中,不要僅依靠服務器狀態,未經授權的API調用會獲得200的狀態,這會威脅到您的軟件安全。
需要大圖的同學請在對話框直接回復:線路圖