2

我目前正在为我的系统编写集成/功能测试。部分功能是通过http(我运行的另一个系统)访问Web服务。依赖外部服务进行集成测试

我应该如何设置Web服务的测试实例以允许进行良好的功能测试?我想让我的系统通过实时生产数据运行此服务。

Web服务应该是一个独立的实例,它总是有我手动重新加载的实时生产数据(可能每次启动实例时都会重置)?

Web服务应该在每次测试中设置并被撕下来吗?

什么是一些常见的做法来处理这种情况?

回答

2

作为第一件事,请确保你知道Functional TestingIntegration Testing之间的区别。你可以做一个相当不错的功能,而不需要集成测试(实例化Web服务,访问数据库)所需的重大努力。基本上Mocking技术工作得很好,甚至模拟数据层的响应和Web服务行为(我相信这样的细节,如HTTP运输可能对于大多数的测试案例被忽略)

对于这样集成测试我建议有一个单独的SIT环境,其中包括一个单独的Web服务和一个数据库。

如果Web服务是始终具有实时生产数据 我手动加载一个独立的实例(每次也许重置我开始它的一个实例)?

是的,它应该是完全分开的,但数据可以手动生成/准备。例如,您可以准备一些允许测试某些预定义测试用例的数据集,这可以是在实际测试运行之前部署到SIT数据库实例的测试数据集,然后在测试TearDown中进行清理。

网络服务是否应该在每次测试中都被设置并被撕下来?

是的,测试应该分离一个彼此所以不应该影响每一个以任何方式。

相关问题