l

2015年3月4日 星期三

測試案例壞味道(2):Obscure Test

March 03 10:22~11:50

螢幕截圖 2015-03-03 12.14.53

 

介紹完〈測試案例壞味道 (1):三種分類〉,接著逐一介紹每個壞味道。今天要談的是Obscure Test(難懂的測試)。顧名思義,這種測試案例不容易一下子就看懂,以至於測試案例本身不易修改維護。當production code修改的時候,經常需要連動修改測試案例。具有Obscure Test壞味道的測試案例將使得修改的成本變高,最終可能導致測試案例被遺棄或是被註解掉,只為了不想看到xUnit測試工具所顯示的該死的紅燈挑眉質疑

Obscure Test的另一個問題是可能會導致測試案例本身產生bug,讓開發人員搞不清楚到底是production code有問題還是測試案例有問題,徒然浪費時間。另外,Obscure Test本身可能包含很多assertion。只要其中任何一個assertion發生錯誤,整個測試案例就會失敗。在這種情況之下,開發人員可能需要花費一段時間檢查,才可以得知確切的錯誤發生原因。

***

導致Obscure Test的根本原因就是沒有維持乾淨的測試案例。除了production code以外,測試案例(test code)也需要達到clean code的標準。當測試案例出現Obscure Test壞味道的時候,也就是需要重構(refactor)測試案例的時機。

xUnit Test Patterns: Refactoring Test Code》書中提到幾種導致Obscure Test壞味道的具體情況:

  • Eager Test:在單一測試方法(test method)驗證太多東西。
  • Mystery Guest:閱讀測試案例的人看不出來fixture(測試環境)和驗證邏輯之間的因果關係,因為有些fixture是在test method外部所設定的。
  • General Fixture:測試案例建立或是參考一個很大的fixture,但它只用到該fixture其中的一小部份。
  • Irrelevant Information:測試案例揭露過多fixture的細節,讓人無法專注於真正影響待測程式的行為。
  • Hard-Coded Test Data:在fixture與assertion中,或是要傳給待測程式參數的資料,被寫死在test method裡面,使得閱讀測試案例的人看不出輸入值和期待值(expected result)之間的因果關係。
  • Indirect Testing:測試案例透過間接的方式來呼叫待測程式,讓兩者的互動關係變的複雜。

***

以上這六點還蠻容易理解的,只要有寫過自動化測試的鄉民,相信都可以體會箇中滋味。在這裡Teddy要特別談Indirect Testing。有過用Mock Object技術撰寫測試案例的鄉民們,不知道有沒有感覺,Mock Object就是一種Indirect Testing?雖然Mock Object技術可以讓鄉民們隔離待測程式與外部程式,但付出的代價很可能是因為Indirect Testing(透過Mock Object技術呼叫待測程式)導致Obscure Test壞味道。

俗話說:「藥物都有毒性」,可能就是這個道理吧。

***

友藏內心獨白:這個壞味道真的很常見。

2015年3月3日 星期二

泰迪同樂會-敏捷開發逆襲篇

March 2 12:31~12:45

image

 

2014年7月泰迪軟體搬新家之後,就想要辦個學員回娘家的同樂會。場地經過這一段時間的使用之後,熟悉的差不多了。過年前和Erica討論,決定利用農曆新年過後不久的空檔,舉辦這個活動。

本次泰迪軟體同學會的主題將以Scrum為主。泰迪軟體成立至今,上過Scrum課程的學員也有幾百位,有些人是因為工作上需要而來上課,有些則是單純覺得Scrum很流行,抱持著學習新知的想法而來。無論上課的動機為何,曾經上過Scrum課程的朋友回去之後過得順利嗎?回去之後採用或不採用Scrum的原因是什麼呢?採用Scrum的朋友們,個人、團隊、與公司是否有越來越靈活敏捷了呢?這次的同樂會歡迎大家一起回來聊聊、吐吐苦水、分享打怪經驗、充充電。

本次同學會備有點心、啤酒、敏捷遊戲、Teddy小講、Lean Coffee,讓學員們有機會暢所欲言、經驗分享,還有限量小禮物。限量30位,泰迪軟體課程學員限定(參加過Scrum兩天課程優先報名。)

歡迎大家一起回來同樂(或黑特)!

  • 時間:2015/03/08 Sun 13:30-16:30
  • 地點:泰迪軟體(台北市中正區延平南路12號4樓)
  • 費用:$600(含點心、冷熱飲、場地費)

時間安排:

  • 13:00-13:30    開放入場 (提供茶點)    
  • 13:30-13:50    Teddy Chen小講
  • 13:50-15:10    敏捷遊戲
  • 15:10-15:30    Tea Break  
  • 15:30-16:20    Lean Coffee  
  • 16:20-16:30    結束

活動報名網址請按我

***

友藏內心獨白:看看別人怎麼胡搞瞎搞XD。

2015年3月2日 星期一

[還少一本書] 思考的藝術:52個非受迫性思考錯誤

Feb. 25 10:26~11:17

螢幕截圖 2015-02-25 10.34.53

 

農曆年前利用睡前與通勤的時間,讀完《思考的藝術:52個非受迫性思考錯誤》這本書。這本書用52篇各三頁左右的小短文,解釋日常生活中人們無意中就被「唬弄」的思考錯誤。文章採取說故事的形式,讓讀者從一個個小故事裡面,看出作者想要表達的52種思考盲點。例如,在「泳將身材的錯覺」這一篇,作者提到一個想要藉由運動來減重的人,在選擇運動種類的時候,想起游泳選手每個都擁有完美的好身材,於是他決定苦練泳技。經過一段時間的魔鬼訓練之後,他突然恍然大悟,發覺游泳選手之所以有傲人的完美身材,並不是因為他們進行了大量訓練,而是他們原本就擁有好身材。也就是說,他們的體格是某種「篩選標準」,並非他們運動後的「結果」

作者提出「只要我們將篩選標準與結果兩者倒果為因相互錯置,我們就陷入了『泳將身材的錯覺』」。很多廣告就是利用這種思考錯誤而大行其道,例如找原本皮膚就很好的美女來廣告保養品,或是找阿雞師廣告食譜。另外像是「哈佛大學真的是一所好學校嗎?」是因為全天下頂尖的學生進了哈佛大學,還是這所學校的教學品質真的很棒,答案並不是那麼確定。還有「讀MBA(或是念碩士)真的可以增加收入嗎?」還是大家又犯了倒因為果的思考錯誤呢?

***

這本書雖然讀來輕鬆,但讀完之後卻讓人心驚膽跳:「哇,原來平時我們的思考居然有這麼多錯誤的盲點,而我們卻渾然不知啊。」

最後引用書末引自愛默生的一段話作為結尾:

在群體裡,容易依照別人的想法過活;在孤獨裡,容易依照自己的想法過活。可是,唯有在群體裡還能夠保持著特立獨行,才值得我們注意。

***

友藏內心獨白:大隱隱於市?

2015年3月1日 星期日

2014北海道考察之旅Day8-E電視塔(下)

Feb. 11 14:55~15:28

從電視塔往外看的札幌市區景色,多雲的天氣,太陽光偶而從雲縫中落下,有種神仙下凡的感覺 XD。

螢幕截圖 2015-02-11 14.57.31螢幕截圖 2015-02-11 14.57.47螢幕截圖 2015-02-11 14.59.09螢幕截圖 2015-02-11 14.59.50螢幕截圖 2015-02-11 15.01.02螢幕截圖 2015-02-11 15.00.16螢幕截圖 2015-02-11 15.00.04螢幕截圖 2015-02-11 15.00.48螢幕截圖 2015-02-11 15.01.11螢幕截圖 2015-02-11 15.01.19螢幕截圖 2015-02-11 15.03.40螢幕截圖 2015-02-11 15.03.28

 

小小的電視塔內部,也要展示出日本人做生意的本領。自動販買機、禮品部,居然還有一個小神社,這是什麼情形!

螢幕截圖 2015-02-11 15.00.33螢幕截圖 2015-02-11 15.00.40螢幕截圖 2015-02-11 15.01.44螢幕截圖 2015-02-11 15.01.50螢幕截圖 2015-02-11 15.01.55螢幕截圖 2015-02-11 15.02.04螢幕截圖 2015-02-11 15.02.14螢幕截圖 2015-02-11 15.02.53螢幕截圖 2015-02-11 15.03.04螢幕截圖 2015-02-11 15.03.21螢幕截圖 2015-02-11 15.03.46螢幕截圖 2015-02-11 15.03.58螢幕截圖 2015-02-11 15.04.05螢幕截圖 2015-02-11 15.04.15螢幕截圖 2015-02-11 15.02.19螢幕截圖 2015-02-11 15.02.41

 

回到電視塔下層,這裡不用收費,雖然高度不高,但窗外的建築物尺寸變大了。腳好痠,在這裡稍微休息一下。這一層有一個大很多的紀念品販賣處,而且還擺了好幾台夾娃娃機,不少遊客在這裡購買紀念品。

螢幕截圖 2015-02-11 15.23.40螢幕截圖 2015-02-11 15.23.53螢幕截圖 2015-02-11 15.24.09螢幕截圖 2015-02-11 15.24.20螢幕截圖 2015-02-11 15.24.32螢幕截圖 2015-02-11 15.24.50螢幕截圖 2015-02-11 15.25.12螢幕截圖 2015-02-11 15.25.22螢幕截圖 2015-02-11 15.25.32螢幕截圖 2015-02-11 15.25.43螢幕截圖 2015-02-11 15.25.38螢幕截圖 2015-02-11 15.25.52螢幕截圖 2015-02-11 15.33.54螢幕截圖 2015-02-11 15.26.11螢幕截圖 2015-02-11 15.26.22螢幕截圖 2015-02-11 15.26.28螢幕截圖 2015-02-11 15.26.40螢幕截圖 2015-02-11 15.26.53

***

友藏內心獨白:電視塔也有專屬玩偶喔。