Introduction

<<Please refer to Web Services Automation Guidance (VS 2010 Unit Test & Web Test).PDF http://webservicestesting.codeplex.com/releases/view/78473#DownloadId=312126 for detailed documentation>>

This artifact will provide Web Services Automation guidance for Functional & Performance Testing leveraging VS 2010. The document will provide recommendation on using either Unit Test or Web Test for functional testing depending on your project and test objective as will be later covered in the document. Load Test will be used for Performance Testing in both cases.

The primary objective is to propose a viable web services test automation approach & reusable libraries to customers, partners and consultant. It will also be a step in standardizing web services automation using VS 2010 platform across the Industry and filling the gaps by extending our tools as suggested in the talk. The document can also be used as a quick jump start guide for beginners to get started on Web Services Automation Testing.

Other than the guidance included in this document, key deliverable will primarily consists of the following:

a) Unit Test & Web Test Template projects for Web services testing
b) Reusable libraries for Unit Test
c) Reusable Add-ins (Extraction & Validation Rules) for Web Test that can be reused to reduce automation development effort drastically.
d) Performance Testing using Load Test once the Web Tests/Unit Tests are in place.
e) Sample Web Services application for beginners to gets started

Pre-requisites:
- Ensure you have downloaded and deployed WebServiceAutomation_SampleApp that contains sample Web services projects (WCF/ASMX/WF etc.) that you can use to getting started with Web Services automation.

- Verify you have downloaded our sample Template projects WebServiceAutomationSampleUnitTest and WebServiceAutomationSampleWebTest that contain sample unit test/web test which you can reuse / customize for your needs

- Ensure you have downloaded our Reusable Libraries for Unit Testing (WebServicesTesting.Automation.UnitTest.Helper.dll) & Web Test (WebServicesTesting.Automation.WebTest.Helper.dll)

- Visual Studio 2010, SQL Server Express or higher version, IIS (Internet Information Server 6.0 or above

Importance of Web Service Automation
It’s important to first understand the importance of Web Services Automation and the ideal scenarios where it must be recommended.

• Web Services (WCF/ASMX) due to their worldwide implementation and popularity but limited test tool support, often raises the question around testing them effectively. Testers are craving to find effective ways to Test Web Services. Even VS 2010 doesn’t have dedicated test types for verifying Web Services (like for UI, there is Coded UI and for DB there is Database Unit Test) which results in low test coverage and non-standardization of proven ways to test web services especially WCF 4.0 Web Services. Web Services Testing in VS 2010 so far has been not been given a first-class citizen treatment and this guidance will bridge that gap by making it much easier and effective.

• In this agile development era, we are moving to a model where UI is ever changing and consummation of web services is taking the centre stage and hence this layer attention it truly deserves by shifting the onus from UI testing to Web Services based validation.

• Traditionally teams have also used Fiddler and other 3rd Party tools for the same purpose (many times for manual testing alone) but as Web services have different needs, the knowledge harvested doesn’t get reused to its potential in future engagements

Ideal Candidates

• If your application is consuming APIs exposed by other upstream systems or 3rd Parties

• If your application is exposing APIs to be consumed by the downstream applications

• When your UI is dynamic and constantly changing and cost/maintenance of UI automation is much more.

• When your business logic and rules are primarily implemented using services (ASMX, WCF & Workflow Services) and testing at this layer is much faster and efficient.

• When you need to come up with a common automation framework for web services that can be used to validate both functional and performance aspect of the web services with minimum effort.

Last edited Dec 10, 2011 at 11:03 AM by rkamal13, version 5