API Testing with SoapUI and Postman
What to consider about these API testing tool options before getting started
When we talk about tools for API testing, Postman and SoapUI, two of the most powerful and recognized tools on the market, come to mind almost immediately.
In this post, I want to share what are the basic things to know about these API testing tools and compare some of their strong points from a tester’s perspective.
Although both tools have paid versions with interesting functionalities, here we will concentrate on just the functionalities of their free versions. For more information about the paid versions, I recommend visiting their websites: https://www.soapui.org/ and https://www.postman.com/
To begin, SoapUI is a tool developed in Java, used for testing applications with Service Oriented Architecture (SOA) or REST. It supports multiple protocols such as SOAP, REST, HTTP, JMS, and JDBC. The tool has an open source version and another paid version developed by SmartBear.
The SoapUI tool was initially created to test SOAP services. Then it was extended to RESTful web services.
For a new user, it may involve a medium-sized learning curve as it’s not always the most intuitive.
You can find documentation on its official page: https://www.soapui.org/
SoapUI’s main screen
As seen in the image, in the module located on the left (‘Projects’), the work is organized into projects. The projects make up the workspace. A project can contain different types of tests, including functional tests, load tests or mocks to isolate what you intend to test from necessary services (dependencies).
SoapUI offers two project formats: ‘Standalone Projects’ and ‘Composite Projects’. The ‘standalone projects’ are stored as a single XML file containing all the artifacts in the project. Compound projects allow multiple people to work collaboratively at the same time.
Projects within SoapUI can also be classified into different types:
This categorization indicates the main type of service tested. However, you can manually combine the service types in any project you create.
SOAP Projects can be created from a WSDL file or from a particular request. These projects can be used to test all aspects of SOAP services and create functional, automated, load, concurrency tests, etc.
REST projects can be created from a WADL file or directly from the URL and its parameters. These projects can be used to test RESTful services, create multiple requests and check the information you receive, test a multitude of methods and operations, and more.
Generic projects are multipurpose projects for services with varied interfaces and methods. They can combine tests that are created for REST and SOAP services, with a data-driven testing approach, mocks and all the functions that SoapUI provides.
Postman is a tool that helps throughout the entire API development process but is mainly used for testing. Thanks to this tool, in addition to testing and invoking APIs, we will be able to monitor, document, simulate and write automated tests for them.
The Postman tool is primarily designed for testing REST-type APIs. It has a very easy-to-use and pleasant user interface. It offers a large number of functionalities, for example it allows you to make any type of API call (REST, SOAP or simply HTTP) and easily inspect the responses. Responses can also be parsed based on response type (JSON, XML, or HTML).
You can find documentation on its official page: https://www.postman.com/
Postman’s main screen
As you can see in the image, unlike SoapUI, Postman works with API collections. These collections function as request groupers, which allows for the ordering of resources and services and testing each request in a quicker and easier way.
Comparing Their Different Advantages
Advantages of SoapUI
- It’s a very complete application, with many functionalities, which can be a bit more complicated for what we need at times
- It has a better integration than Postman to work with the SOAP protocol (since it was initially intended for that).
- It’s a more mature project and has been on the market for longer
- It’s an application that’s more oriented to testing and not simply to invoke an API, document it and publish it. It allows to structure the tests in test suites, test cases and test steps.
- Test execution can be integrated with tools such as Maven and CI/CD engines.
- It allows you to add scripts in Groovy language, which means you can add validations, configure and/or automate tests.
Advantages of Postman
- Allows collaboration between team members
- It has a more intuitive and attractive interface
- It has an extension for Google Chrome, therefore it’s not necessary to install the desktop application
- As we already mentioned in the description, it has a very interesting option, which is collections, which basically works as a database of requests
- It’s extensible and can be integrated with other tools, for example by running the test suites from a CI/CD engine.
How to Get Started with API Testing?
In my opinion, if you’re about to start testing on API and you have little time, I would recommend Postman, since it requires less learning time. However, if what you are looking for is to put together a project in the medium or long term, I would recommend SoapUI as it offers more options and a better organization of the project.
If you still can’t decide on one, I invite you to try both to discover which one best meets your needs!
Recommended for You
Read the Ultimate Guide to Continuous Testing
- What are the Responsibilities of a Software Tester?
- Quality Sense Podcast: Nicola Lindgren – Implicit requirements
- Software Tester, Among the Jobs in The Future of Work
- Mabl Review: First Steps With The Low-Code Test Automation Solution
- When Do You Need to Partner with a Software Testing Services Company?