SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Next Generation Blockchain Technology
Build Fair Computing Together
Test Corner

誰說只有測試⾦金金字塔
William Yin / Tino Chen
為什什麼測試需要⾃自動化?
先別說這個了了,你知道軟體開發流程嗎?
Waterfall software development
Agile software development
Waterfall vs Agile
Waterfull 差異異 Agile
測試階段 ⼯工作階段 整個軟體開發階段
事後反應 ⼯工作⽅方式 事前預防
開發結果 ⼯工作對象 專案開發過程
被動 ⼯工作風格 主動
啊敏捷不是就好棒棒!!
對 Quality team 的影響
● 頻繁的交付
● ⽂文件的缺少
● 需求頻繁變更更
● 團隊配合較為困難
所以測試才需要⾃自動化啊

建置⾃自動化時,

⼤大家都會參參考的基本模型
只有測試⾦金金字塔⾜足
夠嗎?
GUI Test
Integration test
Unit test
10%
20%
70%
建置⾃自動化測試除了了測試⾦金金字
塔之外我們還能做什什麼?
只要是⼈人寫的,都可能會有 bug
GUI Test
Integration test
Unit test
Performance test
Localization test
Security test
A/B test
SEO test
Infrastructure test Monkey test
And more…
Load test
Testing Level Testing Type
任何能幫助開發品質與開發速度的事情我們都可以⾃自動化
但我們該從何處開始著⼿手?

凡事總有個開始...
從痛點開始!!

從最⼩小開始!!

從對團隊最有感開始!!
COBINHOOD Quality team

如何跳脫框架並實⾏行行⾃自動化?
對於 Quality 內部
做⼀一些⼩小事,讓⼯工作更更加順暢!
⾃自動回填測試步驟
不需⼈人⼯工⼆二次填寫 test cases
把 Log 寫好寫滿!!
加速 debug 流程
⼿手動查看環境infra狀狀態
● COBINHOOD 服務都放置在 GCP 上
● API, DB, WebSocket, Webapp, Slackbot….
● 在運⾏行行⾃自動化測試遇到問題的時候都需要⼿手動去檢查 k8s pod status
1. 與 k8s 連線

2. 取得 pod list

3. 查看 pod status
gcloud container clusters get-credentials NAME --zone ZONE --project PROJECT_NAME
kubectl get pods
⾃自動監視測試環境infra狀狀態
● 跑 BDD testing 前去撈 k8s 的狀狀態
● 如果有 Crash/Error... 就停⽌止測試
● 省下測試時間
對於 Quality 跨部⾨門溝通
舉例例來來說...
COBINHOOD 產品有
⽀支援 13 種語系!
欢迎来到 COBINHOOD! 歡迎來來到 COBINHOOD!COBINHOOD에 오신 것을 환영합니다 ! Welcome to COBINHOOD!
Welkom bij COBINHOOD!
Bienvenue sur COBINHOOD ! Willkomen bei COBINHOOD !
Добро пожаловать на биржу COBINHOOD! !
Chào mừng đến với COBINHOOD ! Benvenuto in COBINHOOD !
Bem-vindo a COBINHOOD ! Bienvenido a COBINHOOD ! COBINHOOD'a Hoş Geldiniz !
要怎麼確保翻譯無誤,是⼀一個重⼤大的問題
除非你是語⾔言天才
那如果交給程式去做呢?
⾃自動檢查翻譯品質
● Release 前把有更更動的字串串抓出來來
● 利利⽤用 Google Translate API 去檢查 TYPO 與粗略略的翻譯品質
● ⾃自動產出 Test report
● 再請 PM review ⼀一次可能有問題的字串串
⾃自動檢查翻譯品質產出 JSON format
測試結果的 comment 就是我們的
DB
⼿手動查看Blockchain出入⾦金金
● 在區塊鏈的世界,出入⾦金金和資產是⼀一個最最最基本的項⽬目
● 就像銀⾏行行系統⼀一樣
⼿手動查看Blockchain出入⾦金金
● 但每條鏈的實際運作都是獨立的、每條鏈的資訊都需要使⽤用特定的的⼯工具
(explorer) 來來查看
● 耗時⼜又費⼯工
- BTC > https://btc.com
- ETH > https://etherscan.io
- EOS > https://eospark.com/
- ….
⾃自動檢查Blockchain出入⾦金金
● 內部轉帳:
● 利利⽤用 COBINHOOD API 檢查內部兩兩個地址餘額
● 外部轉帳:
● 利利⽤用各 Chain 的 Explorer API 去檢查出入⾦金金後帳⼾戶的餘額
- BTC: https://api.blockcypher.com/v1/btc/test3
- ETH: https://api-rinkeby.etherscan.io/api
- …
● 每天會⾃自動執⾏行行
● 發現有問題可以⾺馬上處理理,產品的核⼼心功能須保證隨時都能運作
● ⾃自動產⽣生Test report
對於產品全體
資訊太分散
把訊息都集中顯⽰示在Dashboard上吧!!
● 抓取測試結果 > Testrail
● 利利⽤用 API 即時去拿最新測試結果並更更新在 Dashboard 上
● 讓公司內部⼈人員⼀一⽬目了了然⽬目前測試狀狀況
● 抓取打包過後的 APP > CircleCI
● 簡單利利⽤用 Download link 讓公司內部⼈人員快速下載被測 App
● 紀錄 milestone 的 bug list > Jira
● 根據 milestone 所開出的 bugs 來來追蹤修正進度
● 簡單呈現各種資訊,再利利⽤用導引到各個平台查看詳細資訊
我們預計還要做什什麼?
讓測試更更順暢吧!!
更更深層的資訊、更更貼近軟體開發流程!!
● 檢查 Blockchain 的 Fullnode 狀狀態
● Debug 更更快速、不只是專注在 API & UI level
● 檢查 git commit 是否有 deploy 到各個環境
● 不需透過⼯工程師告知 fix 完的功能是否已經 deploy 到各個環境
● 整合 deploy 流程
● 透過 QA Dashboard 來來進⾏行行 deploy 的流程
拋開那些書⾯面的理理論吧!!

找到公司內部需解決的痛點才是真的
Quality 專注的不只是產品本⾝身的品質,
從流程改善讓整個開發過程更更順利利

也是我們的⼯工作!
Thank you all

Weitere ähnliche Inhalte

Was ist angesagt?

Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
drewz lin
 
腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈
areyouok
 
敏捷测试中的工具实现
敏捷测试中的工具实现敏捷测试中的工具实现
敏捷测试中的工具实现
drewz lin
 
Something missed in regular scrum
Something missed in regular scrumSomething missed in regular scrum
Something missed in regular scrum
Andy Yuan
 
敏捷开发
敏捷开发敏捷开发
敏捷开发
yinwm
 

Was ist angesagt? (19)

J frog live demo ver4
J frog live demo   ver4J frog live demo   ver4
J frog live demo ver4
 
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
 
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
 
Agile / Scrum
Agile / ScrumAgile / Scrum
Agile / Scrum
 
Python 类型检查实践
Python 类型检查实践Python 类型检查实践
Python 类型检查实践
 
為了精準估算,你必須付出什麼代價?
為了精準估算,你必須付出什麼代價?為了精準估算,你必須付出什麼代價?
為了精準估算,你必須付出什麼代價?
 
腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈
 
互联网持续交付整形记
互联网持续交付整形记互联网持续交付整形记
互联网持续交付整形记
 
敏捷测试中的工具实现
敏捷测试中的工具实现敏捷测试中的工具实现
敏捷测试中的工具实现
 
使用Hudson打造屬於你自己的軟體建構機器人
使用Hudson打造屬於你自己的軟體建構機器人使用Hudson打造屬於你自己的軟體建構機器人
使用Hudson打造屬於你自己的軟體建構機器人
 
Component Unit Test
Component Unit TestComponent Unit Test
Component Unit Test
 
Something missed in regular scrum
Something missed in regular scrumSomething missed in regular scrum
Something missed in regular scrum
 
E cl重點
E cl重點E cl重點
E cl重點
 
测试驱动的前端开发初探
测试驱动的前端开发初探测试驱动的前端开发初探
测试驱动的前端开发初探
 
除錯、測試與效能
除錯、測試與效能除錯、測試與效能
除錯、測試與效能
 
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
GitLab Auto DevOps 大解析—CI/CD 原來可以這樣做
 
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
 
測試是什麼
測試是什麼測試是什麼
測試是什麼
 
敏捷开发
敏捷开发敏捷开发
敏捷开发
 

Ähnlich wie Test corner #20 誰說只有測試金字塔

持续交付
持续交付持续交付
持续交付
drewz lin
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-develop
fangdeng
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startup
Yenwen Feng
 
柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试
Trinea Trinea
 
03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏
勇浩 赖
 

Ähnlich wie Test corner #20 誰說只有測試金字塔 (20)

The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
持续交付
持续交付持续交付
持续交付
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-develop
 
[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020[VideOhya] Titanium開發經驗分享_1020
[VideOhya] Titanium開發經驗分享_1020
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startup
 
Tip for Editors
Tip for EditorsTip for Editors
Tip for Editors
 
腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
 
Angular 深入淺出測試篇:新手入門
Angular 深入淺出測試篇:新手入門Angular 深入淺出測試篇:新手入門
Angular 深入淺出測試篇:新手入門
 
用Octopus deploy做自動部署 - 快速上手
用Octopus deploy做自動部署 - 快速上手用Octopus deploy做自動部署 - 快速上手
用Octopus deploy做自動部署 - 快速上手
 
柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试柴锋 跨平台移动应用的自动化验收测试
柴锋 跨平台移动应用的自动化验收测试
 
DevOPS
DevOPSDevOPS
DevOPS
 
持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110持续交付最佳实践——百度技术沙龙201110
持续交付最佳实践——百度技术沙龙201110
 
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018
 
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
 
Test and Software Quality
Test and Software QualityTest and Software Quality
Test and Software Quality
 
Xpp
XppXpp
Xpp
 
03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏03 -黄朝兴--腾讯游戏
03 -黄朝兴--腾讯游戏
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
 
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
 

Test corner #20 誰說只有測試金字塔