| |
| MASTER THESIS |
Component Based Testing: Towards Continuous Integration in Software Engineering
|
| |
| PEOPLE |
Author: Andreas Schildbach
Supervisor: Dipl.-Inf. Univ. Oliver Creighton
Chair: Applied Software Engineering, Prof. Bernd Brügge, Ph.D.
|
| |
| ABSTRACT |
|
Part I
|
deals with the problem domain and the motivation for the research.
It provides the background for all following parts. Chapter 1
introduces the term reliability and how to control it.
Chapters 2-4
deal with the trinity static aspects of a component, dynamic aspects of a
component and the effect of change. The static aspects of a component are described
as an anatomy, consolidating everything from source to executable in one coherent picture.
The dynamic aspects are represented by dependencies between the anatomical parts of
components and versions.
An overview of related work in chapter 5 concludes
part I.
|
|
Part II
|
explains our approach to reaching the mission goal that was set in part I:
extending the software engineering process by an omnipresent phase for component-based
testing.
Part II also describes our adoption of the software engineering process.
As it goes through
six phases (chapters 8-13),
the problem statement is refined. In the
end, the final product is reached: testbench, a test harness framework for software
components. The framework is extendable in every aspect: languages, runtime systems and
actions can be added with little effort.
|
|
Part III
|
presents the products and insights that result from the application
of the methods described in part II. Chapter 14
explains the usage of testbench and chapter 15 talks about
a byproduct, an interpreter for the Object Constraint Language. The concept of a component
is extended in chapter 16 by examining not only the outer interface,
most commonly known as the public interface, but also what we call the inner interface,
which is all the methods the component depends on.
Chapter 17 concludes part III with a catalogue of
process patterns for the development of software.
|
|
Part IV
|
discusses the results that were presented in part III.
It weighs up pros and cons of constraint checking techniques (chapter 18).
Code instrumentation provides greater access to the component's features and external checking
is more flexible as the interface to the component can vary.
Chapter 19 makes clear that putting constraints into source
code is not a good idea.
Finally, future directions are given in chapter 20.
Enhancement ideas concern testbench, which could not only provide the test driver but
also the test stubs. It could also be of more use to integration and system testing if
it provided methods for enhanced control flow. The OCL interpreter and the process
pattern catalogue could be separated from this thesis and continued as projects of their own.
|
|
| |
| DOWNLOAD |
|
thesis as PDF document
|
|