Try   HackMD

MOPCON2022 - 越沒時間,越要寫單元測試

單元測試如何助我每天準時下班(以 Java 為例)

好的工程師要寫單元測試,這我當然知道,但:

  • 我現在光程式寫完直接丟給 QA 測,都寫到要加班了,再加寫測試,要幾點才能回家?
  • PO 說客戶有保證需求不會變,這樣還要寫測試嗎?
  • 程式一動,測試就壞了,好花時間喔!我不寫測試,不就不會壞了嗎?
  • 我上次有問主管,主管說等有時間再回頭補單元測試就好,然後…就沒有然後了…

在人家都上太空的年代,我也不想殺豬公啊!但是「時程就是很趕」,我要趕快把程式寫完丟給 QA ,才有時間寫下一份程式啊!為什麼去研討會那些講者每個都又有時間寫測試,還有時間重構跟改架構?啊我知道了,他們一定很閒!

「你才閒!你全家都閒!」

單元測試不是目的,測試是軟體工程多數實踐的地基。你要切微服務、要套 DDD,還是要套用整套 Google 的 SRE 實踐,都無法不以單元測試為基礎。這跟你敏不敏捷、De 不 DevOps 無關。只跟你的「職責」有關。單元測試不是測試,它是功能的一部份。

因此,我們不能把單元測試視為附加的工作,一但它變成你工作的一部份,你就責無旁貸地不能讓它拖慢你的開發進度,就像你不能讓自已寫的爛程式延遲你的下班時間一樣。如何又把程式寫完、又把測試做完,還不會給後人(也就是三個月後的你自己)造成困擾,這是講者這次想與大家分享的主題。

本次演講將包含以下內容

  • 用真實案例,介紹單元測試的意圖與解決的問題
  • 用簡單的方法,介紹單元測試的基本寫法
  • 用一個複雜案例,介紹龐大系統中如何「演化」出程式與測試
  • 用講者自身的經驗,給想開始或進化單元測試技能的人一些建議

期待能以一些實戰中真正會遇到的場景與解法,幫助大家早日脫離天天加班的苦日子。


關於講者

Kuma 最討厭的就是 coding 了。

你沒聽錯,身為RD,只要能滿足品質與時程,他堅持能夠少寫 code 就少寫 code。

他也很懶,能夠讓機器做的事就不自己做。

他討厭浪費,也懶得算計,就傻傻地在組織內努力推動各種流程改善、人員教育,與軟體工程實踐。

「崇尚敏捷精神,熱愛軟體工程,討厭浪費時間」— 你可以這麼形容他。


活動流程

時間 長度 性質 內容 備註
00:00 5 min 講解 講者介紹 + 新書廣告
00:00 5 min 講解 科學與數學
00:00 10 min 講解 動態系統下的單元測試
00:00 15 min Demo Sociable Test: 主要路徑 Demo 「申請獎學金」範例:「快樂路徑」、「學生不存在」
00:00 10 min 活動 問答 + 有獎徵答 送書
tags: 活動準備