What Happened

Select a session to learn more about it.

  • Roman Segador
  • How to Solve Integration Issues with Contract Testing
    Roman Segador
    99 Minute Workshop

    How to Solve Integration Issues with Contract Testing

    What

    99 Minute Workshop

    Description

    Nowadays, with a proper testing strategy, following the basics of the testing pyramid, most of our products are properly tested in isolation. Often, the problems arrive when dependant products are evolved in parallel and the interface of one of them changes, breaking the integration between them. In the world of microservices, these failures can be a real bottleneck if we don´t efficiently prevent them.

    The concept of Contract Testing was created to help us to mitigate communication errors between products, allowing us to test the integration without the need for a real environment.

    In this workshop, we will see what Consumer-Driven Development is, its benefits, and how Contract Testing allows us to follow it.

    With all that said, contract testing flow is not trivial. With the support of some activities, we will review the actors involved in contract testing and how the flow is to successfully include contracts in your projects.

    Takeaways

    • Understand how contract testing mitigates integration issues
    • Describe the benefits of Consumer-Driven Development
    • Explain the flow of contract testing and how it fits in the SDLC

    Prerequisites

    Knowledge requirements

    • Basic understanding of RESTful APIs.
    • Basic understanding of the Testing Pyramid.
    • Basic knowledge of Java 8+ or Javascript/Typescript (to follow the final demo).
    Software requirements (if you want to participate in the final demo)
    • Java 8+ and Maven or NodeJS with NPM/Yarn.
    • A modern IDE like IntelliJ or Visual Studio Code.
    Code Repositories
    • Books Service: (Java8) Clone it and run the command "mvn dependency:resolve" to download the dependencies in advance
    • Testers Service: (Java8) Clone it and run the command "mvn dependency:resolve" to download the dependencies in advance.
    • Web-app: (Typescript/Angular) Clone it and run the command "npm install" to download the dependencies in advance.
    • Infrastructure: (No need for the workshop), you will find the presentation slides + some useful docker compose files if you want to play after the workshop with all the infrastructure elements needed.

    Speaker

    Roman Segador
    Roman Segador
    Engineering Manager - QA
    Working in quality for more than 10 years, currently as Engineering Manager and QA at Packlink. I believe in Modern Testing Principles and I try to apply them on the teams I work with. Quality is more than Testing and it is a team responsibility! A testing strategy starts with Unit Tests!

    Frequently Asked Questions

    Are the Workshops Recorded?

    Our 99-minute workshpos are designed to be attended live. If you can’t make the scheduled time, it will stay available to replay in CrowdCast for 7 days. To get the most out of them, we highly recommend you attend them live.