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

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

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

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

Avatar for LINE Developers Taiwan

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