Computer Science ETDs

Author

Lucille Frey

Publication Date

5-1-2014

Abstract

Large, complex programming projects are often constructed by developers at multiple institutions working with a variety of computer architectures and environments. For such projects a useful testing scheme must test all functionality in the software, be able to run on all relevant architectures, and provide an e cient way for all developers to view and interpret the test results. As a code project evolves, the test suite framework must be able to display new result parameters and be easily extended with additional tests including new types of tests. The complexity of current software projects has led to the development of many individualized test suite frameworks, each speci cally tailored to the tests and results which currently exist for that project. In this work, we show that a more generic, modular test suite framework simplifies the addition of new phases of testing, types of test results, and new ways to display results. Such a test suite framework also can be applied to multiple programming projects with minimal modi cations. Our case study was based on the MPI Testing Tool (MTT), which was created to provide a fully automated infrastructure to run regression and performance tests on the Open MPI code base. We have reconstructed MTT using the the principle of separation of concerns, reorganizing and rewriting the code base to allow changes to be more easily made and simplifying the connections between each part of the code. This restructuring was based around the database schema as the model, so that changes to this schema are automatically propagated through to both the test results submission process and the user interface which displays test results. We show that the modular structure of the reconstructed framework reduces the amount of code changes that must be completed to modify the test suite or display while also allowing the framework to be applied readily to new projects. We tested this version of MTT to ensure that it continues to provide the same functionality of previous versions and that new features can be added efficiently. We conducted a series of timing tests on our new code and to compare it to the previous version and con rmed that our modi cations did not a ect performance negatively. We have also applied the user interface code to a sample test suite to demonstrate its applicability to new projects.

Language

English

Keywords

Computer Science

Document Type

Thesis

Degree Name

Computer Science

Level of Degree

Masters

Department Name

Department of Computer Science

First Committee Member (Chair)

Arnold, Dorian

Second Committee Member

Bridges, Patrick

Third Committee Member

Squyres, Jeff

Project Sponsors

Los Alamos National Lab

Share

COinS