What this book covers
Chapter 1, Testing and Developing Web Service Stubs With SoapUI, provides a view on how to support early application development. The main theme here is how SoapUI can be used to generate, develop, and test basic RESTful and SOAP web service stubs using Apache CXF. Discovering, updating, and refactoring tests are also covered here. Apart from the pro-only WSDL refactoring and REST discovery recipe, this chapter is fairly basic in terms of SoapUI testing concepts. Although some readers may prefer not to start with this chapter, for example, if they already have basic SoapUI skills or no interest in developing Java web service stubs.
Chapter 2, Data-driven Testing and Using External Datasources, introduces the theme of data-driven testing and Groovy scripting as a key enabler. This chapter also introduces the building blocks of SoapUI properties, simple database handling, file handling, and how to use open source libraries in Groovy TestSteps. This chapter is fairly fundamental going forward, especially if you do not already know these concepts.
Chapter 3, Developing and Deploying Dynamic REST and SOAP Mocks, builds directly on the Groovy scripting and database and property handling from the previous chapter to show how to develop dynamic mock services. We also see how to deploy the mocks as WAR files to potentially support early application development. Mock services will be used to support recipe samples across several chapters.
Chapter 4, Web Service Test Scenarios, uses the fundamentals of the first three chapters to demonstrate how SoapUI can be used to solve some more high-level, scenario-based REST and SOAP web service testing problems. This is probably the most balanced chapter in terms of general SoapUI testing, as the subsequent chapters are more specialized.
Chapter 5, Automation and Scripting, is all about how SoapUI tests and mocks can be run from scripts with a view to continuous integration. Examples include command-line, Maven, Java, JUnit, Groovy, and Gradle scripts. Scripting of security and load tests will be looked at in chapters 7 and 9 respectively.
Chapter 6, Reporting, looks at the reporting features that are available to the scripts of the previous chapter, custom reporting with Groovy, and how Jenkins or similar CI tools can run the scripts and publish test results as JUnit style reports. Pro version only coverage reporting is also explored.
Chapter 7, Testing Secured Web Services, is all about using SoapUI to test APIs that feature HTTP Basic, Digest and Form, transport layer security (TLS), client certificate, and WSS security. A core learning is the X.509 certificate creation and handling within SoapUI. The security-scanning functionality of SoapUI is also explored.
Chapter 8, Testing AWS and OAuth 2 Secured Cloud Services, mainly explores how OAuth 2 code and implicit grant flows work and how SoapUI supports them. Amazon AWS Access Key Authentication is also explained and demonstrated using Groovy. All examples use popular cloud service providers such as Dropbox, Google, Gmail, and AWS, and involve RESTful web services.
Chapter 9, Data-driven Load Testing With Custom Datasources, discusses how to understand and deal with datasource concurrency issues when running multithreaded data-driven load tests. Distributed datasources and scripting of load tests are also covered.
Chapter 10, Using Plugins, focuses on using, rather than developing, some of the example plugins that are currently available for SoapUI. The basics of how plugins work is also briefly covered, as well as how to provide them in scripts such as Gradle and Maven, where a SoapUI installation is not normally present. While this chapter is near the end, it's actually quite easy to do, even though the understanding of how plugins work might seem more advanced.
Chapter 11, Taking SoapUI Further, is mostly about using SoapUI from its source code and how to develop SoapUI extensions and plugins using Groovy and Gradle. Even though developing extensions is advanced and beyond many people's needs, the examples should be quite doable, especially if you've read the other chapters. Also, building SoapUI from scratch is not hard at all and can be very useful, even in some of the earlier chapters.