Automated Failure Injection and Testing across Microservices


6th August 2020
Speaker Date: 6th August 2020
Speaker Time: IST: 15:00-15:30
Attendee Date: 6th August 2020
Attendee Time: IST: 15:00-15:30 | SGT: 17:30-18:00 | AEST: 19:30-20:00
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 talk we share a light weight framework called AutoFIT that 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

3rd, September

Time
Java and the Semantic Web

Java has always been one of the languages and runtimes with the best support for Semantic Web standards. There have...

3rd, September

Time
Java Functional Programming Idioms

A number of developers and organizations are beginning to make use of Functional Programming in Java. With anything that's new,...

3rd, September

Time
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...

3rd, September

Time
Jakarta EE 9 and Beyond

Jakarta EE 9 is out! This is the second release of Jakarta EE since the transition from the Java Community...

3rd, September

Time
Thirst-quenching Streams for the Reactive Mind

With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and...

3rd, September

Time
Hands-on Cloud-native Java with MicroProfile, Kubernetes and Istio

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