Test suite development using a structured framework

Hastings, Nelson
Major Professor
James A. Davis
Doug W. Jacobson
Committee Member
Journal Title
Journal ISSN
Volume Title
Research Projects
Organizational Units
Journal Issue
Electrical and Computer Engineering

The rationale for conducting any type of testing is ultimately to draw reasonable conclusions about the subject based on the results of the test or tests performed. Given a new piece of software, a software engineer may wish to determine the software's ability to handle inputs outside its specified domain, the software's performance on a given computing platform, or the software's ability to interact with other similar pieces of software. The testing performed by software engineers and analysis of the test results is the general area known as software testing;In this thesis, a newly proposed structured framework for test suite development is introduced to capture the interaction between the applications being tested, to investigate the use of an application's invalid input space for the generation of test cases, and to explore the notation that test suites can be expressed on two levels, abstractly and concretely via instantiation. In addition, the proposed structured framework is applied to the Minimum Interoperability Specification for Public Key Infrastructure (PKI) Components (MISPC) standard for the development of an abstract test suite. A part of the abstract test suite was instantiated, or implemented, and executed against a reference implementation of an MISPC specified Certificate Authority (CA) to explore the proposed structured frameworks capabilities. The result of this thesis demonstrate the limitation of structured test suite development frameworks that do not utilize an application's invalid input space for test case generation and the benefits of being able to express test suites at both abstract and concrete levels. In addition, the instantiated test suite revealed the MISPC CA reference implementation could not process a few valid MISPC messages and generated some invalid MISPC messages of its own.