我忘了测试什么类型的带外故障?

时间:2015-07-14 05:10:39

标签: testing network-programming distributed distributed-computing robustness

几年前我遇到了一个惊人的演示文稿(当然我找不到),它列出了人们通常不会测试的远程服务的一系列故障。

除了超时,4xx,5xx等之外,还列出了以下内容:

  • 连接在10个字节的数据后关闭
  • 返回www.google.com
  • 的内容
  • 返回/ dev / random
  • 的内容
  • 返回/ etc / passwd
  • 的内容
  • 返回格式正确的unicode中文文本
  • 返回ansi颜色控制字符
  • 返回错误的内容类型,标记正确(您请求Content-Type:application / json,我发送回Content-Type:application / jpeg)
  • 每29秒返回一个字节的数据

开发人员通常不会(但应该)测试哪些类型的“带外故障”?

(如果您能找到原始演示文稿,则可获得额外奖励积分)

2 个答案:

答案 0 :(得分:2)

你列出的那些很棒;如果你把它挖出来,我很乐意看到原始的演示文稿!其他几个最爱:

  • couple bits flipped
  • 的“有效”回复
  • 带有额外数据的“有效”响应,您不期望({"result": 123, "extraStuff": {...}})模拟远程端的升级
  • 永不结束的语法有效响应({"results":["lol", "lol", "lol", ...,或只是一堆空格)

答案 1 :(得分:0)

低频故障。换句话说,测试一些响应是正确的,不只是一次,而是每次尝试一次。如果您正在通过网络,您将获得随机的互联网破损,但是当您认为某个流程被修复时,您可能会暴露某些流程是随机的。