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

讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP

讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP

Speaker: Joe Lin & Mia Chu
Event: LINE TECH FRESH 畢業分享會 2025

Avatar for LINE Developers Taiwan

LINE Developers Taiwan

June 18, 2025
Tweet

More Decks by LINE Developers Taiwan

Other Decks in Technology

Transcript

  1. Joe Lin TECH FRESH QA Dev 2021/09 ~ 2025/06 @NTUT

    EECS 2024/07 ~ 2025/06 @LINE Taiwan
  2. 行為驅動開發 01 跨角色合作 開發、測試、業務人員密切溝通 03 活文件 規格同時是測試與文件 02 通用語言 使用大家都能理解的共通語言

    04 由外而內的開發 從使用者行為或業務需求出發,再在 進行系統設計與實作 自動化測試 CI/CD 監控/報告
  3. Page Object Model Test Methods Web Element Methods Page Object

    Test 基本概念與結構: • 每個網頁對應一個類別 (class) • 每個類別包含: • 要操作的元素 (按鈕, 輸入框…) • 可以進行的動作 (login(), search()…) 自動化測試 CI/CD 監控/報告
  4. Page Object Model 01 易維護 UI 改變時,只需更新一個地方 03 可重用性 同一頁面類別可在多個測試中使用

    02 可讀性高 測試步驟像是在讀操作流程 ex: page.login() 04 可擴展性 隨著應用成長,測試架構依然清晰 自動化測試 CI/CD 監控/報告
  5. E2E Testing Tool - Playwright 01 多瀏覽器支援 Chrome、Firefox、Safari 03 內建錄影、截圖、追蹤

    測試失敗時能快速回溯與重現問題 02 自動等待 減少 flakiness (測試不穩定) 04 支援現代測試架構 POM、API 測試、並行執行 自動化測試 CI/CD 監控/報告
  6. Mia Chu TECH FRESH @ LINE Education • M.S. in

    Information Management @ NTU • B.S in Management Information Systems @ NCCU Experience • 2024-2025 TECH FRESH @ LINE TRAVEL • 2023 SDET @ iKala
  7. 效能測試分類 負載測試 Load Testing 可靠性測試 Reliability Testing 浸泡測試 Soak Testing

    壓力測試 Stress Testing 自動化測試 CI/CD 監控/報告 All images sourced from Flaticon
  8. 負載測試 Load Testing 浸泡測試 Soak Testing 壓力測試 Stress Testing 自動化測試

    CI/CD 監控/報告 All images sourced from Flaticon 效能測試分類
  9. 負載測試 Load Testing 可靠性測試 Reliability Testing 浸泡測試 Soak Testing 壓力測試

    Stress Testing 自動化測試 CI/CD 監控/報告 All images sourced from Flaticon 效能測試分類
  10. 持續整合 Continuous Integration Pull Request Unit Test & Sonar Build

    Image (Dry Run) PR Notify Ready for Code Review 自動化測試 CI/CD 監控/報告
  11. 持續整合 Continuous Integration Pull Request Unit Test & Sonar Build

    Image (Dry Run) PR Notify Ready for Code Review 自動化測試 CI/CD 監控/報告
  12. 持續整合 Continuous Integration Pull Request Unit Test & Sonar Build

    Image (Dry Run) PR Notify Ready for Code Review 自動化測試 CI/CD 監控/報告
  13. 持續整合 Continuous Integration Pull Request Unit Test & Sonar Build

    Image (Dry Run) PR Notify Ready for Code Review 自動化測試 CI/CD 監控/報告
  14. 持續整合 Continuous Integration Pull Request Unit Test & Sonar Build

    Image (Dry Run) PR Notify Ready for Code Review 自動化測試 CI/CD 監控/報告
  15. 持續整合 Continuous Integration Pull Request Unit Test & Sonar Build

    Image (Dry Run) PR Notify Ready for Code Review 自動化測試 CI/CD 監控/報告
  16. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  17. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  18. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  19. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  20. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  21. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  22. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  23. 持續部署 Continuous Deployment Merge to Main Branch Update Test Coverage

    Build Docker Image Push to Harbor Update Image Tag Sync to K8s PostSync Jobs Logos sourced from the official websites of GitHub and ArgoCD. 自動化測試 CI/CD 監控/報告
  24. 專案分享 : Performance Test in CD Image sourced from https://imgflip.com/i/4f8o46

    CI/CD 自動部署至 BETA 環境 Current State 部署成功 ≠ 系統穩定 Challeng e 部署時自動觸發壓測 Objective
  25. 系統架構 Deployment Manifest YAML Pull Changes Sync Cluster Status Pull

    Image & Update Container Detect Changed Repo & Execute Tests PostSync Hook Notify Result Send Metrics Logos sourced from the GitHub, Argo CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  26. 系統架構 Deployment Manifest YAML Logos sourced from the GitHub, Argo

    CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  27. 系統架構 Deployment Manifest YAML Pull Changes Logos sourced from the

    GitHub, Argo CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  28. 系統架構 Deployment Manifest YAML Pull Changes Sync Cluster Status Logos

    sourced from the GitHub, Argo CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  29. 系統架構 Deployment Manifest YAML Pull Changes Sync Cluster Status Pull

    Image & Update Container Logos sourced from the GitHub, Argo CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  30. 系統架構 Deployment Manifest YAML Pull Changes Sync Cluster Status Pull

    Image & Update Container Detect Changed Repo & Execute Tests PostSync Hook Logos sourced from the GitHub, Argo CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  31. 系統架構 Deployment Manifest YAML Pull Changes Sync Cluster Status Pull

    Image & Update Container Detect Changed Repo & Execute Tests PostSync Hook Notify Result Send Metrics Logos sourced from the GitHub, Argo CD, Kubernetes, Docker, Python, k6, Slack, and Grafana official websites.
  32. K8s 使用 PostSync hook 觸發 Job 執行兩個 container repo-change-detector 判斷哪個

    repo 被更新 qa-k6-runner 執行對應的 k6 測試腳本