變異測試
變異測試 (Mutation Test) 指的是先把一個變異 (Mutation) 放入你的代碼, 運行測試, 然後再看是否會有測試失敗。“變異” 指的是對產品代碼的一個改變,這種改變會導致代碼的行爲發生變化。如果說產品代碼 “剛好夠” 通過測試的話 (沒有任何冗餘的最簡代碼),那麼任何 “變異” 都應該導致測試失敗。如果測試沒有失敗,那我們會說測試無法 “殺死” 這個變異。同時,這就說明測試代碼或者產品代碼可能有問題,我們可以從中得到代碼學習和改進的機會。
通過測試驅動開發 (TDD) 來寫代碼,我們應該會得到 “剛好夠” 的代碼來通過所有的測試。但是,我們怎麼知道我們做到了這一點呢?有時,因爲寫測試和寫代碼在 TDD 中是非常交互的,我們有可能沒有選擇最簡單的代碼來通過測試。這意味着我們可能寫了一些代碼並不是由測試所驅動出來的 (代碼臭味)。另一方面,我們可能在 TDD 時遺漏一些重要的測試,又或者寫出一些 “非常弱” 的測試,原因是有時候代碼對我們來說太過於直接了 (測試代碼臭味)。通過應用 “變異測試” 的思想和方法,我們可以找到那些代碼和測試代碼中的臭味,從提高代碼的質量。
講者介紹
姚若舟,Odd-e教練。他擁有超過17年的軟件開發經驗(涉及互聯網,移動互聯網,桌面和嵌入式軟件),為團隊提供專業敏捷和開發實踐的輔導和培訓。
他是中國敏捷社區的積極參與者,是敏捷之旅2011 上海站和Scrum Gathering 2012/2014 上海大會的組織者,Scrum Gathering 2013 上海,Agile China 2015 和Scrum Gathering 2016 杭州的話題評委,並在敏捷之旅2012/2014/2015/2016/2017,Scrum Gathering 2012/2013/2014/2016,Agile Singapore 2013/2014,Agile Conference 2014發表演講。
他對軟件工藝的各類實踐(如實例化需求,編寫高可讀性代碼,單元測試,重構,遺留代碼隔離,測試驅動開發(TDD),軟件設計,GOOS等)有著深入的了解和豐富的實戰經驗,同時非常熟悉Java,Ruby,JS,C#等多種編程語言和相關技術框架。
他是軟件工藝宣言中文版翻譯的發起人,從2011年開始堅持通過Coding Kata來提高自己的編程技巧,並在不少公司,社區沙龍和會議中組織過多次代碼道場(Coding Dojo)和代碼靜修(Coderetreat)的活動,發起了APAC Day of Coderetreat 2015的活動,參與了多次Global Day of Coderetreat 活動的組織和培訓支持。
費用
本次AgileCommunity.tw 聚會的活動將會酌收費用 NT 200 元,請參與者進入會場時繳交,如果有任何不便之處,還請見諒。(本次僅提供一些零食或飲料,不供餐點)
注意:AIC會員需到現場出示會員證以供識別。
關於主辦者
Agile Community 是一群對Agile技術有興趣或是狂熱的人所組成,期待藉由經驗分享、技術交流與讀書心得討論來讓台灣軟體開發能更進步,工作能更快樂。
facebook: www.facebook.com/AgileCommunity.tw
若想要獲得第一手活動資訊,立馬手刀按讚並搶先追蹤上方粉絲頁。
交通資訊
停車資訊
臺北文創地下停車場:(菸廠路88號,平日40/H 假日60/H )
松山高中地下停車場:(基隆路一段156號,30/H)
交通路線
『捷運』
國父紀念館站5號出口,步行約10分鐘
市政府捷運站1號出口,步行約10分鐘
『公車』
公車站-聯合報站
212、212夜、212直、232、232副、232快、240、240直、263、270、299、忠孝新幹線
公車站-捷運國父紀念館站
204、212、212夜、212直、232、232副、232快、240、240直、254、266、266區、278、278區、282、288、288區、299、672、忠孝新幹線