Duration: 2 Days
Course Overview
Microservices and the use of REST with JSON network remote procedure calls are becoming mainstream in the development of modern distributed and/or cloud-hosted systems today. We still need to provide test automation capabilities to be able to test these extremely fast and reliably.
This course introduces the tools and techniques used to test both server-side and client-side code, while still incorporating the actual WebAPI network connection as part of the test.
The course is taught over two days using around 40% taught content, and 60% hands-on programming activities, overseen by the course instructor advising attendees in their practical activities on a one-to one basis.
How can I attend my course?
Course Content
Introduction
• WebAPI fundamentals
• SOAP and WSDL fundamentals
• Swagger, WADL and interface specifications
• Architecture of REST APIs
• REST + JSON versus REST+XML
Simple APIs
• Constructing a simple REST service
• Hosting a REST service
• Constructing a compatible client proxy
• Implementing proxies in client applications
• Connecting client and server
API server testing
• Programmatic testing
• Using HttpClient classes to test a REST service
• Testing GET and POST
• Testing for correctly thrown exceptions
• Integrating the client test with JUnit unit test frameworks
• Using a Façade pattern to isolate the API from the component implementation
API client testing
• Programmatically created mocks for the service
• Using mocking frameworks to emulate service operations
• Creating client side tests with down-stream mocks
• Full end-to-end test automation with client and service in operation
API testing tools
• Public domain tools, e.g. SOAP UI
• Commercial tools, e.g. Postman, Ready API
• Using API testing tools to invoke services in tests
• Using API testing tools to mock services for client testing
Future technologies
• Google RPC and test automation for protocol buffers
• WebSockets and SignalR
• Testing advanced future technologies