SOA testing

Post date: Mar 31, 2013 3:08:42 PM

Due to specific nature of SOA eco-system it requires a new model methodology and thinking for testing. Why? SOA services span across boundaries of the organizations, applications are composite of various services across the organization and beyond organization boundary.

For a long time there was a need to have SOA testing model specially designed for SOA but it didn't exist. Here I am trying to put some thoughts on SOA testing.

Challenges in SOA Testing

    • Some services don't have user interface- they are used by other services from outside of the organization which participate in current services interact and collaborate with out side world beyond organization boundary.

    • Security testing is utmost important and is a challenging task in such an heterogeneous and uncontrolled environment.

Testing Model

Famous V Model comes into picture here. Test design analysis planning and execution happens throughout the life of SOA project. V model provides for parallel testing activities during project life cycle. Example- Requirement=Prepare UAT, Functional Specs=Create System Service Test, Tech Specs=Create Integration Test, Program Specs=Create Unit Test

Why V model is suitable for SOA projects?

    • Derived from business context.

    • Starts from business requirements gathering till acceptance.

    • It takes top down approach which helps capturing various aspects like processes, security etc.

    • Various levels of V model map to various phases of project life cycle covering different level of details and various view points e.g. functional view point, integration view point, user view point

Requirement for SOA testing

    • Detailed understanding of SOA

    • Tools to cater testing requirements from business domain, security etc.

    • Business domain knowledge and test teams aligned to domain.

Types of testing for SOA

    • SOA testing can be categorized in to following

    • Service component testing

    • Service testing

    • Integration testing

    • Process testing

    • System level testing

    • Security testing

    • Governance testing