Monday, 18 June 2007

Testing Approach In SOA

1)Testing methodologies
2)Pitfall’s
3)Key factors to success
4)Selecting an appropriate testing tool

Difference between traditional projects and SOA projects is that SOA projects involves integration between various distributed systems.This distributed nature of SOA projects throws challenge for testing as the requirements for each individual system and the entire application as a whole needs to be understood properly and the coordination between the various testing teams needs to be managed.Traditional testing methodologies can be applied with agile nature keeping in view of the iterative nature of SOA projects.

Testing methodologies:
Since SOA projects follow iterative approach,the effective way of testing SOA projects is to start with unit testing to uncover the errors in the individual components once the construction phase is over.Follow with Integration and functional testing.In the integration testing phase all the applications are integrated to perform end-to-end data flow and functional testing is carried out for validating the business functionality.In the UAT phase business users will test the application to verify whether the application meets the requirements. Another critical testing phase is Regression testing which plays an important role as even a small piece of code change can effect the entire application.This phased nature of testing provides full validation of the entire applications.

Following are the normally followed testing methodologies in SOA projects:
Unit testing,Component testing,Integration testing,User Acceptance testing.
Non functional testing like connectivity testing,performance testing,security testing etc.

Pitfall’s:
One of the key factors for failure of SOA projects is the non agile nature of the testing approach.Another key factor is incomplete understanding of the integration system requirements.

Few pitfall’s
Test approach is not agile.
No focus on integration testing.
Non availability of the systems.
No proper understanding of the business process.
No proper understanding of the entire application as individual testing teams focus only on their respective applications participating in integration.

Key factors to success:
· Create a test plan which should accommodate agile testing.
· Create a test strategy with integration testing in focus.
· Understanding the Business process and the services and the associated meta data.
· Defect tracking system which helps in tracking all the defects during various testing phases.
· Availability of master data,systems.
· Automating testing process.

Tools:
Selecting an appropriate tool which suits the overall testing requirements of an organization plays an important role in effective testing of SOA projects.

Some of the tools vailable in the market for SOA testing projects are:
· iTKO:LISA
· Mindreef:ebizq
· Empirix Inc: e-Test Suite

No comments: