Performance Analysis of a Distributed Execution Environment for JUnit Test Cases on a Small Cluster

Performance Analysis of a Distributed Execution Environment for JUnit Test Cases on a Small Cluster

Eric Bower (ENSCO, Inc., USA), Tauhida Parveen (Independent Consultant, USA) and Scott Tilley (Florida Institute of Technology, USA)
DOI: 10.4018/978-1-4666-2536-5.ch005

Abstract

HadoopUnit is a software testing framework that integrates Hadoop and JUnit to facilitate the distribution of unit tests to the nodes of a cluster for concurrent execution. It was conceived of the need to reduce test execution time for large collections of tests and has been shown to successfully accomplish this in a medium-size cluster of 150 nodes. This work considers its effectiveness on a small cluster (4 nodes) to determine any inefficiency present in the system and attempts to overcome them with the purpose of increasing performance. It was found that naïve use of HadoopUnit on a small cluster was slower than the best times achieved on a single machine, but by properly configuring the number of tests executed by each Hadoop Map task, a 75% reduction in execution time was achieved. These results show that, on a small scale, the original implementation of HadoopUnit may not be the best solution, but with the addition of a new feature, a significant increase in performance can be achieved.
Chapter Preview
Top

Background

The following subsections provide background information on some of the fundamental topics related to this research. Included among them are software testing, JUnit, and Hadoop. These topics represent the core technologies and areas of study that were combined to advance the distributed test execution environment of HadoopUnit.

Complete Chapter List

Search this Book:
Reset