2016年12月28日 星期三

書摘:Effective Debugging - Item 17 放大程式跑失敗的後果



Item 17: Increase the Prominence of a Failure's Effects


  • 使用版本控制來增加放大失敗效應的程式碼以便回溯,這樣才不會誤把測試程式放進 production code
  • 放大手段一:移除可能的程式碼片段。例如使用一個永遠成立的 if 條件式(ex. if(0))去執行有嫌疑的程式碼片段。
  • 放大手段二:修改程式碼,讓原本的輸出資料變得很容易觀察。例如把輸出資料故意變成原本的一千倍。
  • 放大手段三:壓力測試、並且使得失敗很快速地可以複製出來。例如使用 Apache JMeter 來執行對網站的 DDoS。故意指定超過的 thread number 來測試 concurrency。故意讓程式跑在資源缺乏的地方,例如寫入故意寫在小容量的 USB 磁碟裡。
  • 放大手段四:fuzzying。例如使用 zzuf 來亂數產生測試用的輸入資料。

沒有留言:

張貼留言