Google测试工程师日常工作:构建基础设施才是重点(3)

发表于:2017-02-21来源:高可用架构作者:Jochen Wuttke点击数: 标签:google测试工程师
对于每个这样的测试,还有其他的测试来证明模拟数据对于实际服务有意义,这也通过单元测试来完成,通过重放客户端调用服务器来获得的相同数据。

 

对于每个这样的测试,还有其他的测试来证明模拟数据对于实际服务“有意义”,这也通过单元测试来完成,通过重放客户端调用服务器来获得的相同数据。

 

这种集成测试模式适用于任何 RPC 调用,因此可以测试后端服务器对另一个服务器执行的 RPC 调用或者客户端调用。 当我们都应用这种方法时,我们有了可以保证集成测试正确的小测试用例,并确保我们测试的行为是“真实的”。


为了达成这个方案,我建立、评估以及丢弃好几个原型, 虽然构建原型及验证只花了一天时间,但是我和另一个工程师花了一年时间,来将它编程团队成员可以使用的一个工具。

 

采纳使用

 

当看到新框架从他们项目中替换了大量测试代码时,工程师非常快地接受了新方案。为了进一步推动其采用新框架,我与工程团队组织了多天活动,用于迁移测试用例。将现有单元测试迁移到新框架,缩小覆盖差距,并创建验证 mock 的新测试,这些需要几个月的时间。一旦我们完成了大约 80% 的测试用例,我们就开始比较新测试框架和现有端到端测试的效果。

最终的效果非常的好:

 

  • 新测试与端到端测试同样有效地发现错误。

  • 新测试在大约 3 分钟内完成运行,而不是 30 分钟(端到端测试)。

  • 客户端测试是 0% 失败。验证新测试通常比端到端测试更稳健。

 

此外,新测试框架是单元测试,因此您可以在 IDE 中运行它们,并通过 IDE 进行单步调试。这样使得我们很少运行端到端测试,运行端到端测试只是为了检测服务器的错误配置,而不是做功能测试。

原文转自:https://www.testwo.com/article/891