我通常這樣做:
1)一種新的功能性測試案例(一個或多個)添加到自動迴歸測試系統。我通常開始有自己的迴歸測試系統軟件項目,
- Excel的VBA + C庫來控制SCSI/IDE接口/設備(13年前),測試報告是Excel的電子表格中以後。
- TCL期望用於複雜的網絡路由器系統測試。測試報告是網頁。 (6年前)
- 今天我使用Python/Expect。測試報告是XML + python base XML分析器。
所有這些工作的目標是確保一旦發現任何錯誤,它不應該再次出現在簽入代碼或生產系統中。再現隨機和長期問題也更容易。
不檢查任何代碼,除非它進行過夜自動化迴歸測試。
我通常在產品代碼與產品代碼之間寫1:1比例測試代碼。用於20K行C++代碼的20萬行TCL專家。 (5年前)。例如:
- C代碼將實現隧道建立TCP連接的轉發代理。
- TCL測試案例:(a)設置連接確保數據通過。 (b)建立與不同網絡元件的連接。 (c)做10,100,1000次,檢查內存泄漏和系統資源問題等。
- 這樣做對於系統中的每個功能,都可以看到爲什麼測試程序要以1:1的比率進行編碼。
我不希望QA團隊使用我的測試系統進行自動測試,因爲我的所有簽入代碼都必須通過測試。在我將代碼提交給QA團隊之前,我通常會進行2周的長期迴歸測試。
QA團隊運行手動測試用例還確保我的程序具有足夠的內置診斷信息來捕獲任何未來的錯誤。我們的目標是有足夠的診斷信息來解決2小時內95%的錯誤<。我在最後一個項目中做到了這一點。 (RBG Networks的視頻網絡設備。)
2)添加診斷例程(現在的web基礎)獲取所有內部信息。 (當前狀態,日誌等)。 >我的代碼(c/C++,特別是)的50%是診斷代碼。
3)添加更多詳細信息記錄我不明白的故障區域。
4)分析信息。
5)嘗試修復這個錯誤。
6)運行過夜/週末迴歸測試。當我在R & D時,我通常要求至少有5-10個測試系統24x7連續運行迴歸測試。這通常可以在代碼達到SQA之前幫助ID和解決內存,資源和長期性能問題。
一旦嵌入式系統不時啓動進入Linux提示符。我添加了一個測試用例,它可以一次又一次地重複使用可編程插座對系統進行循環,並確保它能夠「看到」命令提示符並開始在一夜之間運行測試。我們能夠快速識別FPGA代碼問題,並確保5000次電源循環後系統始終保持運行。增加了一個測試用例,並且構建了一個新的Verilog代碼簽入/ FPGA代碼。這個測試案例已經運行。這再也不是問題。
6.谷歌的錯誤或發佈在stackoverflow – catchmeifyoutry 2009-12-04 16:11:47
一個想法 - 這應該是社區維基。 – IAdapter 2009-12-04 16:39:12
@ 01,儘管在meta上閱讀它們,但我仍然不完全理解社區wiki問題的推理或好處。看來我並不是唯一一個被這個功能困惑的人。但我想我會嘗試一下(至少一次)看看會發生什麼。 – z5h 2009-12-04 16:48:52