Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Micro services are a wonderful thing! Until you try to test them in integration. Do you write a stub for each service? Point them to a test environment? Raise local instances for every dependency? I've tried all these approaches and they are all painful. Can't we can do better? Yes we can! On this talk we will discuss Consumer Driven Contracts, a better way to deal with integration tests in a micro services environment. Help us caption & translate this video! http://amara.org/v/F0ou/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "Micro Testing Pains," speaker Marcos Castilho addresses the complexities of testing within microservices architectures. He begins by discussing the challenges of the traditional monolithic approach, characterized by cumbersome codebases that are difficult to manage and test. Castilho highlights the advantages of microservices, including: - **Single Responsibility**: Each microservice is designed to handle a specific functionality, enabling better organization and team collaboration. - **Flexibility of Technology**: Different services can be built using various programming languages, allowing for innovation and adaptability. - **Separation of Workflows**: Teams can work on distinct services leading to improved focus and reduced contention among team members. However, he acknowledges that transitioning to microservices introduces challenges, particularly in behavioral testing and integration. He emphasizes the importance of effective testing practices to properly validate integration between services. Castilho explores several approaches to testing in microservice environments: - **Local Instances**: Running all required services locally, though this can be complex to manage. - **Shared Environments**: Utilizing a development or QA environment for testing, which can lead to inconsistent results due to flakiness in tests. - **Mocking/Stubbing**: Using stubs to simulate service behavior, but warns of the pitfalls of relying too much on unrealistic stubs. - **VCR Technique**: Capturing and replaying HTTP interactions, while noting that this can become complicated with numerous services. Castilho introduces the concept of **Consumer Driven Contracts (CDC)** as an effective strategy for enhancing testing in microservices. Under this framework: - The consumer defines their needs from the provider's services, creating a specific contract that clarifies expectations. - Both parties collaborate on the contract, ensuring clearer communication and alignment as services evolve. - This practice encourages teams to focus on the consumers' requirements, fostering better team collaboration. In conclusion, while microservices offer flexibility and enhanced organization, they come with significant testing challenges. Consumer Driven Contracts present a viable solution that can streamline integrations and improve collaboration between teams.
Suggest modifications
Cancel