在集成测试过程中,模拟各种低级网络故障非常重要,以确保所涉及的组件妥善处理它们。一些插座连接示例(从发行它!本书由迈克尔·尼加德)包括网络故障的测试线束软件
- 拒绝连接
- 远端回复用SYN/ACK但从来没有发送任何数据
- 远端只发送RESET包
- 连接已建立,但远端从不承认接收数据包,导致无休止的重传
等等。
对于涉及Web服务,数据库调用等的集成测试来模拟此类故障将很有用。
有没有可用的工具可以创建这种特定排序的失败条件(即套接字级失败)?例如,一种可能性是某种功能失常的服务器,它在不同端口上显示不同类型的故障。
编辑:后一些额外的研究,它看起来像它可以处理使用防火墙这种事情。例如,iptables有一些选项允许你匹配数据包(或者按照某种可配置的概率随机地进行匹配,或者以每个第n个数据包为基础),然后丢弃它们。所以我在想,我们可能会设置我们的“讨厌的服务器”,并在逐个端口的基础上配置防火墙规则,以创建我们想要测试我们的应用程序的那种肮脏。有兴趣听到关于这种方法的想法。