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.
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
5) SOAP-INTEGRATION with Other Automation Tools:
SoapUI integrated very well with popular tools
1) 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, 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 is a Unit Testing framework built in Java, which can control the flow of tests from SOAPUI as well.
4) 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 | ||
REST | ||
JMS | ||
AMF | ||
JDBC | ||
HTTP | ||
Automation | ||
Functional Tests | ||
Load Tests | ||
Mock Services | ||
Code Generation | ||
Command Line | ||
Maven | ||
CI and Build Integration | ||
General Features | ||
Standalone Application | ||
Groovy Code Templates | ||
Multi Environment Support | ||
Floating Licenses | ||
Functional Testing features | ||
WSDL Coverage | ||
Request/Response Coverage | ||
Message Assertion | ||
Test Refactoring | ||
Running of Multiple Tests | ||
Data Source Driven Tests | ||
Scripting Libraries | ||
Unit Reporting | ||
Manual Test Step | ||
Security Testing features | ||
Boundary Scan | ||
Invalid Type | ||
SQL Injection | ||
XPath Injection | ||
XML Bomb | ||
Fuzzing Scan | ||
Cross Site Scripting | ||
Configurable Scans | ||
Reporting | ||
Load Testing Features | ||
Rapid Load Tests from Functional Tests | ||
Configurable Load Strategies | ||
Load Test Assertions | ||
Real-Time Statistics | ||
Performance Monitoring | ||
Statistics Exporting | ||
Setup/TearDown using Groovy Scripting | ||
loadUI Integration | ||
Reporting | ||
Reports | ||
JUnit Reports | ||
Report Data Export | ||
WSDL HTML Report | ||
WSDL Coverage | ||
TestSuite Coverage | ||
TestCase Coverage | ||
Assertion Coverage | ||
Message Recording Coverage |
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 |