Most applications today are service-oriented or N-tier, using a Web server, application server and one or more databases. Both architectures can become quite complex, comprising multiple components, servers and physical locations. Can changes in one tier or component cause problems in the others? The answer is a resounding maybe.
First, one should test the individual components of business logic, user interface, services and data access layers. This testing isn't really about evaluating the dependencies among systems, but nevertheless is vitally important. For example, if a change to component A makes component B stop working, maybe component A is broken. But before getting into the complications in their interactions, make sure A and B are both functioning as expected.
Enterprise architectures often have complex interactions, which means that passing data from one layer to the other may be the weak link in the chain. How does one test these interactions? In most cases, this is done either through SOAP testing or API testing. Assuming that the services have been fully tested, you'll need to ensure that a similar quality exists at the interfaces. Companies and other services utilizing your components have to have a high level of confidence that the quality and performance of those components meet their standards.
Additionally, you have to test not only your software, but also the SOAP or API interfaces. There are specialized tools for this kind of testing, including SmartBear's Ready! API and Parasoft's SOAPTest. Although you may not need these specialized tools, making sure that the interfaces are sufficiently robust and high performing so as to add immediate value to any solution you propose.
Finally, if you are using a legacy component architecture such as Common Object Request Broker Architecture (CORBA), convince your organization to get out of it as soon as you can and use either traditional Web services or APIs. CORBA was both highly complex and difficult to test, and so most software teams have since moved on to more modern architectures.
Learn about testing mobile and embedded user interfaces
Dig into streamlining integration services
Learn more about API design
Find out why cloud integration services are gaining ground
Dig Deeper on Cloud Application Testing
Related Q&A from Gerie Owen
I've been a tester for many years and want to progress professionally. Yet, I'm struggling to find chances for advancement and a career path in ... Continue Reading
There are numerous DevOps tools, so as a tester, is it necessary to know all of them? Gerie Owen explains why tools might come secondary to the goal ... Continue Reading
As a junior tester, I think learning scripting languages could make me more valuable to my team and enhance my career. But how do I pick the ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.