Five-Project Series

Microservice Testing you own this product

prerequisites
basic Java • basic Spring Boot • basic Docker and Docker Compose commands • REST principles • basic microservices • basic Maven • basic Jenkins
skills learned
add dependencies and create tests to validate microservice architectures • create custom tests • externalize tests to a particular library • add multiple tests into one Jenkins pipeline • create problems using Chaos Monkey and ChaosIQ • add analysis in the Jenkins pipeline
Andres Sacco
5 weeks · 4-6 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Welcome to Travel World Agency (TWA), where you’ve been hired as a senior developer. As the company has grown, so have its computing costs. Before taking potentially disruptive cost-reducing measures, management wants you to prepare the company’s next-generation system, which runs on Amazon Web Services (AWS), by improving the quality of its microservice architecture.

In this series of liveProjects, you’ll review the microservice architecture, create an architecture test using ArchUnit, simulate random problems using Spring Boot’s Chaos Monkey library, use Dependency-Check and Dependency-Track to analyze dependencies, and create API and performance testing using Karate and Gatling. When you’ve completed these projects, you’ll have valuable practical experience with five different microservice testing methods that help you understand the effect certain changes are likely to have on your system.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

This course was amazing. I learned so many new things. The sample project was fun to work with. I don’t know that there is anything else out there that is as comprehensive as this project.

Becky Huett

Manning author Andres Sacco shares what he likes about the Manning liveProject platform.

here's what's included

Project 1 Unit Test of Architecture

You’re a senior developer at Travel World Agency (TWA). The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS), and wants to prepare it for cost-cutting measures. Your task is to review the microservices architecture, create an architecture test using ArchUnit, create custom tests as needed, streamline update and creation processes by externalizing your tests to a single library, and integrate your architecture tests into a Jenkins pipeline. When you’re done, you’ll have a unit test that validates the structure of a microservices architecture.

Project 2 Chaos Engineering

You’re a senior developer at Travel World Agency (TWA). Management is surprised at the amount computing costs have increased, but before introducing potentially disruptive cost-reducing measures they need to determine how to improve the quality of the microservices. Your task is to simulate random problems, using Spring Boot’s Chaos Monkey library, to determine whether any scenarios exist that aren’t addressed by the code. To test your conclusions, you’ll use the Chaos Toolkit to generate concrete problems. When you’re done, you’ll have the skills to spotlight issues that aren’t always revealed through unit testing.

Project 3 Secure Code

You’re a senior developer at Travel World Agency (TWA). As its success has grown, so have computing costs. But before introducing potentially disruptive cost-cutting measures into its next-gen system running on Amazon Web Services (AWS), it needs to improve the quality of its microservices. Your task is to detect possible security problems using Sonar, then use Dependency-Check and Dependency-Track to analyze the dependencies and add rules to define how many vulnerabilities your microservices might have with the ongoing execution of the pipeline.

Project 4 API Contract Compliance

Travel World Agency (TWA) has enjoyed rapid growth, but its computing costs have risen along with its success. Before implementing potentially disruptive cost-reducing measures to their next-gen system running on Amazon Web Services (AWS), it needs to improve the quality of its microservices. As a senior developer, your task is to detect whether any change in the request/response of the endpoints might affect the rest of the microservices. You’ll use Pact to define the contract between multiple microservices using the HTTP method, the name of the endpoint, and the requests and responses. By the end, you’ll be able to detect problems that could result from a change to the name, HTTP method, or the attributes that contain the requests and responses of one endpoint.

Project 5 API and Performance Testing

You’re a senior developer at Travel World Agency (TWA). Its swift success has come with a high rise in computing costs. But before it introduces potentially disruptive cost-saving modifications to its next-gen system running on Amazon Web Services (AWS), it needs to improve the quality of its microservices architecture. Your job is to create API and performance testing using Karate and Gatling and apply a black-box approach that prevents anyone from changing what’s inside the microservices. You’ll test the connection with external services as well as with a database, then create a performance test with minimal configuration by reusing one of your API tests.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Microservice Testing project for free

It is a very well laid out liveProject and touches all the aspects of API testing and integration with CI, which is a very important toolset to have for a developer or testers.

Kareem Qureshi

I was positively surprised with the contents of the liveProject. I was expecting yet another test course, with JUnit and even TDD, but it approaches topics very useful for me professionally.

Fernando Bernardino

Instructions are clear, topics are great and workflow, provided code, and challenges are very good. Everything can and will be used in real-world development of services.

Mladen Knežić

project author

Andres Sacco

Andres Sacco is a technical leader at Prisma. He has experience with many programming languages including Java, PHP, and Node.js. At his previous job, Andres helped find alternative ways to optimize data transfers between microservices, which reduced the cost of infrastructure by fifty-five percent. A co-author of Beginning Scala 3, published by Apress, Andres has also dictated internal courses about new technologies and shared his expertise in articles on Medium.

Prerequisites

This liveProject is for Java developers who are interested in learning commonly used microservice testing methods that provide valuable insight into the effect that changes are likely to have on your system. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Any Java IDE: Eclipse, IntelliJ IDEA, Visual Studio Code
  • Basic Maven
  • Basic Spring and Spring Boot
  • Basic Docker and Docker Compose
  • Basic Jenkins
TECHNIQUES
  • Basic Java
  • Basic Spring Boot
  • Basic Docker and Docker Compose commands
  • REST principles
  • Basic knowledge of microservices

you will learn

In this liveProject series, you’ll learn microservices testing methods and skills that help you understand the effects certain changes will have on your system.

  • Add dependencies and create basic tests to validate the architecture
  • Create custom tests to validate specific things
  • Externalize tests to a particular library to import into the different microservices
  • Split the execution of the test into unit tests
  • Add tests in one Jenkins pipeline
  • Create problems using tools like Chaos Monkey that have a set of different situations you can introduce
  • Create automatic problems to interact with Chaos Monkey using ChaosIQ
  • Use Dependency-Check to identify vulnerabilities
  • Analyze the impact of the changes in the request/response of any endpoint and how it can affect the rest of the microservices
  • Use Pact to define a contract that considers the request and the response in a microservice

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.