【发布时间】:2013-09-20 12:57:30
【问题描述】:
在我们的应用程序中,我们通过 selenium 进行了大量功能测试。
我们知道,让运行测试的服务器与生产服务器尽可能相似是一种很好的做法,我们会尽可能地遵循它。
但这很难 100% 实现,因此我们为我们的服务器设置了一个不同的设置文件,以便在暂存环境中进行一些更改(例如,由于需要额外的架构,我们选择关闭电子邮件发送)。
事实上,许多服务器框架都建议使用隔离的前端控制器(环境)进行测试,以轻松实现这些小改动。
默认情况下,ours 等大多数框架都建议其测试环境应关闭缓存。为什么?
如果我们想尽可能地模拟生产,那么在执行功能测试时关闭服务器缓存可能有什么好处?可能存在只有在缓存开启的情况下才能发现的错误,并且开启缓存还可能有助于加速我们的测试执行!
难道我们不只需要确保在开始新一批功能测试之前清除缓存,就像我们在将新版本部署到生产时清除缓存一样吗?
我的一位同事认为,造成这种情况的原因可能是缓存会产生误报,错误不是由实施不当的功能(这些测试的主要目标)引起的,而是缓存系统本身引起的...但即使这些真的发生了(我想这取决于缓存的使用方式有多先进),为什么它们会是误报?
【问题讨论】:
标签: caching testing selenium symfony1 automated-tests