Chapter 1: Web Services Testing and soapUI
Chapter 2: The Sample Project
· SOA and web services· Service-oriented solutions · Case study
· Building blocks of SOA
· Simple Object Access Protocol · Alternatives to SOAP
· REST
· Java Script Object Notation
· Web Services Description Language · Message exchanging patterns · SOAP Faults
· Approaches of testing web services · Unit testing of web services
· Functional testing · Tool assisted testing
· Using client APIs provided by service container middleware · Integration testing of web services
· Performance testing of web services
· The common challenges of Web services testing · Use of external web services
· Implications of using complex standards and protocols · Headless nature of web services
· What is soapUI? · Capabilities of soapUI · Installing soapUI · System requirements · Installing soapUI on Linux · soapUI installation on Windows · Installing soapUI on MacOS · A glance at soapUI user interface
· The problem domain · Project pre-requisites · Java
· Apache Ant · MySQL
· Setting up Apache Axis2
· Setting up project source directories · Designing the web services
· Implementing the web services · Web services fault handling · Managing database operations
· Completing the web service implementation classes · Deploying web services
· Understanding the web services definition · Schema
· portType · binding · Service
· Creating a soapUI project
· Invoking the guest management web service · A detailed look at SOAP requests and responses · Generating SOAP Faults
· A sample test scenario · Creating a TestSuite · Adding TestCases · addRoom TestCase · getRoomDetails TestCase · deleteRoom TestCase · Running the first TestSuite · Adding test assertions · Not SOAP Fault assertion · XPath Match assertion · The Contains assertion
· Adding properties to soapUI tests · Reading property values from a file
· Transferring property values between TestSteps
· Non-functional testing of web services · Performance testing
· Planning for web service performance testing · Using soapUI for performance testing
· Working with load tests in soapUI · Limit of a load test
Chapter 3: First Steps with soapUI and Projects
Chapter 4: Working with Your First TestSuite
Chapter 5: Load and Performance Testing with soapUI
· Threads in a soapUI load test · Load test strategies of soapUI · Simple load strategy
· Burst load strategy
· Securing GuestManagementService
· Testing the secured GuestManagementService with soapUI · Thread load strategy
· Variance strategy
· A closer look at the load test report and statistics of soapUI · Using load test assertions in soapUI
· The Max Errors assertion · The Step Average assertion · Step TPS assertion
· The Step Maximum assertion · The Step Status assertion · LoadTest options
· Mocking in software testing · Mocking in web services testing
· Mock services and contract-first web service development · Simulating services that are not accessible
· Dealing with test environmental restrictions · Mock services with soapUI
· The structure of soapUI MockService · MockService details
· MockOperation details
· Dispatching styles of MockOperation · MockResponse details
· soapUI mock services in action · Static responses – the basic scenario · Using dynamic responses
· Introduction to web services extensions · What is WS-Addressing · What is WS-Security · WS-Policy · WS-SecurityPolicy · WS-Trust · WS-SecureConversation
· Configuring Apache Axis2 for WS-Addressing and WS-Security · WS-Addressing in Apache Axis2
· WS-Security in Apache Axis2
· Testing the WS-Addressing with soapUI · Validating the WS-Addressing responses · Testing WS-Security with soapUI
· Web service authentication
Chapter 6: Web Service Simulation with soapUI
· Project level WS-Security configurations in soapUI · Testing asymmetric binding policy with soapUI · Asymmetric binding
· Signing SOAP messages
· Securing RoomManagementService
· Project level WS-Security configurations in soapUI · Testing asymmetric binding policy with soapUI · Asymmetric binding
· Signing SOAP messages
· Securing RoomManagementService
· Testing secured RoomManagementService with soapUI · Validating WS-Security responses
· Introduction to REST
· Represent everything with URIs · Using standard HTTP methods · Linking resources together
· Multiple representations of resources · Stateless communication
· Testing RESTful APIs using soapUI · REST Services in soapUI
· Request and response representation
· Using POST or PUT requests in soapUI REST services · Reading POST message content from a file
· Inserting the HTTP Basic Authentication header to requests · REST parameters
· Query parameters · Template parameters · Matrix parameters · Header parameters
· Functional testing of REST services · WADL
· Testing data in isolation
· Setting up soapUI to connect to the database · JDBC Request TestStep
· JDBC Request properties · JDBC test assertions
· Stored procedures with JDBC Request TestStep · Accessing soapUI properties from SQL query
· Introduction to JMS
· Setting up Apache ActiveMQ · JMS integration in soapUI
· Working with JMS messaging in soapUI · Validating JMS responses
Chapter 8: Getting Started with REST Testing
Chapter 9: Testing Databases with soapUI
· Verifying end-to-end JMS message delivery using the sample project · Configuring JMS in Apache Axis2
· Configuring a session in HermesJMS · Adding a JMS endpoint in soapUI
· Introduction to Groovy scripting language · What is Groovy?
Chapter 11: Extending soapUI with Scripting
· HelloWorld with Groovy
· Variable and object declaration in Groovy · Control structures in Groovy
· Class and method declarations in Groovy · Groovy scripting in soapUI
· The context object · The testRunner variable · soapUI ModelItems
· Setup and TearDown scripts in soapUI · Load Script at soapUI project level
· Request and response handling using Scripts · Script assertion
Chapter 12: Automated Testing with soapUI
Chapter 13: Miscellaneous Topics · Test automation
· Why is test automation essential in SOA? · Continuous Integration (CI)
· soapUI JUnit integration
· soapUI command line executions
· Invoking a soapUI command line functional test runner · Invoking test runners from the soapUI graphical user interface · Maven soapUI plugin
· soapUI IDE plugins · soapUI Eclipse plugin · soapUI IntelliJ IDEA plug-in · WS-I validation using soapUI
· soapUI integration with external web services' frameworks · Sending attachments with SOAP messages using soapUI · Deploying an MTOM-enabled web service