測試的重要性
紀錄一些關於測試的重要觀念。 1. 不要小看也不要忽略測試的工作,這是維持系統品質重要的一關。 2. 不要只看程式是否做了它該做的事,更要看看程式是否做了它不該做的事 (不要基於程式沒有錯誤的假設來做測試) 3. 不要丟棄這個程式使用過的測試個案 (日後要重測很方便,且有文件可以查是很重要的事情。 尤其是流動率高的時候 ) 4. 每個測試個案都必須定義所預期的輸出或結果 5. 設計測試個案時, 不合理、不被預期的輸入狀況 ,與合理、被預期的輸入狀況同樣重要 6. 修正程式錯誤的成本, 每經過一個軟體開發階段就會增加10倍 這點感觸非常深刻。 實務上未必有這麼完整的開發流程,常常只有開發者自己兼測試者,而沒有後續的測試團隊,等到產品上線後直接由使用者端回報bug。 系統為了趕著上線,功能做出來沒有時間去做詳細的測試,只能做「假設系統被正常地操作」是沒問題的,就認為沒問題了。 結果到正式上線後,開始有使用者回報錯誤,這時的debug時程會被使用者追殺,甚至會影響整個系統的正常運作,此階段需要付出的成本就非常可怕了。所以系統上線的初期通常也是地獄的開始XD