在集成測試過程中,模擬各種低級網絡故障非常重要,以確保所涉及的組件妥善處理它們。一些插座連接示例(從發行它!本書由邁克爾·尼加德)包括網絡故障的測試線束軟件
- 拒絕連接
- 遠端回覆用SYN/ACK但從來沒有發送任何數據
- 遠端只發送RESET包
- 連接已建立,但遠端從不承認接收數據包,導致無休止的重傳
等等。
對於涉及Web服務,數據庫調用等的集成測試來模擬此類故障將很有用。
有沒有可用的工具可以創建這種特定排序的失敗條件(即套接字級失敗)?例如,一種可能性是某種功能失常的服務器,它在不同端口上顯示不同類型的故障。
編輯:後一些額外的研究,它看起來像它可以處理使用防火牆這種事情。例如,iptables有一些選項允許你匹配數據包(或者按照某種可配置的概率隨機地進行匹配,或者以每個第n個數據包爲基礎),然後丟棄它們。所以我在想,我們可能會設置我們的「討厭的服務器」,並在逐個端口的基礎上配置防火牆規則,以創建我們想要測試我們的應用程序的那種骯髒。有興趣聽到關於這種方法的想法。