Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
克服人心的障礙,跨越自動化測試的門檻
Search
Ming Shien Tzang
June 02, 2017
Programming
2.5k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
克服人心的障礙,跨越自動化測試的門檻
Ming Shien Tzang
June 02, 2017
More Decks by Ming Shien Tzang
See All by Ming Shien Tzang
AI 開發效率的瓶頸,是你讓它做不擅長的事
tzangms
0
27
英文有聲書這樣聽就對了
tzangms
0
570
從工程師到總經理
tzangms
19
10k
StreetVoice 自動化部署演進
tzangms
0
590
小海之路
tzangms
2
460
The workflow of the New StreetVoice
tzangms
20
2.2k
小海嚴選
tzangms
6
1.5k
StreetVoice: From Windows/ASP to Linux/Python
tzangms
12
1.7k
Deploy Django on Windows Azure web sites in 5 minutes
tzangms
1
1.3k
Other Decks in Programming
See All in Programming
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
680
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
350
自分的「カンファレンスの楽しみ方」
syumai
0
190
Family mrubyの進捗
kishima
1
100
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
450
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
120
初めての模倣学習とVLA
natsutan
0
500
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
290
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
120
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
920
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
Paper Plane (Part 1)
katiecoart
PRO
1
11k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Visualization
eitanlees
152
17k
Paper Plane
katiecoart
PRO
2
53k
How to Talk to Developers About Accessibility
jct
2
540
Design in an AI World
tapps
1
310
Building the Perfect Custom Keyboard
takai
2
870
Abbi's Birthday
coloredviolet
3
9.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
克服⼈人⼼心的障礙 跨越⾃自動化測試的⾨門檻 IThome #Testing Day @tzangms
@tzangms StreetVoice 網路路技術部副總經理理
先講⼀一下我們⽬目前的狀狀態 在開始講之前呢
None
None
為何開始⾃自動化測試
潮! 「可以跟⼈人家說我們有在做⾃自動化測試啊」
⼿手動測試太浪費時間 想像⼀一下會員註冊,要填資料還要收信啟⽤用帳號
改了了 A 功能,B 功能爆炸
每次升級都覺得怕怕的
⼈人⼼心的⾨門檻
「沒有時間」 「這時間不如拿去寫新功能」 「好⿇麻煩啊」 「不知道怎麼開始」
其實⼤大家都不知道⾃自⼰己 浪費了了多少時間
你可以⽤用⼀一分半的時間執⾏行行 569 個測試嗎? 不⾏行行嘛!是不是!?
有開發過會員系統嗎? 想像⼀一下⼿手動測試的痛苦
基本註冊功能 • 填寫帳號資料送出 • 等認證信 • 點認證連結
填寫資料送出
填⼀一堆資料後 發現程式有問題
「咦,真的是程式有問題嗎?」 第⼀一個念念頭是什什麼?
⼀一邊開發⼀一邊測試 填⼀一堆資料後發現程式還是有問題 再測⼀一遍
然後會發⽣生什什麽事 以下是最常發⽣生的狀狀況
帳號名稱⽤用過了了 「可惡惡! ⼜又得想新的帳號名稱」
啊 密碼檢查過不了了 當初為何要限制八個字元,⽽而且還要中英⽂文混⽤用啊,混帳 123 不⾏行行嗎?
Captcha 「啊,⼜又輸入錯了了」
驗證信怎麼還沒收到 ⼼心裡想說「該不會寄到垃圾信件夾了了吧?」 過了了 5 分鐘後 …「啊,終於收到了了!」
驗證連結怎麼是錯的 「嘖,好像程式真的沒寫好」
終於開發完成 驗證信已經收了了 50 封不⽌止
昨天升級了了某個套件 今天同事說:「是不是註冊功能有問題呀?」 你說: 應該不會吧,沒有改註冊功能啊 … (但是⼼心裡冒冷汗) 接著
None
如果你決定開始嘗試了了 你可能會碰到什什麽問題
卡關 決定嘗試⾃自動化測試後,可能卡關的⾨門檻
搞 CI Jenkins or CI Services
光是 Jenkins 不難,但是對於剛入⾨門的⼈人來來說,⼀一 堆設定加起來來就會覺得悲傷了了。
⽤用 Travis CI 只要這樣 Circle CI 也可以試試,其實看狀狀況會比 Travis CI 更更簡單
產⽣生 Coverage 也很簡單 ⽤用 codecov 的話,在 .travis.yml 補上這幾⾏行行就可以了了
Coverage report
None
⽣生測試資料 ⼀一開始最⼤大的⾨門檻,你要找到對的⼯工具
Before After ⼀一開始的做法真的會令⼈人⾺馬上放棄 例例如要測試的⾸首⾴頁有 10 區塊分別顯⽰示不同類型的資料
遠端 API 當你碰到外部 API 的時候怎麼測試?
你⼀一樣可以 mock
如何開始導入測試 同事最難搞了了對不對 (誤)
⾃自⼰己先寫測試 然後漸進式地開始慢慢宣導
例例如在聊天時不經意說出: 「啊,我現在都不⽤用⼿手動測試了了,好爽啊!」
看到覆蓋率的數字 讓⼤大家有感
「喔喔喔! Coverage 提升了了百分之⼀一!!」
再加上⾃自動部署 ⼤大家就可以感受到好處了了
None
從哪邊開始著⼿手 從最重要的地⽅方開始補測試
最不希望出錯的地⽅方 例例如: 購買、付款、⾸首⾴頁
⼿手動測試最累⼈人的地⽅方 例例如剛才提到的註冊流程
⼀一邊開發⼀一邊補測試 image credit from: http://ronjeffries.com/xprog/articles/refactoring-not-on-the-backlog/
Refactor 之前 ⾄至少你可以確定不會 Refactor 後爆炸
閒閒沒事的時候 Come on, 總是有這種時候吧!?
⾃自動化測試的優點
安⼼心 再也不⽤用擔⼼心部署上去後爆炸了了
升級 framework 也不⽤用怕 最近⼀一⼝口氣升級三個版號,測試都幫我們預先抓出來來了了
可以開始做⾃自動化部署 ⾃自動化部署真的很爽
None
None
還沒說服你嗎? 來來找我聊聊