Soumettre la recherche
Mettre en ligne
軟體品質與持續整合
•
18 j'aime
•
4,984 vues
家弘 周
Suivre
介紹「持續整合」在軟體生命週期中的重要性,藉此提昇軟體交付品質。
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 53
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
持續整合與單元測試
持續整合與單元測試
昱劭 劉
MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家
家弘 周
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
奕孝 陳
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
Wen Liao
敏捷開花那些小事
敏捷開花那些小事
家弘 周
用 jenkins 實戰 CD/CI
用 jenkins 實戰 CD/CI
Chris Wang
Component Unit Test
Component Unit Test
William Wang
歡迎加入軟體構築行列
歡迎加入軟體構築行列
Chris Wang
Recommandé
持續整合與單元測試
持續整合與單元測試
昱劭 劉
MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家
家弘 周
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
打造完全免費的,JAVA專案持續整合環境_ 2013 java developer_day_by 李書豪
奕孝 陳
從組裝軟體中談談軟體發展管理
從組裝軟體中談談軟體發展管理
Wen Liao
敏捷開花那些小事
敏捷開花那些小事
家弘 周
用 jenkins 實戰 CD/CI
用 jenkins 實戰 CD/CI
Chris Wang
Component Unit Test
Component Unit Test
William Wang
歡迎加入軟體構築行列
歡迎加入軟體構築行列
Chris Wang
測試是什麼
測試是什麼
Yvonne Yu
移动开发敏捷实践
移动开发敏捷实践
Yuan Mai
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
潘 冠辰
給沒有程式設計經驗的人
給沒有程式設計經驗的人
PingLun Liao
版控實務
版控實務
Robin
Coding dojo
Coding dojo
哲偉 楊
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
yinwilliam
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
棋文 鄭
從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化
少齊 張
Mvp in practice
Mvp in practice
彥彬 洪
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 2018
Juggernaut Liu
軟體組裝心得分享
軟體組裝心得分享
Wen Liao
第1章 软件测试概述
第1章 软件测试概述
Kerry Zhu
Why use dependency injection
Why use dependency injection
彥彬 洪
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
diro fan
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
drewz lin
编码规范
编码规范
Jun Sun
腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈
areyouok
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
Miles Chou
敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介
曦 徐
The Clean Coder - 預估與壓力 (書摘)
The Clean Coder - 預估與壓力 (書摘)
家弘 周
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
Wen-Tien Chang
Contenu connexe
Tendances
測試是什麼
測試是什麼
Yvonne Yu
移动开发敏捷实践
移动开发敏捷实践
Yuan Mai
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
潘 冠辰
給沒有程式設計經驗的人
給沒有程式設計經驗的人
PingLun Liao
版控實務
版控實務
Robin
Coding dojo
Coding dojo
哲偉 楊
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
yinwilliam
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
棋文 鄭
從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化
少齊 張
Mvp in practice
Mvp in practice
彥彬 洪
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 2018
Juggernaut Liu
軟體組裝心得分享
軟體組裝心得分享
Wen Liao
第1章 软件测试概述
第1章 软件测试概述
Kerry Zhu
Why use dependency injection
Why use dependency injection
彥彬 洪
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
diro fan
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
drewz lin
编码规范
编码规范
Jun Sun
腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈
areyouok
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
Miles Chou
Tendances
(19)
測試是什麼
測試是什麼
移动开发敏捷实践
移动开发敏捷实践
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
給沒有程式設計經驗的人
給沒有程式設計經驗的人
版控實務
版控實務
Coding dojo
Coding dojo
Test corner #20 誰說只有測試金字塔
Test corner #20 誰說只有測試金字塔
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
2020DDDTW-如何逐步導入敏捷精神,創造願意接受失敗的開發團隊?
從敏捷開始的測試 從測試開始的自動化
從敏捷開始的測試 從測試開始的自動化
Mvp in practice
Mvp in practice
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 2018
軟體組裝心得分享
軟體組裝心得分享
第1章 软件测试概述
第1章 软件测试概述
Why use dependency injection
Why use dependency injection
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
從廢柴到成材 - 那 20 個 sprints 教會我們的事 C.C Agile #40
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
编码规范
编码规范
腾讯大讲堂49期 产品翻译面面谈
腾讯大讲堂49期 产品翻译面面谈
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
2019/7/27 先別開 Branch 了,你聽過 Feature Toggle 嗎?
En vedette
敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介
曦 徐
The Clean Coder - 預估與壓力 (書摘)
The Clean Coder - 預估與壓力 (書摘)
家弘 周
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
Wen-Tien Chang
REST to RESTful Web Service
REST to RESTful Web Service
家弘 周
The clean coder
The clean coder
Andy Cheng
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Edward Chen
Mrpig 下班一條龍 上班一條豬
Mrpig 下班一條龍 上班一條豬
seatof
「許一個未來」軟體工程師的一天
「許一個未來」軟體工程師的一天
mailiChrist
Caching in HTTP
Caching in HTTP
家弘 周
小猴子也會的 Ubuntu Desktop 14.04 安裝教學
小猴子也會的 Ubuntu Desktop 14.04 安裝教學
家弘 周
SEO 武林天下
SEO 武林天下
家弘 周
軟體架構模式
軟體架構模式
Chieh (Jack) Yu
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)
Gelis Wu
Entities in DCPS (DDS)
Entities in DCPS (DDS)
Jamie (Taka) Wang
架構設計入門 twMVC#11
架構設計入門 twMVC#11
twMVC
教與學之間
教與學之間
Shih-Chung Jessy Kang
[資管系 業界講師]演講題目:我的It人生
[資管系 業界講師]演講題目:我的It人生
MIS2000 Lab.
Xp2015 Scaling Agility explored - LeSS SAFe comparison
Xp2015 Scaling Agility explored - LeSS SAFe comparison
Gosei Oy
Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)
Yu Wei Shang
測試流程整體介紹
測試流程整體介紹
gaohonglian
En vedette
(20)
敏捷軟體開發方法與 Scrum 簡介
敏捷軟體開發方法與 Scrum 簡介
The Clean Coder - 預估與壓力 (書摘)
The Clean Coder - 預估與壓力 (書摘)
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
REST to RESTful Web Service
REST to RESTful Web Service
The clean coder
The clean coder
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Mrpig 下班一條龍 上班一條豬
Mrpig 下班一條龍 上班一條豬
「許一個未來」軟體工程師的一天
「許一個未來」軟體工程師的一天
Caching in HTTP
Caching in HTTP
小猴子也會的 Ubuntu Desktop 14.04 安裝教學
小猴子也會的 Ubuntu Desktop 14.04 安裝教學
SEO 武林天下
SEO 武林天下
軟體架構模式
軟體架構模式
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)
Entities in DCPS (DDS)
Entities in DCPS (DDS)
架構設計入門 twMVC#11
架構設計入門 twMVC#11
教與學之間
教與學之間
[資管系 業界講師]演講題目:我的It人生
[資管系 業界講師]演講題目:我的It人生
Xp2015 Scaling Agility explored - LeSS SAFe comparison
Xp2015 Scaling Agility explored - LeSS SAFe comparison
Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)
測試流程整體介紹
測試流程整體介紹
Similaire à 軟體品質與持續整合
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Chen Cheng-Wei
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
Rick Hwang
F2E for Enterprise
F2E for Enterprise
Joseph Chiang
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生
appuniverz
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
LetAgileFly
Proud Plone on Cloud
Proud Plone on Cloud
TsungWei Hu
(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2
Sonny Chen
The way to continuous delivery
The way to continuous delivery
Qiao Liang
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
Rick Hwang
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
Jason Cheng
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
TIM WANG
Test and Software Quality
Test and Software Quality
Enzo Wang
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
SOBO Design profile
SOBO Design profile
SOBO Design
20121115 Slides
20121115 Slides
Tonyq Wang
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
Fred Chien
Scea su chengwu_pmroi_traditional
Scea su chengwu_pmroi_traditional
xtiandlr
Our experience to start a startup
Our experience to start a startup
Yenwen Feng
Continuous Delivery - 敏捷開發的最後一哩路
Continuous Delivery - 敏捷開發的最後一哩路
Miles Chou
開源 x 節流:企業導入經驗分享 (一)+(二) [2016/07/21] A+A Space 開源講座
開源 x 節流:企業導入經驗分享 (一)+(二) [2016/07/21] A+A Space 開源講座
Jason Cheng
Similaire à 軟體品質與持續整合
(20)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
Ansible & GitLab CI / CD Workshop 101 ( @Agile Tour Taipei 2017)
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
導讀持續交付 2.0 - 談當代軟體交付之虛實融合
F2E for Enterprise
F2E for Enterprise
2012/05/23 AU Talk - 讓事情發生
2012/05/23 AU Talk - 讓事情發生
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Proud Plone on Cloud
Proud Plone on Cloud
(宇宏)生產履歷 建議方案 20100901 v2
(宇宏)生產履歷 建議方案 20100901 v2
The way to continuous delivery
The way to continuous delivery
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
Test and Software Quality
Test and Software Quality
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
SOBO Design profile
SOBO Design profile
20121115 Slides
20121115 Slides
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
Scea su chengwu_pmroi_traditional
Scea su chengwu_pmroi_traditional
Our experience to start a startup
Our experience to start a startup
Continuous Delivery - 敏捷開發的最後一哩路
Continuous Delivery - 敏捷開發的最後一哩路
開源 x 節流:企業導入經驗分享 (一)+(二) [2016/07/21] A+A Space 開源講座
開源 x 節流:企業導入經驗分享 (一)+(二) [2016/07/21] A+A Space 開源講座
Plus de 家弘 周
2020 MLaaS 產業介紹.pdf
2020 MLaaS 產業介紹.pdf
家弘 周
用 Keras 玩 Machine Learning
用 Keras 玩 Machine Learning
家弘 周
Linux Container Introduction
Linux Container Introduction
家弘 周
Cloud Foundry Introduction
Cloud Foundry Introduction
家弘 周
區塊鏈共識機制與 EOS
區塊鏈共識機制與 EOS
家弘 周
簡單線性回歸 & K-Means (Machine learning)
簡單線性回歸 & K-Means (Machine learning)
家弘 周
WordPress Blog SEO 兩三事
WordPress Blog SEO 兩三事
家弘 周
Plus de 家弘 周
(7)
2020 MLaaS 產業介紹.pdf
2020 MLaaS 產業介紹.pdf
用 Keras 玩 Machine Learning
用 Keras 玩 Machine Learning
Linux Container Introduction
Linux Container Introduction
Cloud Foundry Introduction
Cloud Foundry Introduction
區塊鏈共識機制與 EOS
區塊鏈共識機制與 EOS
簡單線性回歸 & K-Means (Machine learning)
簡單線性回歸 & K-Means (Machine learning)
WordPress Blog SEO 兩三事
WordPress Blog SEO 兩三事
軟體品質與持續整合
1.
軟體品質與持續整合 Software Quality &
Continuous Integration sj@toright.com http://blog.toright.com 2014/12/25
2.
持續整合 Continuous Integration 敏捷開發方法論 其中的武功招式之一
3.
Why ? 想解決什問題...
4.
希望能掌握軟體開發節奏 說好的 Feature 與
Deadline 呢?
5.
開發節奏 Tempo of Development 程式設計師想踏實地寫程式 專案經理想確實地掌握時程 組織想降低成本與開發風險 客戶想拿到品質優良的產品 !?
6.
回顧一下歷史的眼淚先... A Story of
Integration Hell
7.
悲劇的初章 PM:各位,明天新功能要上線囉! RD 甲:我負責的功能早完成了! RD 乙:我快完成了,剩下的
Bug 今晚可以搞定。 QA 甲:現在測試狀況還可以,剩下一些 Bug 等著修。 QA 乙:系統怪怪的,總覺的哪裡不對勁... PM:不要緊,大家晚上加個班,讓我們一起迎接明日黎 明的勝利!
8.
黎明的前夕 RD ● 處理惱人的程式碼衝突 ● 忙著修正系統自動產生的
Bug !? ● 執行環境差異太大 ● 整合測試出現奇妙的錯誤 (我的電 腦明明正常啊) ● 開始用一些所謂「快」的方法解決 問題 (你懂der) QA ● 壞的功能貌似修好了 ● 原本好的功能變得怪怪的 ● 永遠沒有最終版 ● 時間緊迫根本測不完 PM ● 有時暴跳如雷 (Bug 如雪花般的飛來) ● 有時安靜的像隻貓 (禱告中...) ● 去全聯買「乖乖」
9.
黎明到來 Bug 已經修正 (隱藏/規避),系統整合後 運作起來還算正常,終於可以上線了!
10.
新功能啟用 大量使用者湧入使用 團隊忐忑不安的心情
11.
PM 正準備吹起勝利的號角 ...
12.
系統炸了,歷史悲劇再度上演!
13.
這故事各位是否熟悉?
14.
面對軟體開發的複雜性 漸漸由 病 轉變為
疾
15.
回到「持續整合」 先從字面上解釋!
16.
持續 整合 不間斷、不停地、一直、有事沒事就做一下
17.
持續 整合 把大家寫的 Code
在一起跑看看有沒有錯!
18.
持續 + 整合
就是 有事沒事就把大家寫的 Code 在一起跑看看有 沒有錯!
19.
持續整合生命週期 Start … End 等同整個軟體生命週期!
20.
結論 持續整合的目的在於掌握軟體開發節奏
21.
How ? 該怎麼做...
22.
有事沒事就把大家寫的 Code 在一起跑看看 有沒有錯! 就是「自動化」!
23.
假自動化 vs 真自動化
24.
假自動化 (半自動 /
手動)
25.
人有失蹄、馬有失足 不管多細心,只要是人做的都會錯!
26.
真自動化才是王道!
27.
天下武功、無堅不摧,為快不破!
28.
自動化的好處 快 執行成本低 錯誤機會低
29.
實行自動化的痛 不知道怎自動化 不容易自動化 沒辦法自動化 自動化過程耗費高成本
30.
如果沒辦法全面自動化呢? 那就盡可能自動化吧!
31.
有事沒事就把大家寫的 Code 在一起跑看看 有沒有錯! 這不就是「版本控制」嗎!?
32.
版本控制系統 Version Control System Git,
SVN, CVS...
33.
有事沒事就把大家寫的 Code 在一起跑看看 有沒有錯! 這不就是「系統測試」嗎!?
34.
測試模式 Unit Test、Function Test、Monkey
Test、UI Test… 不管黑箱還是白箱,可以自動測的都是好箱!
35.
測試到底該測些什麼? ● 對的要對 ● 錯的要錯 ●
錯的不能對 ● 對的不能錯
36.
撰寫自動化測試 最大的問題是? 既有的程式架構根本很難寫測試!
37.
測試驅動開發 TDD, Test-driven development 不寫測試不寫程式 沒有通過測試的程式不是程式
38.
不要迷戀哥(TDD),哥只是個傳說! 有時開發模式的核心不是在實踐,而是在目的!
39.
透過認識方法論,找出適合手段! 透過測試先行幫助思考,進而改善軟體架構、實作與設計...
40.
明明有了測試,怎麼還是錯了? 根本沒測到 (覆蓋率不足) 程式寫錯、測試也剛好寫錯
41.
先別說這個了,你聽過「系統反饋」嗎? 什麼鬼?
42.
系統反饋 System Feedback 如果你傷害它,它就會喊痛!
43.
反饋的喜悅
44.
每日建置 Nightly Build 每晚自動抓最新的程式碼,嘗試進行編譯、封裝、 佈署、測試、建立報告...最後獲得系統反饋
45.
自動化 + 測試
+ 系統反饋 持續整合的核心價值!
46.
What ? 實踐...
47.
持續整合系統 Continuous Integration System
48.
今天不介紹 詳細安裝與設定請與我聯繫...
49.
Pull Code Syntax &
Coding Style Check JS / CSS Compress Make Source Map Pack Depoly Generate Document Unit Test Function Test Release Tag Report (Notification)
50.
每件事物都有適合自己的持續整合流程 請試著找出屬於自己的整合流程
51.
請保持心中的信念 我們需要義無反顧的勇氣
52.
對航海的人來說,擱淺的船舶就是燈塔。 [荷蘭諺語] 最後...
53.
Thanks!! sj@toright.com http://blog.toright.com
Télécharger maintenant