Automated Failure Injection and Testing across Microservices

Duration: 25 mins
Rajat Khare
Software Architect, Intuit

How do you test your failure scenarios explicitly across Service APIs?. How can you take control of writing Automated Integration tests that simulate failure cases and test your resiliency and fallbacks?

As we design and build micro services exposing APIs, it becomes very critical to think of all the failure points that can happen and how they will manifest on the response. Its also important that as we plan automated Integration Testing on the APIs that run in CI/CD pipelines to be able to represent both success and failure test cases. Existing approaches to do so have been hard and usually need the whole environment in a failure more to be able to simulate or mock error cases from downstream dependencies.

In this session, Rajat will introduce AutoFIT, a light-weight framework he co-authored with his colleague Arun Lingala, which helps introduce failures using an expression in request header. The framework when consumed in the Service can intercept the expression and simulate a downstream dependency to return a desired error instead and help the code path enter the failure mode. This gives complete control on simulating a desired error for a request without putting the entire system in a failure mode.

You may also be interested in

25 mins
Securing the Connected World – Detangling Encryption and Decryption

Privacy and security of the data will always be a top priority for any organization, more so in a connected...

25 mins
Quarkus - What, Why and How?

"In a new cloud-native, serverless world, Java’s slow startups and high memory consumption meant new developers weren't willing to...

180 mins
Hands-on Cloud-native Java with MicroProfile, Kubernetes and OpenShift

Ever wondered what makes a cloud-native application “cloud-native”? Ever wondered what the unique challenges are and how best to address...

50 mins
Rabbit MQ vs Kafka: When, Which, Where?

Rabbit MQ and Kafka are both considered to be the Go-To frameworks for data transmission (messaging). Many developers place them...

50 mins
Exploring Collectors: One of the Most Powerful Utility Class in the JDK

One of the most intriguing classes in the JDK is the Collectors utility class, with a collection of some highly...

50 mins
Java Testing Skills with JUnit 5, Mockito 3, and More

The fundamental testing libraries in Java have undergone complete redesigns in the past few years. JUnit 5 redesigns the most...