SlideShare a Scribd company logo
1 of 61
Download to read offline
台灣軟體工程學會
從理想、到現實的距離
開啟品味軟體測試之路
1
Rick Hwang
2022/08/13 (Sat)
2
source: https://www.hexschool.com/2022/06/23/2022-06-23-software-engineer-salary/
那些人會跑去做 軟體測試:
1. 不喜歡寫 Code 的人:
a. 跑去做測試
b. 跑去做網管、維運
c. 跑去做 PM
2. 從 PM 轉換到測試,求生存
3. 喜歡探索軟體
4. 喜歡自幹一個產品
經驗談:不是很科學的刻板映像
3
故事 理想
現實 探索
4
1. 從一段故事開始
5
Rick Hwang
6
自詡為 軟體開發者 (Software Developer) ,工作角色
經歷 Software Develpoer、SQA Manager / SDET
Lead、Operation / Infrastructure Manager、Architect。
專長為系統架構、軟體開發、軟體測試、系統維運。這幾
年專注在 分散式系統、AWS、DevOps / SRE、經營管
理 等領域,著有技術部落格:Complete Think、譯著:分
散式系統設計。
工作之餘喜歡金庸武俠、科幻小說、經典文學、哲學、人
文藝術。
也是個業餘音樂愛好者,約有廿年的經驗,涉略涵蓋 吉
他、鍵盤、編曲、製作、教學,著有音樂部落格:喝咖啡
聊音樂 及 電子書 。
- Java EE
- Eclipse Plugins
- Unit Test
- Integration
- 8y
Software
Developer
Operation /
Infrastrcuture
Software Quality
Assurance
(SQA)
Software
Developer
Arch
- Fully Time QA
- Automation Test Framework and Architecture
- 網通產品: Datapower
- 2y
- Part Time QA
- WebUI Aumation
- Eclipse UI Automation
- 2y
7
SQA Manager
SDET Lead
HQA (Hardware)
- Fully Time QA
- Performance Test
- SDLC
- SQA Manager
- Startup BU
- IoT: IPCam / Streaming
- Webstore
- 3y
8
Dev
QA
PM
Requirement
Spec
System Design
Unit Test
Coding
Test Plan Design Test Case E2E / Integration
Defect Fix
Prepare
Test Environment
Verify Defect
Ref: Software Development Lifecycle
Systems Analysis
Ops
備註:圖上的階段任務,都不是
絕對的。每個組織都有自己的跑法。
9
● PM
a. Project Manager (PM)
b. Product Manager (PM)
c. Product Owner (PO)
● Dev
a. Developer
b. Engineer
c. Programmer
d. Coder
e. SED (Software Development Engineer,
Google)
四個角色、四種專業
● QA
○ Tester
○ QA (Quality Assurance)
○ SQA (Software Quality Assurance)
○ QE (Quality Engineer)
○ SDET (Software Development Engineer
in Test, Microsoft)
○ STE (Software Test Engineer, Google)
● Ops / Infra
○ OP (Operator), SysOps, SysOp
○ IT
○ MIS
○ Infra
○ SRE (Site Reliability Engieer, Google)
○ DevOps
○ SecOps / Security
軟體開發的四大角色 (Roles)
10
Dev
QA
PM
Requirement
Spec
System Design
Unit Test
Coding
Test Plan Design Test Case E2E / Integration
Defect Fix
Prepare
Test Environment
Verify Defect
Ref: Software Development Lifecycle with PDCA
Systems Analysis
Ops
規劃Plan 執行Do 驗證 Check
Action: Do
Action: Plan
驗證 Check
11
Ref: Software Development Lifecycle with PDCA
Dev
QA
PM
Ops
規劃Plan 執行Do 驗證 Check
Action: Do
Action: Plan
驗證 Check
12
思考
1. 測試做到怎樣才是最好?怎麼確認好了?
2. 市面上有哪些好軟體?好產品?好服務?
3. 什麼是好軟體?
4. 測試結果沒有問題,就是高品質?品質是什麼?
2. 現實與理想的距離
2.1 測試金字塔
2.2 功能與非功能
14
情境:以電商為例
1. 去某個電商下單,完成購物流程。
2. 產生訂單快照,訂單快照必須標記下單時間、訂單編號
3. 確認訂單快照這個功能是正常的。
15
2.1 The Test Pyramid
(測試金字塔)
17
source: https://martinfowler.com/articles/practical-test-pyramid.html
18
2.1 The Test Pyramid (測試金字塔)
執行速度快,範圍小
貼近使用者
貼近開發者
執行速度慢,範圍大
跨系統、跨功能
面積代表執行的比重
執行速度普通,範圍大
19
● UI Tests / E2E (End to End):
○ 從終端使用者 (End User) 到 終端系統 (End System)
整段的測試,最直接的測試方式就是透過 UI Tests
(User Interface Test)
○ 路徑最長,但也最貼近真實使用者的使用感受。
○ 執行時間較長
● Service Tests / Integration:
○ 整合測試,兩個異質元素的交互結果驗證。
○ 跨系統的整合,像是電商整合支付、分散式架構
○ 異質功能的整合:時間 + 電源?
○ 排列組合多、需要探索性,測試複雜度高
● Unit Test:
○ 單元測試,指的是 Code Level 的驗證,強調程式本身
的內聚保護,由 Dev 負責
○ 執行速度快,但是考驗架構能力
說明
Service Tests (服務測試) / Integration (整合測試)
1. 系統對系統
a. 內部對外部:Momo 串接 Google Map、SMS、支付 … etc.
b. 同一家公司內部系統:SMS、Push、認證授權 …
2. 功能對功能
a. 極端案例一:iOS 11.1 某個功能被時間影響到了
b. 極端案例二:iPad 的 Timer 跟充電 有關係
3. 功能對系統
a. 一分鐘之內同時湧入 1000 張訂單,但是所有的訂單快照,必須在 1 分鐘之內完成。
20
21
source: https://martinfowler.com/articles/practical-test-pyramid.html
事前預防,符合 規格
無法 確認 是否滿足 需求
事後發現,確立符合需求
事前預防 + 事後發現
確保異質功能、異質系統交互正常
Dev
QA
Who?
22
Ref: 如何有效的回報問題
23
迷惘與誤區:太過重視某個,而忽略整體性
1. 太過重視某一個階段,例如強調 Unit Test 的重要性,但是 E2E 過不了 ⇒
Developers
2. 太過重視 E2E,而忽略 Unit Test 保護內聚力 ⇒ QA / Tester / STE
3. 上面兩個都忽略 Integration / Service Tests ….
24
正確的測試策略:次序與循環
Service Tests
Integration
UI Tests
E2E
Unit Test
1
2
3
Ref: 飛輪效應》如何花更少力氣,推動公司更高速運轉
背景:工作剛到職的狀況
1. 20+ 個 Developers 在美、中、台三地
2. 我一個 QA Manager / SDET Lead
a. 面試時候說要做 Automation Test (含 UT)、Performance
3. IoT 產品:IPCam 影像串流到手機 (iPhone / Andriod Phone / WinPhone)
4. 上班第一天被告知下個月產品要 上線
親身經歷
25
親身經歷:測試策略
26
再回到那個測試金字塔,如果上述前述的前提,下個月上線,你會怎麼做?
1. 第一個禮拜,先 E2E 切入,整理 Test Cases
2. 開出數十個 Defect,請 APP / Server / Device 三個 Team 先修 Defects、聯測
,確認東西能動、能用,同時也爭取一點時間。
3. UT 先跳過,但先寫了 Core Libarary (Protocol Package Utils),準備壓測
目標就是:下個月能上線。
執行比重
28
Source: https://martinfowler.com/articles/practical-test-pyramid.html
Source: https://twitter.com/kentcdodds/status/960723172591992832
UI Tests / E2E
Integration
Unit
Test
執行比重
29
Source: https://martinfowler.com/articles/practical-test-pyramid.html
Source: https://twitter.com/kentcdodds/status/960723172591992832
E2E
Integration
Unit Test
所以,比重應該怎樣才對?
30
這是 是非題?
還是 選擇題?
31
32
0% 5%
10% 15%
10%
20%
15%
25%
企業發展階段
草創期
(招生意)
起步期
(做生意)
成長中
(管公司)
90% 80% 70% 60%
Service Tests
Integration
Unit Test
UI Test
E2E
人力配置比例:以電商為例
20%
30%
50%
發展中
(保客戶)
成熟期
(管產品)
Ref: 不同階段的企業
33
決定比例『應該』如何如何
依照產品 / 產業性質
● 電商 / 網通:整合性很高的產品,Integration 比例一定會很高
依照企業發展階段
● 新創:20 人
● 成長中:200 以內
● 成熟期:500 以內
● 集團:幾千人
34
了解就業目標的『局』
找到適合自己的定位 (位置)
2.2 功能與非功能測試
36
37
定義功能與非功能測試
● 功能需求 (Functional):又稱 業務需求、領域需求、商業需求
○ 給客戶直接的價值,客戶會直接使用的功能
○ 把客戶帶進來,開啟新的業績
● 非功能需求 (Non-Functional):非業務需求、系統需求
○ 客戶間接影響的功能,像是系統效能、資訊安全、系統可靠度、擴展性、使用體驗
○ 把客戶留下來,把讓客戶推銷產品的關鍵因素,把產品散出去
● 功能需求:客戶能夠查閱訂單快照
● 非功能需求:
○ 無論同時成立幾張訂單,都能夠在『一分
鐘』之內查閱訂單快照
1. 效能測試
2. 可靠度測試
3. 資訊安全
4. 使用者體驗
5. 建置與部署測試
6. 容量量測
7. 高可用性測試
8. …
非功能性測試:電商產業
39
1. 客戶:請問你們的系統能夠處理多大的流量?
2. 業務:這季目標會有 200k 的使用者上限,我們系統撐得住?
3. 開發團隊:我們能不能知道系統每台運算單元的上限使用者數量?
40
41
案例:業務目標
1. IPCam + Sensor: 100,000 同時上線
2. Mobile 使用者: 300,000 同時上線 ref: 如何量測系統的容量?
42
10% 20% 30% 40%
企業發展階段
90% 80% 70% 60%
功能測試
非功能測試
人力配置比例:以電商為例
50%
50%
Ref: 不同階段的企業
草創期
(招生意)
起步期
(做生意)
成長中
(管公司)
發展中
(保客戶)
成熟期
(管產品)
普遍的問題 / 刻板映像:
QA 只能負責 功能性測試?
43
3. 探索自己職涯的路
45
46
source: https://www.hexschool.com/2022/06/23/2022-06-23-software-engineer-salary/
47
業務功能
(Biz / Functional)
非業務功能
(System / Non-Functional)
白箱
White
Box
Unit Test
Unit Test
Code Scan
黑箱
Black
Box
Integration
E2E
UAT (Happy Path)
Integration
Performance
Capacity
Reliability
Deployment
QA 在這裡
Web、電商、SaaS 網通、設備、IoT
Dev 在這裡
SDET / Sr. QA
SRE / Architect
Security
Sr. QA
Google, MSFT
48
source: https://martinfowler.com/articles/practical-test-pyramid.html
事前預防,符合 規格
無法 確認 是否滿足 需求
事後發現,確立符合需求
事前預防 + 事後發現
確保異質功能、異質系統交互正常
Dev
QA
Sr QA / SDET
SRE / Architect
49
Rick 對於 軟體品質 的看法
1. 品質不只有測試,而是整個 (開發) 過程。
a. 除了太空梭不能測,地球上沒有不能測的。
b. 品質從需求開始,測試只是種手段
c. 整個過程:SDLC (Software Development Lifecycle)
2. 用品質建立數量,由數量產生速度。
3. 優秀的 軟體測試 ,必須具備產品意識、 開發軟體 經驗、軟體架構設計、維運
經驗 能力才具備資格
ref: 學習法則
1. 探索自己熟悉的、喜歡的領域
a. 可以廢寢忘食的,如果還沒有,那要多嘗試,年輕有失敗的本錢
b. 了解產品、了解使用者,做自主判斷
c. 電商、網通、NFT、Web3、毛小孩 … etc
2. 不知道自己喜歡什麼,找個持續成長的方式:
a. 喜歡是透過熟悉與成就感疊出來的
b. 充實軟體開發知識、 CS 基本技能,把 CS 知識用在生活中
c. 寫 Blog 是最好的投資,幾年後,你會感謝你自己。參 閱 學習法則
d. 精通一個軟體開發流程,掌握 品質的關鍵
e. 建立自己學習的循環
f. 給自己適度的獎勵
3. (給在職) 看清楚公司階段,看清自己的位置,找到自己的方向
50
給社會新鮮人 / 在職朋友的建議
深耕 CS 基礎
1. Operating Systems (作業系統)
2. Computer Architecture (計算機系統結構)
3. Computer Organization (計算機組織)
4. Computer Network (計算機網路)
5. Data Structure (資料結構)
6. Algorithm (演算法)
工程實踐
7. Linux / Unix
8. Cloud: AWS / GCP
9. Kubernetes / Microservices
10. 軟體工程
11. DevOps / SRE
研讀經典
1. Google 的軟體測試之道
2. Agile Test
3. 人月神話
4. Peopleware
5. Refectoring / Design Pattern
6. 持續交付 / SRE
獨立思考、判斷
● 逆向思考
● 思考本質、實踐、抽象、想像力
51
給社會新鮮人 / 在職朋友的建議
給社會新鮮人 / 在職朋友的建議
52
比重都要考慮以下
1. 產業:電商、網通、IoT、銀行
2. 企業發展階段
a. 決定功能與非功能的比重
b. 決定測試三角的比重
c. 開發流程角色的定義與比重
ref: 學習法則
重點摘要
54
55
測試策略:次序與循環
Service Tests
Integration
UI Tests
E2E
Unit Test
1
2
3
Ref: 飛輪效應》如何花更少力氣,推動公司更高速運轉
56
0% 5%
10% 15%
10%
20%
15%
25%
企業發展階段
草創期
(招生意)
起步期
(做生意)
成長中
(管公司)
90% 80% 70% 60%
Service Tests
Integration
Unit Test
UI Test
E2E
找到自己的舞台
20%
30%
50%
發展中
(保客戶)
成熟期
(管產品)
Ref: 不同階段的企業
57
業務功能
(Biz / Functional)
非業務功能
(System / Non-Functional)
白箱
White
Box
Unit Test
Unit Test
Code Scan
黑箱
Black
Box
Integration
E2E
UAT (Happy Path)
Integration
Performance
Capacity
Reliability
Deployment
QA 在這裡
Dev 在這裡
SDET / Sr. QA
SRE / Architect
Security
Sr. QA
今天分享構思的原由
2019/10/30: 關於軟體測試,一些觀察到的現象
58
Reference
1. 2018/02/26: The Practical Test Pyramid - martinfowler.com
2. 2019/05/16: 什麼是測試左移(Shift-Left testing)?
3. 2019/07/04: 飛輪效應》如何花更少力氣,推動公司更高速運轉 - 商周
4. 2022/06/23: 軟體工程師薪水 - 六角學院
59
Complete Think
1. 2014/05/09: 軟體自動化測試常見的問題
2. 2017/07/14: Software Development Lifecycle
3. 2017/09/03: 不同階段的企業
4. 2017/09/20: 學習法則
5. 2017/11/26: 思考本質、實踐、抽象、想像力
6. 2017/12/03: 從 iOS 無限黑屏事件,談軟體測試階段 - 回歸測試 Regression Test
7. 2018/03/18: 如何有效的回報問題
8. 2018/03/18: 輕鬆聊:系統測試 (SVT) 的三兩事
9. 2019/10/30: 關於軟體測試,一些觀察到的現象
60
感謝聆聽
61
Rick Hwang
2022/08/13 (Sat)

More Related Content

What's hot

モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティElasticsearch
 
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略Riotaro OKADA
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディングTakuya ASADA
 
GCP HTTPロードバランサ運用例
GCP HTTPロードバランサ運用例GCP HTTPロードバランサ運用例
GCP HTTPロードバランサ運用例Fumihiko Shiroyama
 
ソフトウェア構成管理入門
ソフトウェア構成管理入門ソフトウェア構成管理入門
ソフトウェア構成管理入門智治 長沢
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へHironori Washizaki
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向崇 山﨑
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた山下 達也
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
CI/CDツール比較してみた
CI/CDツール比較してみたCI/CDツール比較してみた
CI/CDツール比較してみたShoya Kai
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するKohei Tokunaga
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Yoichi Kawasaki
 

What's hot (20)

モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
 
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
 
GCP HTTPロードバランサ運用例
GCP HTTPロードバランサ運用例GCP HTTPロードバランサ運用例
GCP HTTPロードバランサ運用例
 
ソフトウェア構成管理入門
ソフトウェア構成管理入門ソフトウェア構成管理入門
ソフトウェア構成管理入門
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
CI/CDツール比較してみた
CI/CDツール比較してみたCI/CDツール比較してみた
CI/CDツール比較してみた
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
 
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
 

Similar to 從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)

在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法TIM WANG
 
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗ryan4task
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)Max Lai
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous deliveryQiao Liang
 
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生appuniverz
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列Chris Wang
 
Foundation of software development 1
Foundation of software development 1Foundation of software development 1
Foundation of software development 1netdbncku
 
10個步驟保護敏捷開發:應用程式安全的作業方法
10個步驟保護敏捷開發:應用程式安全的作業方法10個步驟保護敏捷開發:應用程式安全的作業方法
10個步驟保護敏捷開發:應用程式安全的作業方法Galaxy Software Services
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC
 
软件设计原则、模式与应用
软件设计原则、模式与应用软件设计原则、模式与应用
软件设计原则、模式与应用yiditushe
 
有效的单元测试.ppt
有效的单元测试.ppt有效的单元测试.ppt
有效的单元测试.ppttest499702
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2netdbncku
 
第1章 软件测试概述
第1章 软件测试概述第1章 软件测试概述
第1章 软件测试概述Kerry Zhu
 
软件测试 -第1章 概述
软件测试 -第1章 概述软件测试 -第1章 概述
软件测试 -第1章 概述Kerry Zhu
 
客服系統的軟體架設計分享
客服系統的軟體架設計分享客服系統的軟體架設計分享
客服系統的軟體架設計分享Johnson Gau
 
杨根兴 软件过程改进与敏捷方法
杨根兴   软件过程改进与敏捷方法杨根兴   软件过程改进与敏捷方法
杨根兴 软件过程改进与敏捷方法Odd-e
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...Edward Kuo
 

Similar to 從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813) (20)

單元測試
單元測試單元測試
單元測試
 
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
 
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
 
Xpp
XppXpp
Xpp
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列
 
Foundation of software development 1
Foundation of software development 1Foundation of software development 1
Foundation of software development 1
 
10個步驟保護敏捷開發:應用程式安全的作業方法
10個步驟保護敏捷開發:應用程式安全的作業方法10個步驟保護敏捷開發:應用程式安全的作業方法
10個步驟保護敏捷開發:應用程式安全的作業方法
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
软件工程2010
软件工程2010软件工程2010
软件工程2010
 
软件设计原则、模式与应用
软件设计原则、模式与应用软件设计原则、模式与应用
软件设计原则、模式与应用
 
有效的单元测试.ppt
有效的单元测试.ppt有效的单元测试.ppt
有效的单元测试.ppt
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2
 
第1章 软件测试概述
第1章 软件测试概述第1章 软件测试概述
第1章 软件测试概述
 
软件测试 -第1章 概述
软件测试 -第1章 概述软件测试 -第1章 概述
软件测试 -第1章 概述
 
客服系統的軟體架設計分享
客服系統的軟體架設計分享客服系統的軟體架設計分享
客服系統的軟體架設計分享
 
杨根兴 软件过程改进与敏捷方法
杨根兴   软件过程改进与敏捷方法杨根兴   软件过程改进与敏捷方法
杨根兴 软件过程改进与敏捷方法
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
 

More from Rick Hwang

在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生Rick Hwang
 
20230829 - 探索職涯,複利人生
20230829 - 探索職涯,複利人生20230829 - 探索職涯,複利人生
20230829 - 探索職涯,複利人生Rick Hwang
 
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會Rick Hwang
 
20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)
20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)
20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)Rick Hwang
 
軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大Rick Hwang
 
CH02 API Governance
CH02 API Governance CH02 API Governance
CH02 API Governance Rick Hwang
 
Chapter 8. Partial updates and retrievals.pdf
Chapter 8. Partial updates and retrievals.pdfChapter 8. Partial updates and retrievals.pdf
Chapter 8. Partial updates and retrievals.pdfRick Hwang
 
Ch09 Custom Methods
Ch09 Custom MethodsCh09 Custom Methods
Ch09 Custom MethodsRick Hwang
 
AWS Career Exploration Day
AWS Career Exploration DayAWS Career Exploration Day
AWS Career Exploration DayRick Hwang
 
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路Rick Hwang
 
導讀持續交付 2.0 - CH02 價值探索環
導讀持續交付 2.0 - CH02 價值探索環 導讀持續交付 2.0 - CH02 價值探索環
導讀持續交付 2.0 - CH02 價值探索環 Rick Hwang
 
2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構
2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構
2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構Rick Hwang
 
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)Rick Hwang
 
Software Development Process v1.5 - 20121214
Software Development Process v1.5 - 20121214Software Development Process v1.5 - 20121214
Software Development Process v1.5 - 20121214Rick Hwang
 
第三章 建立良好的人際關係網路
第三章 建立良好的人際關係網路第三章 建立良好的人際關係網路
第三章 建立良好的人際關係網路Rick Hwang
 
Wiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected MindWiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected MindRick Hwang
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合Rick Hwang
 
Study Notes - Event-Driven Data Management for Microservices
Study Notes - Event-Driven Data Management for MicroservicesStudy Notes - Event-Driven Data Management for Microservices
Study Notes - Event-Driven Data Management for MicroservicesRick Hwang
 
Study Notes - Using an API Gateway
Study Notes - Using an API GatewayStudy Notes - Using an API Gateway
Study Notes - Using an API GatewayRick Hwang
 
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018Rick Hwang
 

More from Rick Hwang (20)

在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生
 
20230829 - 探索職涯,複利人生
20230829 - 探索職涯,複利人生20230829 - 探索職涯,複利人生
20230829 - 探索職涯,複利人生
 
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
 
20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)
20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)
20230215 - 凝聚團隊共識的溝通方法 (Effective Team Communication)
 
軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
 
CH02 API Governance
CH02 API Governance CH02 API Governance
CH02 API Governance
 
Chapter 8. Partial updates and retrievals.pdf
Chapter 8. Partial updates and retrievals.pdfChapter 8. Partial updates and retrievals.pdf
Chapter 8. Partial updates and retrievals.pdf
 
Ch09 Custom Methods
Ch09 Custom MethodsCh09 Custom Methods
Ch09 Custom Methods
 
AWS Career Exploration Day
AWS Career Exploration DayAWS Career Exploration Day
AWS Career Exploration Day
 
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
 
導讀持續交付 2.0 - CH02 價值探索環
導讀持續交付 2.0 - CH02 價值探索環 導讀持續交付 2.0 - CH02 價值探索環
導讀持續交付 2.0 - CH02 價值探索環
 
2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構
2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構
2020 AWS Summit - 如何有效管理 AWS 的成本結構與系統架構
 
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)
 
Software Development Process v1.5 - 20121214
Software Development Process v1.5 - 20121214Software Development Process v1.5 - 20121214
Software Development Process v1.5 - 20121214
 
第三章 建立良好的人際關係網路
第三章 建立良好的人際關係網路第三章 建立良好的人際關係網路
第三章 建立良好的人際關係網路
 
Wiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected MindWiki in Teamroom - Connected Mind
Wiki in Teamroom - Connected Mind
 
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
 
Study Notes - Event-Driven Data Management for Microservices
Study Notes - Event-Driven Data Management for MicroservicesStudy Notes - Event-Driven Data Management for Microservices
Study Notes - Event-Driven Data Management for Microservices
 
Study Notes - Using an API Gateway
Study Notes - Using an API GatewayStudy Notes - Using an API Gateway
Study Notes - Using an API Gateway
 
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018從緊急事件  談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
從緊急事件 談 SRE 應變能力的培養 - DevOpsDays Taipei 2018
 

從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)