What is SoapUI? Introduction to SoapUI Testing

What is SOAP UI?

  • SOAP UI is the leading open source cross-platform API Testing tool
  • SOAPUI allows testers to execute automated functional, regression, compliance, and load tests on different Web API.
  • SOAPUI supports all the standard protocols and technologies to test all kinds of API’s.
  • SOAPUI interface is simple that enables both technical and non-technical users to use seamlessly.

SOAP UI

Why use SOAPUI?

SOAPUI is not just a functional Api Testing tool but also lets us perform non-functional testing such as performance and security test.

Let us discuss the 5 important features of SOAPUI

1) Functional Testing

  • A powerful tool allows testers to write Functional API Tests in SoapUI
  • Supports Drag-Drop feature which accelerates the script development
  • Supports debugging of tests and allows testers to develop data driven tests.
  • Supports Multiple Environments – Easy to switch between QA, Dev and Prod Environments
  • Allows advanced scripting (tester can develop their custom code depending on the Scenario)

2) Security Testing

  • Has the capability to perform a complete set of vulnerability scan.
  • Prevents SQL Injection to secure the databases
  • Scans for Stack overflows that are caused by documents huge in size
  • Scans for Cross Site Scripting, which usually occurs when service parameters are exposed in messages.
  • Performs Fuzzing scan and Boundary scan to avoid erratic behavior of the services.

3) Load Testing

  • Distribute the Load Tests across any number of loadUI Agents.
  • Simulate high volume and real-world load testing with ease.
  • Allows Advanced custom reporting to capture performance parameters.
  • Allows End-to-End System Performance Monitoring

4) Supported Protocols/Technologies:

SoapUI has the most comprehensive Protocol Support

Use SOAPUI

5) SOAP-INTEGRATION with Other Automation Tools:

SoapUI integrated very well with popular tools

1) Maven

Maven

Apache Maven is a software project management tool that can manage a project’s build, reporting and documentation from a central repository. Maven can also execute SOAPUI tests within Maven Build using simple commands.

2) HUDSON

HUDSON

HUDSON, a Java based Continous integration tool and integrates with tools such as CVS, Subversion, Git, Perforce, Clearcase, and RTC. SOAPUI also integrates with HUDSON, which helps us to spot bugs quickly for each and every commit by the developers.

3) JUnit

JUnit

JUnit is a Unit Testing framework built in Java, which can control the flow of tests from SOAPUI as well.

4) Apache – Ant

Apache - Ant

Apache Ant, a Java library which is a command-line tool that helps in building software. Using SOAP UI’s Command line, we can execute tests within an ANT Automated Build.

SOAP UI Vs Selenium

Let’s compare SoapUI with Selenium

SOAP UI Selenium
SOAP UI is NOT used for User Interface Testing. It is only used for WebAPI or WebService Testing Selenium is used for User Interface Testing.
Capability to test the data sent and received between the web browser and a web server. Can test the protocols/technologies such as REST, SOAP. Selenium cannot test protocols, but they can test the UI behavior.
Able to perform functional, load and Security Testing of the above-mentioned technologies. Selenium can perform only Functional Testing. Performance Testing to some extent because we can track execution time with regards to the performance but cannot test multi user and multi tenancy. Selenium certainly cannot be used for security testing.
It is PROTOCOL Dependent and NOT browser dependent. Selenium depends on the browser capabilities.

SOAP UI Vs SOAP UI PRO

We know that there are two flavors of SOAP UI testing , One being SOAP UI (Open source version) while the other one is SOAP UI PRO. Let us understand the difference between these two flavors and we will also discuss when to go for use what.

Features SOAP UI (Open Source Version) SOAP UI PRO
Supported Technologies
SOAP/WSDL SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
REST SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
JMS SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
AMF SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
JDBC SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
HTTP SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Automation
Functional Tests SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Load Tests SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Mock Services SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Code Generation SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Command Line SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Maven SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
CI and Build Integration SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
General Features
Standalone Application SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Groovy Code Templates SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Multi Environment Support SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Floating Licenses SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Functional Testing features
WSDL Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Request/Response Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Message Assertion SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Test Refactoring SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Running of Multiple Tests SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Data Source Driven Tests SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Scripting Libraries SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Unit Reporting SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Manual Test Step SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Security Testing features
Boundary Scan SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Invalid Type SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
SQL Injection SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
XPath Injection SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
XML Bomb SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Fuzzing Scan SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Cross Site Scripting SOAP UI Vs SOAP UI PRO
Configurable Scans SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Reporting SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Load Testing Features
Rapid Load Tests from Functional Tests SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Configurable Load Strategies SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Load Test Assertions SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Real-Time Statistics SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Performance Monitoring SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Statistics Exporting SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Setup/TearDown using Groovy Scripting SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
loadUI Integration SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Reporting SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Reports
JUnit Reports SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Report Data Export SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
WSDL HTML Report SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
WSDL Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
TestSuite Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
TestCase Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Assertion Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO
Message Recording Coverage SOAP UI Vs SOAP UI PRO SOAP UI Vs SOAP UI PRO

When use SoapUI PRO Version?

  • Data Driven: PRO Version, helps us to work with an external data source such as text files, XML, Groovy, Excel, file, and Databases. This helps us to scale our tests with a range of inputs driven through the above-said sources.
  • Test Coverage: PRO Version allows testers to get a statistic report which shows the functionalities that are well tested and also the areas that are NOT thoroughly tested as well. The drill down reports even pinpoints exactly what has NOT been tested and what has NOT been asserted.
  • Test Debugging: You can then run the test to that breakpoint and view the current value of the SoapUI properties. The Test Debugging Interface simplifies following Test Flow, Variables, Properties, Requests, Context, and much more, making test creation and improvement more streamlined.
  • Multi-Environment Support: Working with multiple environments such as DEV, QA, Pre-PROD environment can be a daunting task with the open source version as testers need to change the end points to execute in different environments. PRO version helps us to switch between environments seamlessly.
  • Reporting: PRO version is loaded with many options to customize reports that generate detailed reports at Project, TestSuite, TestCase or LoadTest level. It also produces reports in various formats such as PDF, HTML, Word or Excel.
  • Security Testing: Both SOAPUI versions have capabilities to test for security vulnerabilities such as XML bombs, SQL injections, fuzzing, cross-site scripting. However, only SOAP UI PRO can perform vulnerability scans using Security Test Generator using a mouse click.
  • SQL Builder: For Non-Technical testers writing complex SQL Query can be cumbersome. The SOAP UI PRO’s SQL Builder can help them in creating SQL Query using the SQL Builder’s graphical interface. This feature helps us to accelerate the implementation of data-driven testing.
  • Support: As part of the license agreement SOAP UI Pro has exclusive support apart from the online forum support.

We will be using the Open Source version of SoapUI for our training purpose.

SOAP UI Tool – Version Timelines

Major version Release Notes Release date
V1.0 Initial Release 16-10-2005
v1.5 Load Testing Release 06-04-2006
v1.6 Tools Release 12-11-2006
V1.7 The Pro Release 10-04-2007
v2.0 Coverage Release 12-12-2007
v2.5 REST Release 18-11-2008
v3.0 Reporting Release 09-07-2009
v3.5 Protocol Release 01-03-2010
v3.6 LoadUI Release 14-09-2010
v4.0 Security Release 14-06-2011
v4.5 Big Ears Release 28-03-2012
v5.1 The Plugged in Release 05-09-2014
v.5.2 Major New Features Release 02-07-2015
v.5.3 Bundled Plugin Release 05-12-2016