
284
|
第
11
章
功能性测试:正确和接受度
如果被测试服务表示结果受到通信故障的影响,那么你可以简单地跳过断言。但是,重
要的是告诉测试框架这个情况,并将该测试标记为“跳过”或者“忽略”,因为如果将
其标记为“成功”或者“失败”会误导开发人员。当开发人员知道某个测试没有运行时,
他们可以决定如何处理,是重复测试,还是接受测试会增加测试总体时间的风险。
如果你什么都做不了
在一些罕见的情况下,由于各种原因,你可能无法解决测试的问题。或许你依赖一个其
他团队甚至组织管理的系统或者组件,又或许被测试系统本身就是不确定的,你如果不
重新实现测试中的业务逻辑,就无法适应意外的事件。无论什么原因,当你无法修复问
题时,就应该考虑如何缓解它。
如果问题可以修复,只是当前还无法做到,而且已经有人在着手解决,那么你可以考虑
暂时忽略这个测试。你可以简单地将它标记为已忽略,然后记得在将来的某个时刻重新
启用它(可以使用团队共享日历中的提醒功能)。或者如果你想要更加自动化,可以将
其配置为仅从某个特定时间开始运行,这样你就可以现在暂时忽略它,然后在将来的某
个时刻自动启用它。
如果你或者其他人都无法修复问题,可以尝试缩小测试的范围。也许你在验收测试上试
图实现的目标,可以通过一些组件测试和集成测试来完成,这样可能也会更加可靠。此外,
这样还可以加快测试的速度(这也是很多团队最终需要长达一小时才能完成一次构建的
原因)。
最后,如果你确定无法修复问题,那么必须考虑删除这个测试。这似乎是一个极端的举
措,但是你要记住,测试是为了提供有价值的信息,从而形成快速的反馈循环。如果它 ...