测试 SOA 服务的最佳方法是什么?我应该使用 WCF 编写自己的测试,还是应该使用 SOAPUI 之类的测试框架。每种方法的局限性是什么,是否有更好的工具?
3 回答
您绝对应该使用 SoapUI。尤其是在混合环境中。即在混合环境(java、delphi、WCF 等)中。SoapUI 将是您的常用工具,可以确认哪些有效,哪些无效。它还可用于设置模拟服务,以便您可以针对尚未构建的服务进行测试。即,从 WSDL 中,您可以在几分钟内构建一些记录请求并给出响应的东西。这是非常有益的。以后,您将能够使用通用工具验证哪些有效,哪些无效,而不是为“在技术 x 中有效,所以这一定是您的问题”。
查看 mockservices 演示,其中展示了如何基于 xpath 进行简单的预设响应。非常简单,有效。您可以发送响应并返回各种可预测的响应。例如,您为 emps Tom、Dick、Harry 发送更新。配置您的 SoapUI 模拟服务以返回 Tom 的成功、Dick 的软错误、Harry 的灾难性错误。
IMO,在构建任何 Web 服务之前最好的起点是在 SoapUI 中构建一个模拟服务。然后,您可以使用示例有效负载进行测试,看看是否每个人都看到了他们的期望。即 HR 使用每个人都同意的 WSDL 将新员工发送到 Payroll。Payroll 开发人员甚至还没有编写代码,但通过查看 SoapUI 中的事务,他发现 EmpID 格式“完全无法在我们这边工作”。现在 HR 可以做出改变了。薪资开发人员还发现,尚未被解雇的员工的终止日期是 1889 年 12 月 31 日。他期待''。现在,开发人员和分析师之间可以进行讨论,而不是稍后在集成或启动期间进行,因为讨论可能涉及多层 PM、“情况线索”等。
我建议你也看看 Tellago Studios 的全新 SO-Aware;http://www.tellagostudios.com/。其中一项功能是自动服务测试。
Soa 测试只是确保所有独立服务都以预期的方式运行,同时始终遵守这些服务建立的输入和输出契约。该工具不应仅限于 Web 服务测试。 SOA 测试工具:
- 肥皂用户界面
- 索阿莱特。