Unified & Distributed Test Infrastructure at Scale (Hortonworks Data Platform Testing)
Submitted by Shankar Hiremath (@shankarhiremath) on Sunday, 24 April 2016
Extensive software testing is required before the actual release to ensure the software quality and the software has to perform equally well in every platform and combination of configurations.
When it comes to a data platform, the testing is even more complicated due to variety of clusters, storage layers, operating systems, JDK versions, data base flavors, execution engine, security config, combination of component configurations and many more… and each component in a data platform will have their own test framework for test case execution.
In order to handle this we came up with a unified & distributed test infrastructure. Unified by isolating the test infra specifications & test configs from the test infrastructure implementation. And distributed the clusters, components & test suites workload to achieve parallelism & get a quick feedback on the release.
1) E2E view of Unified & Distributed Test Infrastructure at scale
2) Configuration Management & Scheduling for systematic release testing
3) Test Infrastructure Setup Unit for provision a cluster & make it ready to start test script execution
4) Generic Test Execution Engine Architecture to handle multiple underlying component specific test frameworks
5) Live Status Update on Dashboard for test infra and test execution process upadte
6) Log collection and Log search - framework for test failure analysis at scale
7) Results/Experience Sharing
Shankar Hiremath has around 10 years of experience in software testing & framework development. He is currently a Senior SDET at Hortonworks Data Platform, his current role involves development of test infrastructure & adding new capabilities to handle the Hortonworks data platform testing at scale.