Re: [問題] 沒有明確的結果,如何寫UnitTest?

看板Programming作者 (我正在想要換什麼)時間9年前 (2014/11/26 22:57), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《lovesnake (LoyalDog)》之銘言: : 重新問好了,發現這樣的東西似乎不適合提到演算法。 : 我現在的程式有三個步驟 , 其中 1 2 3 各個步驟接會有一個資料輸出。 : 但只有三個步驟皆完成後,產出的資料才有辦法自動化判斷正確與否。 : 其餘1 2 3 步驟各別的輸出,都一定需要人工判別,現在沒辦法自動化的東西有很多,倒 : 沒什麼爭議。 : 那請問,針對 1 2 3各個步驟的個別輸出,需要寫UnitTest嗎? : 還是我的Unit的範圍要擴大到整個系統呢? : 因為個別的步驟的子系統也滿大的,所以會想要針對各個子系統皆做UnitTest, : 但又發現個別的輸出無法自動化判別,這種情況會怎麼做呢? 我認為 unit test 是手段,而不是目的。 也就是寫出明顯bug時,你可以在很短的時間內發現它, 自動化的 unit test 可以很有效率地解決這個問題, 但是當你的 test 沒辦法、或是很難自動化時, 你的目標應該轉移到「如何縮短測試時間」。 也就是說,人工判別是 ok 的,但你可以試圖讓這個判斷過程變得更有效率。 最好的情況就是你按下 build test,測試程式會馬上把中間步驟的結果秀在螢幕上。 當然,資料量增加時你會需要更有技巧的測試, 比如說適度處理輸出讓出錯的地方可以更明顯被肉眼看到、 或是把人工判斷為正確的資料 cache 下來,只顯示有差異的部份等等。 當然這些方法適不適用是 case by case, 但有技巧的測試就可以讓你的開發效率比完全不做測試、或暴力測試要好很多。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.28.146 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1417013850.A.01E.html

11/27 15:00, , 1F
測試你的程式是種懦夫的行為(大誤)
11/27 15:00, 1F

11/27 18:03, , 2F
我沒有在測試啊,我是在寫規格書~
11/27 18:03, 2F

11/27 19:52, , 3F
了解了! 謝謝!!
11/27 19:52, 3F
文章代碼(AID): #1KTUfQ0U (Programming)
文章代碼(AID): #1KTUfQ0U (Programming)