我将要开始一个大型项目的工作,该项目将涉及提供大量的Web服务。
我们将使用Java平台,因此,当然,我们将大量使用JUnit、Hudson等(虽然我不确定是否有问题)。
我们正在寻找一组用于测试Web服务的最佳实践和/或工具。我们有几个目标:
显然,我们需要证明服务的行为是正确的。这意味着发出Web服务调用、接收响应(检查它们的正确性),然后可能发出另一个Web服务调用,以确保系统处于新状态,即我们希望它处于原始调用后的状态(显然,还要检查该响应的正确性)。
我们需要收集响应时间。
我们必须能够自动执行测试用例(JUnit样式,但是针对运行中的系统,而不是针对单个代码单元)。
如果非开发人员(技术业务用户)能够“编写”测试用例,那将是非常酷的。他们不是XML专家(而且永远不会是),因此期望他们创建XML文件是不现实的。但是他们是主题专家,所以给他们一个“表单”来填写,这将生成XML文件是现实的。然而,对于我们来说,定制构建这些“表单”可能会有太多不同的服务。
任何想法、最佳实践或经验教训都会受到赞赏。
我们最初使用soapui进行功能测试。然而,soapui不适合于回归和负载测试。
下一步,我们将XML加载到 JMeter .
它可以从多台机器上驱动负载,我们可以轻松地将服务器的压力限制到极限。
SOAPUI 这是测试Web服务的最佳开源工具。您可以创建单元测试,它甚至有一个表单接口,可以读取WSDL并创建一个表单来调用服务。
Fiddler 您需要查看在线上的请求和响应。这一点很重要,因为大多数工具包都不容易看到到底发生了什么。
XMLSPY 这是一个付费程序,但它有非常干净的接口。它使调试XML文件变得容易,并允许您调用服务。它重新格式化甚至是格式错误的XML,在许多情况下都是救命稻草。如果你能负担得起的话,去买吧!