The VSTS Rangers have done it again! They've identified a gap in our current product offering that was blocking it's adoption by a major customer and found a way to deliver tooling to fill the gap. In this case, the challenge at hand was load testing an application that was utilizing the new Windows Communication Foundation (WCF), part of the .NET Framework 3.0.
In response, our team wrote a tool which takes a WCF trace file and a WCF client proxy, or a WCF interface contract, and generates a unit test that replays the same sequence of calls found in the trace file. The code generated is easily modifiable so that data variation can be introduced for the purpose of doing performance testing.
The tool generates code for both Visual Studio 2005 and Visual Studio 2008. It also installs a wizard into both editions of Visual Studio for creating the trace and processing it from inside Visual Studio. If both editions are present the tool is installed into both editions. The source code is a Visual Studio 2005 project.
The tool has the following main features:
- Replay of captured scenario in a unit test that can be included in a load test.
- Support for the DataContractSerializer.
- Support for message contracts.
- Support for proxies generated using svcutil.
- Support for clients that create proxies at run time from contract interfaces.
- Supports calls to multiple services in a single scenario.
- Supports multiple calls to the same service operation.
- Filtering by SOAP action of which messages in the trace to replay.
- Readable and modifiable code is generated.
- Automatic association of trace message with proxy method (requires all operations to have a unique SOAP action).
- Support for client and server side traces.
- A command line tool for processing traces and generating code.
- Visual Studio 2005/2008 integration (Team Developer, Team Test, Team Suite and for 2008 also Professional)) that can be used instead of the command line tool.
You can learn more as well as download the contents from here on the Codeplex site.
Congratulations to the Ranger team for this powerful tool and the resulting customer win. Please take a look and let us know what you think.