测试公共Web服务的自定义客户端有哪些方法?
今天有许多提供API的在线服务。使用这些API的小应用程序蓬勃发展。示例:用于社交网络和博客平台的桌面/移动客户端,文档存储和处理中心,云数据库,实时数据流,GIS数据等。
问题在于,此类应用程序中的非平凡部分通常是与在线服务进行通信(处理错误,编码/解码数据,处理配额,调整API更新等),但客户端的开发人员不会控制服务。因此,无法直接看到测试的效果,并且无法始终将服务状态回滚到原始状态。
答案 0 :(得分:1)
非常清楚你在测试什么。您是否正在测试您的代码在收到服务响应时是否按预期执行了操作?既正常又非凡?然后模拟服务,以便您可以轻松地运用这些路径。
是的,我会设计可重复测试并在一些框架下运行它们,让我自动运行它们,理想情况下也是构建/提交的一部分。
但是测试服务本身呢。有些测试只是通过验证您的解决方案而出现的。例如重载。好吧,虽然重要的是不要反社会,让公共服务饱和是不合理的,如果有公开的SLA,那么我认为对此进行测试是合理的。因此,如果您的应用程序需要一秒钟发出n个请求,那么我们肯定应该测试至少这个。测试我们的整体解决方案,直至达到所需的吞吐量。
破坏?也许太反社交了。但是,我确实认为发送有效和无效请求并检查预期响应是否有效且有价值,如果仅作为您正在使用的服务的健全性检查。所以我至少会有一个针对公共服务的回归套件,这样我就可以很容易地验证它的行为是否符合记录。