Slide 1

Slide 1 text

QA 蝦米 QA? 我的扣超讚的啊

Slide 2

Slide 2 text

01 02 03 04 Development Process Job Responsibility 專案分享:Test Case ⾃動分類 Introduction 05 專案分享:Release 流程優化 CONTENT

Slide 3

Slide 3 text

01 Introduction

Slide 4

Slide 4 text

Lawrence Tsai Education • M.S. in Management Information Systems @ NTU • B.S.S. in Journalism & Communication @ CUHK Experience • 2023 LINE Taiwan | TECH FRESH @ LINE TRAVEL • 2022 Dcard | QA Intern @ EC TECH FRESH @ LINE

Slide 5

Slide 5 text

機票 住宿 體驗 團旅 Logo 取⾃ Flaticon

Slide 6

Slide 6 text

YT Chen Education • M.S. in Computer Science @ NTUT • B.B.A in Finance @ TKU Experience • 2023 | TECH FRESH @ LINE Taiwan • 2022 | Backend Engineer Intern @ thingnario • 2020-2021 | Data Engineer @ iiNumbers TECH FRESH @ LINE

Slide 7

Slide 7 text

A mobile ecommerce alliance platform for shopping guide and point reward.

Slide 8

Slide 8 text

02 Development Process

Slide 9

Slide 9 text

Software Development Life Cycle 1 ANALYSIS 2 DESIGN 3 DEVELOPMENT 4 TESTING 5 DEPLOYMENT 6 MAINTENANCE Business Designer Developer QA Operations Technical Support

Slide 10

Slide 10 text

Development Process for QA 1 ANALYSIS 2 DESIGN 3 DEVELOPMENT 4 TESTING 5 DEPLOYMENT 6 MAINTENANCE Test Requirement Analysis Automation Script Development E2E Testing Stress Testing CUJ Testing Test Case Writing Performance Monitoring Regression Testing Continuous Development (CD) Continuous Integration (CI)

Slide 11

Slide 11 text

03 Job Responsibility

Slide 12

Slide 12 text

Test Case & Test Run Test Case Test Run Test Case 1 2 3 Test Case 3 明確的⽬的&可執⾏的步驟 預期結果 vs 實際結果? 清楚涵蓋特定的功能或問題點 ⼀系列的多 Test Cases 組合 根據某種具體的使⽤者場景所定義 記錄測試點以評估軟體品質

Slide 13

Slide 13 text

Job Responsibility Test Case Preparation Automation Manual Testing 2 DESIGN 3 DEVELOPMENT 圖片取⾃ TestRail

Slide 14

Slide 14 text

Manual Testing Job Responsibility 確認⾴⾯上有「LINE 購物」的 logo Test Case 1 2 確認⾴⾯上有「搜尋框」的元素 Test Run 3 DEVELOPMENT 4 TESTING Test Case Logo 取⾃網路 Automation

Slide 15

Slide 15 text

Job Responsibility 5 DEPLOYMENT 6 MAINTENANCE Continuous Integration (CI) 圖片取⾃網路

Slide 16

Slide 16 text

Job Responsibility 圖片取⾃網路 Continuous Deployment (CD) 5 DEPLOYMENT 6 MAINTENANCE

Slide 17

Slide 17 text

Job Responsibility 5 DEPLOYMENT 6 MAINTENANCE 圖片取⾃網路 Monitoring

Slide 18

Slide 18 text

04 專案分享: Test Case ⾃動分類

Slide 19

Slide 19 text

寫 Test Case 也會有技術債? Epic:⾸⾴標題 Banner 確認⾴⾯上有「LINE 購物」的 logo 2000~3000 筆 確認⾴⾯上有「搜尋框」的元素 確認「搜尋框」旁是「相機」的 icon 確認⾴⾯上有「購物⾞」的 icon 確認跳轉⾴⾯可以導購成功 確認商店⾴⾯上有「專屬推薦」 Epic:??? Test Case Solution: 舉辦 workshop 讓⼤家⼀起償還歷史共業 🥳

Slide 20

Slide 20 text

架構圖 testrail- backup build-pipeline TestRail Cloud Preprocess & Modeling GitHub Actions Test Cases (TC) Test Runs (TR) Prediction Result Request Export Pull Data Upload Upload

Slide 21

Slide 21 text

建立模型 P N P • True Positives (TP) • False Negatives (FN) N • False Positives (FP) • True Negatives (TN) Baseline • Text preprocessing:TF-IDF • Model:Naive Bayes classifier Optimized • Text preprocessing:TF-IDF • Model:Random Forest classifier Performance = Naïve Bayes Classifier

Slide 22

Slide 22 text

模型效能 0.54 0.63 0.85 0.89 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 標完的資料 標完的資料 + Test Run 資料 Baseline Optimized

Slide 23

Slide 23 text

05 專案分享: Release 流程優化

Slide 24

Slide 24 text

Release Calendar • 公司有多個團隊及產品 • 每個產品有 Maintenance、Resolved 等不同狀態 • 需要有 Calendar 記錄更新時間、Release 的產品、 Release 版號等訊息⽅便統⼀管理

Slide 25

Slide 25 text

架構圖 Trigger Jenkins Deployment Manifests Pull Changes Sync Cluster Status Pull Image & Update Containers Trigger Python code Logo 取⾃ Flaticon、網路 Update Calendar

Slide 26

Slide 26 text

ArgoCD 在 ArgoCD Sync 以及 Sync Success 的時候更新 Calendar 圖⽚取⾃網路

Slide 27

Slide 27 text

K8s 利⽤ ArgoCD Hook 在 Sync 時觸發 Job Curl Jenkins 執⾏任務並 帶入 Parameters

Slide 28

Slide 28 text

Jenkins 可⼿動選擇⾏為,或通過 parameters 決定

Slide 29

Slide 29 text

No content