对 WCF 服务进行功能测试的建议

软件测试 功能性的
2022-02-03 16:48:16

我需要对暴露一小组 WCF 端点的组件进行一些功能测试。我仍在增加 WCF,所以我遇到了一些分析瘫痪,试图找出测试这个的最佳方法。在做一些研究时,大多数文章都是从单元测试的角度来处理这个问题的。我见过有人说要完全避免 WCF 管道,直接测试接口实现,这对我来说更像是单元测试。其他人建议让测试用例使用 WCF 自托管并进行调用。关于测试作为 WCF 公开的 API 的任何指导或智慧?

3个回答

我采用了两种方法来测试 WCF 服务。我的工作假设您希望模拟应用程序从生产设置中执行的托管和访问配置。托管它我会以与您在部署时计划执行的方式类似的方式设置它。对我来说,这意味着将它部署到服务器上,并且托管是通过IIS 或作为 Windows 服务部署完成的。

一旦完成,它有点取决于我想要完成的事情。如果我只是想对服务进行一些快速而肮脏的测试,我使用了WCF 测试客户端这使我可以简单地将输入值传递给可用方法并查看返回值。如果我正在编写自动化程序,我只需在 VS 中启动一个新项目并添加托管服务作为参考,然后开始针对暴露的接口编写我的代码。希望这可以帮助

我为此使用 SOAP UI。它自动生成所有功能测试用例,基于 wsdl 定义,可以对您的服务进行负载测试,它是免费和开源的(并且有商业版本)等。

http://www.soapui.org/

以下选项也是一种可能的解决方案:

  1. 为 WCF Web 服务生成客户端代理类

  2. 使用 VSTT -数据驱动测试方法来运行具有不同测试数据的测试

  3. 对于 .NET 2.0 测试,我使用 VSTT 进行 Web 服务测试。这很简单。请参阅针对 Web 服务创建数据驱动的 Web 测试