SOA Testing Challanges

When it comes to testing SOA applications, one has to look beyond functionality and performance (load) testing. SOA testing requires testing of interfaces and services that might bring together diverse systems and platforms, along with other performance (latency) and security related aspects.
One of the other challenges to be tackled in SOA Testing is the availability of the environment with the dependent underlying services and/or applications. For instance, an SOA Implementation might bring together two or more autonomous internal applications/services when composing a business process.
The availability of these internal applications/services becomes highly important during integration testing in parts as well as during end-to-end testing of the business process.
Some of the SOA Testing challenges are:
• Services that do not have a user interface
• Data driven business logic within services
• External services to the organization
• The quality of 'service' software will be vital to promote reuse and facilitate business agility. Services that have known bugs and quality issues will not be reused by the development teams. A significant increase in testing activities and test assets (functional, performance and security regression suites that include sophisticated harnesses and stubs) will be required at a service (program) level
• Predicting the future usage of services to assist with performance, load, stress, scalability
• As your SOA evolves, security testing will have a higher priority and profile within your organizations test strategy
Additional considerations:
• In SOA, Services are based on heterogeneous technologies. The ability to string together multiple types of components to form a business process requires unconstrained thinking from an architect's perspective, and test planning and scheduling complexities from a tester's perspective.
• In SOA, application logic is in the middle-tier, operating within numerous technologies, residing outside the department, or even outside the company.
• To test SOA, you need to go far beyond merely testing a user interface or browser screen. Web Services (WSDL/SOAP) will be an important component for many SOAs, but if you're only testing Web Services, you are not likely to test the entire technology stack that makes up the application. What are the transactions happening at the messaging layer? Is the right entry being reflected in the database?

No comments: