Test Automation Strategy & Failure Analysis in a Distributed Micro Services Architecture (with Zipkin & ELK)

For present day needs, it is pretty difficult to scale/maintain a system built in "monolithic" way. Micro-services, is an architectural style, a development style of building enterprise application comprising of small, independent, customer focused, scalable services. Docker & Kubernetes are kind of enablers for microservices architecture. At this juncture, test automation is a very important requirement for a successful, scalable microservices architectured applications.

How do you fasten the process of adding right test cases for microservice architectured applications & automating them? Anwser is, 1. invest less time on repeatable activities (like failed tests debugging & root cause analysis- these should be automated). 2. Get Continuous data which can result in adaptable actions which covers business value. In this talk, we will explore about strategies to test a distributed microservice architectured application by analyzing API flows using trace IDs and build test strategies based on the coverage & unexplored areas. We will effectively make use of both Selenium Logs & microservices logs to develop a coherence between them by time series approach, Trace IDs & span ids. This will identify if there are any automation failures corresponding functional issues via infrastructure/framework which we developed.

We will also talk about challenges faced to test, automate & maintain a high resilient test automation framework. We will look into tools & infrastructure(Zipkin, ELK etc) that are required to quickly test & certify a build and to achieve continuous intelligence in testing.


Outline/Structure of the Talk

  1. Introduction [1 Min]
  2. Why micro-services architecture are becoming popular?[2 mins]
  3. Complexity in automating & failure analysis of distributed micro-services architectured application[5 mins]
  4. Breaking down tests for microservices - Unit/Layered Integration/API/Contract testing/End-to-End.[5 mins]
  5. How to test MQ/Kafka integrations [10 mins]
  6. Configuring Zipkin/Elastic search to consume logs [8 mins]
  7. Failures' pattern analysis [2 mins]
  8. Strategies to get reliable results of analysis [5 mins]
  9. Dashboards for daily execution snapshot & accuracy [2 mins]
  10. Q & A [5 mins]

Learning Outcome

This talk will equip you with designing a test framework for distributed microservices architectured application. Attendees would be empowered to configure & benefit from Zipkin/ELK stack to separate flaky tests vs functional issues easily and fix them. Using examples explained in this session, you can build your own ecosystem for testing & failure analysis.

Target Audience

Dev, QA & DevOps

Prerequisites for Attendees

  1. Hands-on Experience in Test Automation(REST)
  2. Basic knowledge on Web/Application Server Logs
  3. Basic Knowledge on Micro Services
schedule Submitted 10 months ago

Public Feedback

    • Pratap Kumar Nallamothu

      Pratap Kumar Nallamothu / Nadella Raghuram Trilok - Executing UI tests in Parallel with 10 Threads

      20 Mins

      Most of the UI Test cases executed with web driver are single Thread. we can leverage parallel execution (TestNG) to reduce the Execution Time and Resources. This talk will discuss the Thread Safe parallel execution approach for UI tests with selenium web driver.