Upgrade to Pro — share decks privately, control downloads, hide ads and more …

軟體品質不只測試: LINE QA團隊分享

軟體品質不只測試: LINE QA團隊分享

Event: 2023-03-17 清大資工「軟體專案管理」企業參訪@熊大廣場
Speaker: Jeris Lee

LINE Developers Taiwan

March 17, 2023
Tweet

More Decks by LINE Developers Taiwan

Other Decks in Technology

Transcript

  1. Jeris Lee Service QA Engineer • Tech enthusiast • QA

    Automation Engineer • 5 years QA experience • Client Android/iOS App Testing
  2. 01 02 03 04 05 Contents 淺談Quality Assurance 品質保證 LINE

    TW的軟體開發流程 軟體品質我們做的努⼒ 使⽤的⾃動化與⼯具 Q & A
  3. 什麼是Quality Assurance (QA) 軟體品質不只是測試 🗒 Definition • 防⽌製造的產品出現錯誤 和缺陷 •

    避免在交付產品或服務時 出現問題的⽅法 👨💻 QA Engineer - 確保產品的品質 - 確認產品符合需求 - 對產品做測試/找出問題 - 透過各種⽅法減少問題 的發⽣
  4. QA vs. QC Quality Assurance • 從事前開始的 • 預防發⽣瑕疵 •

    是否正確⽅法 Quality Control - 從事後開始的 - 檢查成品瑕疵 - 是否正確產品
  5. Scrum Process • Planning • Daily • Refinement • Review

    • Retrospec5ve • Release/Deployment 1-2 Weeks Sprint Period
  6. Stages of Software Development 軟體開發流程 Planning & Design Implement &

    Develop Testing & Validate Release & Monitor 💡 👨💻 📋 📈
  7. Planning & Design What QA have to do in this

    stage? Planning & Design Implement & Develop Testing & Validate Release & Monitor A B C 確認⽬的與需求 - 與Product Owner 釐清需求的細節和預期的結果 -與UX/UI Designer 討論使⽤性和流程 討論產品設計架構與流程 -與Dev討論開發的API/系統架構/資料流程/使⽤⼯具/潛在風險等 設定完成條件與測試計畫 -與團隊討論確保每個需求都有明確Acceptance Criteria -建立基本的測試驗證計畫 ex: test mindmap
  8. Implement & Develop What QA have to do in this

    stage? Planning & Design Implement & Develop Testing & Validate Release & Monitor A B C 建立測試案例和資料 - 建立測試案例並與團隊討論Review - 準備測試資料並使⽤Mock Server等⼯具 開發⾃動化測試案例 - 與Dev討論⾃動化測試的驗證⽅向 - 開發API/UI 等等的⾃動化測試 - 針對必要項⽬設計Load Test/Performance Test 確保PR驗證通過測試 - 每個PR都必須通過Unit Test 和 Static Code Scan - 不同團隊會有不同PR Merge的條件
  9. Testing & Validate What QA have to do in this

    stage? Planning & Design Implement & Develop Testing & Validate Release & Monitor A B C 執⾏⼿動測試 - 針對Feature按照Test Case做⼿動測試 - 確認功能邏輯符合Spec ⾃動化測試 - 針對新功能做測試 - 既有功能透過⾃動化測試確保,減少⼿動Regression時間 - 針對開發完的產品在測試環境執⾏Load Test/Performance Test 探索性測試 - 透過Exploratory Test / Bug Bash 等等活動來找可能的問題
  10. Release & Monitor What QA have to do in this

    stage? Planning & Design Implement & Develop Testing & Validate Release & Monitor A B C CI/CD 持續整合交付 - 使⽤各式CI/CD⼯具來達成one pipeline - Ex Jenkins/GitHub Action/Drone/ArgoCD…等等 Release前的檢查與確認 - 透過不同的checklist與環境確認,確保交付產品的正確性 - Ex: Nginix Rules/CDN Config/DB Script …等等 測試右移的追蹤和監控 - Release後針對軟體的即時數據log/health check追蹤,確保無重⼤問題產⽣ - Release後的Defect/Bug Review
  11. Various Automation Help us reduce testing time and raise product

    quality E2E/API Automation CI/CD Pipeline Tools & Gadgets Load & Stress Test Realtime Monitor