Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

3,189 views

Published on

這個世界上,有一些職業是很幸福的,像是畫家、小說家、音樂家、演說家等等諸如此類的藝術工作者。這些人從不認為自己在工作,而是享受自己的生活、追求自己的熱請。
然而,程式設計在工作性質上,同樣賦有創造性與藝術性,像是設計高效率的演算法、優雅的軟體架構、到實現的好用的軟體。我們對程式設計的熱情等同這些藝術工作者,那我們也應該稱作程式設計家,不是嗎?
從今天起,我們應該為自己寫程式,而不只是為了需求、為了功能、為了薪水、或者為了你的老闆。你可以改變你的想法,你可以嘗試找回軟體開發的熱情,然後告訴別人,我是個程式設計家!

Published in: Software

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

  1. 1. 軟體、測試、程式設計家 MOPCON 2015 周家弘 SJ sj@toright.com http://blog.toright.com
  2. 2. 軟體、測試、程式設計家
  3. 3. 軟體設計是一件複雜的工作! 高腦力密集性 + 高複雜性
  4. 4. 我們回想一下... 自己最後一次覺得驕傲的作品?
  5. 5. 何時 我們開始不再重視軟體品質?
  6. 6. http://blog.purechat.com/fast-cheap-and-good-the-small-business-guide-to-content-creation/ 軟體開發的現實面
  7. 7. 程序猿每天都在做什麼? 寫 Code、填坑/救火、防止系統爆炸!
  8. 8. 系統爆炸不是既定 Feature
  9. 9. RD 內心的尊嚴 攻城獅種的蘋果沒有蟲!
  10. 10. 軟體:牽一髮而動全身 我們該如何面對錯綜複雜的系統?
  11. 11. 面對 Bug?
  12. 12. 正視、解決、掌握
  13. 13. 掌握 Bug 是為了避免重蹈覆轍!
  14. 14. 掌握 Bug 的要訣在於測試!
  15. 15. 軟體、測試、程式設計家
  16. 16. 軟體需測試乃天經地義 只是程度上的差別 !?
  17. 17. 我們應該花多少時間測試軟體?
  18. 18. 軟體專案時間分配
  19. 19. 平常我們都如何測試系統? 三種典型的測試模式
  20. 20. 模式一、QA 測! 凡事讓專業的來!
  21. 21. 模式二、RD 測! 自己的程式自己測...
  22. 22. 模式三、客戶測! 你懂 der...
  23. 23. 奇怪,明明有測試 怎麼還是 GG 了!
  24. 24. 軟體不只要測試還要全面!
  25. 25. 自動化測試才是王道
  26. 26. 如果可以全面性地自動化測試! 那該有多好?
  27. 27. 寫測試要怎麼開始?
  28. 28. 首先 先培養寫測試的好習慣! 從小地方開始...
  29. 29. 有了自動化測試 能讓程式設計師踏實地開發新功能!
  30. 30. 測試工作應該在什麼時候進行?
  31. 31. 敏捷開發中... 整個軟體開發週期都應該隨時測試
  32. 32. 持續整合 Continuous Integration
  33. 33. Why ? 透過持續整合實現持續交付
  34. 34. 先別說這個了 各位今年健康檢查了嗎? 系統也應該要例行進行健康檢查!
  35. 35. 實踐持續整合是為了 掌握軟體開發節奏!
  36. 36. 到底什麼是持續整合?
  37. 37. 持續整合 不間斷、不停地、一直做、有事沒事就做一下
  38. 38. 持續整合 把大家寫的 Code 在一起跑看看有沒有錯!
  39. 39. 持續整合 有事沒事就把大家寫的 Code 一起跑看看有沒 有錯!
  40. 40. 有事沒事就做一下 = 自動化 把大家寫的 Code 放在一起 = 版本控制 跑看看有沒有錯 = 測試
  41. 41. 測試驅動開發 TDD, Test-Driven Development
  42. 42. 我的感想...
  43. 43. 結對編程 Pair Programming
  44. 44. 系統反饋 System Feedback
  45. 45. 透過每日(即時)建置 自動化測試你的系統! 隨時掌握系統健康狀態
  46. 46. 如何建置持續整合系統? Jenkins ● Private Project ● WAR File Package ● Linux apt / yum install ● Rich Plugins TravisCI ● Open Source Project ● GitHub Integration ● Docker Based ● .travis.yml Config
  47. 47. 持續整合可以做些什麼事?
  48. 48. Push Code Static Code Analysis Resource Compress Make Source Pack Depoly Build Document Function Test Notify Real-Time Build by Unit Test UI Test
  49. 49. Resource Compress Make Source Pack Build Document Nightly Build by Pull Code Static Code Analysis Integration Testing Git TagDepoly Function Test NotifyUnit Test Coverage Report Release UI Test
  50. 50. 實踐持續整合常遇到的難題 ● 系統耦合度太高,無法獨立測試 ● 實踐 UI 測試報酬率低 ● 錯誤邏輯不易測試,覆蓋率不足 ● 開發流程導入困難
  51. 51. 實踐持續整合的幾項建議 ● 準備乾淨的測試環境 ● 建置過程不超過 20 分鐘 ● 培養寫出可被測試的程式碼 ● 透過測試程式驗證錯誤 ● 盡可能自動化你的工作 ● 透過自動化測試,大膽重構
  52. 52. 持續整合的核心價值 自動化 + 測試 + 系統反饋
  53. 53. 我們都需要勇氣 凡事先有個開始...
  54. 54. 軟體、測試、程式設計家
  55. 55. 程式設計是快樂且富有創造性的工作!
  56. 56. 成為一位程式設計家
  57. 57. Thanks!! Q&A sj@toright.com http://blog.toright.com

×