MOPCON 2015 - 軟體、測試、程式設計家

Post on 16-Apr-2017

2.634 views 2 download

Transcript of MOPCON 2015 - 軟體、測試、程式設計家

軟體、測試、程式設計家

MOPCON 2015周家弘 SJ

sj@toright.comhttp://blog.toright.com

軟體、測試、程式設計家

軟體設計是一件複雜的工作!

高腦力密集性 + 高複雜性

我們回想一下...自己最後一次覺得驕傲的作品?

何時我們開始不再重視軟體品質?

http://blog.purechat.com/fast-cheap-and-good-the-small-business-guide-to-content-creation/

軟體開發的現實面

程序猿每天都在做什麼?

寫 Code、填坑/救火、防止系統爆炸!

系統爆炸不是既定 Feature

RD 內心的尊嚴攻城獅種的蘋果沒有蟲!

軟體:牽一髮而動全身我們該如何面對錯綜複雜的系統?

面對 Bug?

正視、解決、掌握

掌握 Bug是為了避免重蹈覆轍!

掌握 Bug 的要訣在於測試!

軟體、測試、程式設計家

軟體需測試乃天經地義只是程度上的差別 !?

我們應該花多少時間測試軟體?

軟體專案時間分配

平常我們都如何測試系統?三種典型的測試模式

模式一、QA 測!凡事讓專業的來!

模式二、RD 測!自己的程式自己測...

模式三、客戶測!你懂 der...

奇怪,明明有測試怎麼還是 GG 了!

軟體不只要測試還要全面!

自動化測試才是王道

如果可以全面性地自動化測試!

那該有多好?

寫測試要怎麼開始?

首先先培養寫測試的好習慣!

從小地方開始...

有了自動化測試能讓程式設計師踏實地開發新功能!

測試工作應該在什麼時候進行?

敏捷開發中...整個軟體開發週期都應該隨時測試

持續整合Continuous Integration

Why ?透過持續整合實現持續交付

先別說這個了

各位今年健康檢查了嗎?

系統也應該要例行進行健康檢查!

實踐持續整合是為了掌握軟體開發節奏!

到底什麼是持續整合?

持續整合

不間斷、不停地、一直做、有事沒事就做一下

持續整合

把大家寫的 Code 在一起跑看看有沒有錯!

持續整合

有事沒事就把大家寫的 Code 一起跑看看有沒有錯!

有事沒事就做一下 = 自動化把大家寫的 Code 放在一起 = 版本控制

跑看看有沒有錯 = 測試

測試驅動開發TDD, Test-Driven Development

我的感想...

結對編程Pair Programming

系統反饋System Feedback

透過每日(即時)建置自動化測試你的系統!

隨時掌握系統健康狀態

如何建置持續整合系統?

Jenkins● Private Project● WAR File Package● Linux apt / yum install● Rich Plugins

TravisCI● Open Source Project● GitHub Integration● Docker Based● .travis.yml Config

持續整合可以做些什麼事?

Push Code Static Code Analysis Resource Compress

Make Source

Pack Depoly

BuildDocument

Function Test Notify

Real-Time Build by

Unit Test UI Test

Resource Compress

Make Source

Pack

BuildDocument

Nightly Build by

Pull Code Static Code Analysis

Integration Testing

Git TagDepoly Function Test NotifyUnit Test CoverageReport

Release

UI Test

實踐持續整合常遇到的難題

● 系統耦合度太高,無法獨立測試● 實踐 UI 測試報酬率低● 錯誤邏輯不易測試,覆蓋率不足● 開發流程導入困難

實踐持續整合的幾項建議

● 準備乾淨的測試環境● 建置過程不超過 20 分鐘● 培養寫出可被測試的程式碼● 透過測試程式驗證錯誤● 盡可能自動化你的工作● 透過自動化測試,大膽重構

持續整合的核心價值

自動化 + 測試 + 系統反饋

我們都需要勇氣凡事先有個開始...

軟體、測試、程式設計家

程式設計是快樂且富有創造性的工作!

成為一位程式設計家

Thanks!!Q&A

sj@toright.comhttp://blog.toright.com