Test automation has evolved in SOA world, in the past years, giving birth to a number of tools practices and standards. But without the right approach to automate, we can't achieve the desired returns, and some of the basic pointers should be kept in mind when planning test automation of SOA applications.
Manual testing cannot be replaced with automation testing: This is the most common mistake people make; a new feature has to be manually tested and when stable it can be automated, Test automation is traditionally for regression testing not a test replacement.
Automation testing in SOA has different levels: Automation testing has different levels like unit level, system level and end-to-end level. Based on the scope and requirements in SOA testing, we first automate the smoke or component test, then the integration test, and finally the end-to-end regression test or orchestration test.
An SOA automation test team needs business and technical architectureknowledge to automate scenarios. This is usually very important, since better understanding of the business and the architecture for the automation tester would provide quality automation suites.
Access to the database and repositories are required: When automation testing SOA architecture, we would need access to the repositories and the system, to which the user doesn't usually have access, since we would need to capture the data from different repositories and validate the results.
Any third-party systems should be stubbed or should be accessible: Any third-party system should either be stubbed with the relevant scenario dynamically, or we should have access to the third-party system.
Test automation ROI
Let's talk about the ROI of test automation:
Traceability:
Results from every run captured and stored to be compared in the future
Repeatability:
Ability to repeat test cases P1
Predictability:
Helps to improve confidence in the product delivered to the business
Raises quality as each test or selected tests have to be successful
Time and cost savings:
Enables broader coverage of test cases/scenarios
Takes less time than manual
Deliverables to client:
Documented business flows
A test plan
Reusable business automation scripts with minimum maintenance cost
Complete test process
Integration of test management tool with automation scripts