SOA Testing Tutorial: Testing Methodology For a SOA Architecture Model

SOA Testing Tutorial:

In this article, we are going to discuss the testing techniques for an SOA architecture.

Current day software are so versatile and prone to handle changing user expectations every now then, a standalone model is not useful.

There is where SOA fits right in as the solution.

That’s the reason why, a lot of companies are adapting or trying to adapt the SOA approach because of its advantages such as; Cost cutting, Business agility, easy maintenance etc. With the upcoming market full of SOA architecture, it becomes necessary for the Modern day testers to get a fair idea on the SOA testing.

In this article, we will cover the basics of SOA with examples of it.

This would give the readers a basic idea on SOA. That would be followed by the web services approach of implementation. Finally, we will get into the testing process which can be followed for a SOA architecture model.

What You Will Learn:

What is SOA?

SOA or Sevice-Oriented-Architecture is a flexible/agile/efficient method of integrating various applications/services so as to achieve certain Business needs.

Examples of SOA

Business need: An application to which a User can login and search for Restaurants based on Geolocation, Download the restaurant details and Menu from the server once the search is complete and finally a payment can be done for placing the order.

This business need can be achieved by the implementation of SOA.

There can be services/micro-services as follows so as to perform various tasks:

Each of the above-mentioned service does something unique so as to make the system work and deliver what it is supposed to do. Now, if a customer needs to only see the restaurant and its menu but doesn’t need a Payment Gateway interface, he would only purchase/deploy the first three services.

This makes the job simple for development, Deployment, Sales, Maintenance and after all the customer/End user.

Web Services

Image Sources here and here

SOA Testing Process

Every product, model, infrastructure needs to go under the Testing phase so as to satisfy the end user in terms of a good quality product. SOA testing is not only limited to a layer’s testing/Web service protocol testing. This is the overall testing of the architecture and every minute part of it.

The testing approach can be similar to that of the normal testing process. i.e.

SOA Testing process revolves around 3 layers in the architecture:

Going with the same example above, we can have our layers as follows:

The testing can basically be divided into 4 different stages;

Tier #1

1) Service Level Testing:

2) Functional Testing:

3) Security Testing:

4) Performance Testing:

Tier #2

1) Process Testing:

Tier #3

1) End to End Testing:

Tier #4

1) Regression Testing:

Challenges in SOA Testing

Someone rightly said, “Bigger the mesh; Bigger is the mess!”. SOA can become a really complex child hungry for attention.

In other words, with so many minute parts constituting the SOA architecture, it becomes a real tough job to certify it in Testing.

SOA Testing Tools

There are numerous applications for SOA testing. SOA Testing tools are selected based on their accurate results and better productivity.

  1. SoapUI: This is a free tool aimed at Web service testing. SoapUI is capable of doing Functional testing, Performance testing, and Load testing
  2. Apache Jmeter: This is also an OPEN SOURCE utility which is used for analyzing the performance of SOAP invocation.
  3. JProfiler: This is used to stop or detect the memory leak, finding bottlenecks in performance etc.
  4. HP Service test: This is integrated to HP QC. This is a functional testing tool, which also supports UI and shared service testing

Through this article, we have understood the singularity of the model. This is very much different from the legacy model and the article gives a good idea on it. This article also throws some light on SOA procedure and ways to proceed with the testing.

About the author: This is a guest post by Subhasis. He is working as a team lead with over 8 years of corporate experience working for Fortune 500 IT companies.

Post your SOA testing related queries/comments below.

All the best!