Navegación

Búsqueda

Búsqueda avanzada

Automatic Testing of Design Faults in MapReduce Applications

New processing models are being adopted in Big Data engineering to overcome the limitations of traditional technology. Among them, MapReduce stands out by allowing for the processing of large volumes of data over a distributed infrastructure that can change during runtime. The developer only designs the functionality of the program and its execution is managed by a distributed system. As a consequence, a program can behave differently at each execution because it is automatically adapted to the resources available at each moment. Therefore, when the program has a design fault, this could be revealed in some executions and masked in others. However, during testing, these faults are usually masked because the test infrastructure is stable, and they are only revealed in production because the environment is more aggressive with infrastructure failures, among other reasons. This paper proposes new testing techniques that aimed to detect these design faults by simulating different infrastructure configurations. The testing techniques generate a representative set of infrastructure configurations that as whole are more likely to reveal failures using random testing, and partition testing together with combinatorial testing. The techniques are automated by using a test execution engine called MRTest that is able to detect these faults using only the test input data, regardless of the expected output. Our empirical evaluation shows that MRTest can automatically detect these design faults within a reasonable time.

SLACT: a Test Case Generation Tool for Service Level Agreements

SLACT (SLA Combinatorial Testing) tool addresses the testing of Service Level Agreements (SLAs) in the context of applications developed under the Service Oriented Architectures paradigm. From the specification of the SLA, it automatically identifies a set of test requirements that are suitably combined in order to generate feasible and executable test cases. To perform the combinations, SLACT implements standard testing techniques such as the Classification Tree Method (CTM) and Combinatorial Testing.