SOA Testing
SOA Testing is a Testing of Service Oriented Architecture (SOA) which is an architectural style in which the application components are designed to communicate via communication protocols typically over a network.
SOA is a method of integrating business applications and processes together so as to meet the business needs.
SOA provides agility and flexibility to business processes. The changes to the process or application can be directed to a particular component without affecting the whole system.
The software developers in SOA either develop or buy chunks of programs called SERVICES.
What is Service?
Services can be a functional unit of application or business process, which can be reused or repeated by any other application or process.
(For example, Payment Gateway is a service which can be reused by any e-commerce site. Whenever a payment needs to done, the e-commerce site calls/Requests the Payment Gateway service. After payment is done on gateway, a response is sent to the e-commerce website)
- Services are easy to assemble and easy to reconfigure components.
- Services can be compared to building blocks. They can construct any application needed. Adding and removing them from the application or business process is easy.
- Services are defined more by the business function they perform rather than as chunks of code.
Web Services
Web services are independent application components, which are available over the web.
They can be published, found and can be used on the Web. They can communicate through the internet.
SOA Testing should focus on 3 system layers
- Services layer –
This layer consists of the services, services exposed by system derived from business functions.
For example –
Consider a Wellness Website which consists of
- Weight Tracker
- Blood Sugar Tracker
- Blood Pressure Tracker
Trackers display the respective data and date they are entered. Services layer consists of the services which gets the respective data from the Database–
- Weight Tracker service
- Blood Sugar Tracker service
- Blood Pressure Tracker service
- Login Service
2.Process layer –
Process Layer consist the processes, collection of services which are part of a single functionality.
- The processes might be a part of user interface (for ex – A search engine), a part of ETL tool (for getting data from the database).
- The main focus in this layer will be in user interfaces and process.
- The user interface of the weight tracker and its integration with the Database is the primary focus.
Below functions will be of consideration
- Adding new data
- Editing existing data
- Creating new tracker
- Deleting data
3.Consumer layer –
- This layer mainly comprises of user interfaces.