ISSN 1653-2090
ISBN 91-7295-089-7
Software is today used in more and different ways
than ever before. From refrigerators and cars to
space shuttles and smart cards. As such, most soft-
ware, usually need to adhere to a specifi cation, i.e.
to make sure that it does what is expected.
Normally, a software engineer goes through
a certain process to establish that the software
follows a given specifi cation. This process, verifi ca-
tion and validation (V & V), ensures that the soft-
ware conforms to its specifi cation and that the
customers ultimately receive what they ordered.
Software testing is one of the techniques to use
during V & V. To be able to use resources in a bet-
ter way, computers should be able to help out in
the “art of software testing” to a higher extent,
than is currently the case today. One of the is-
sues here is not to remove human beings from
the software testing process altogether—in many
ways software development is still an art form and
as such pose some problems for computers to
participate in—but instead let software engineers
focus on problems computers are evidently bad at
solving.
This dissertation presents research aimed at
examining, classifying and improving the concept
of automated software testing and is built upon
the assumption that software testing could be
automated to a higher extent. Throughout this
thesis an emphasis has been put on “real life” app-
lications and the testing of these applications.
One of the contributions in this dissertation is
the research aimed at uncovering different issues
with respect to automated software testing. The
research is performed through a series of case
studies and experiments which ultimately also
leads to another contribution—a model for ex-
pressing, clarifying and classifying software testing
and the automated aspects thereof. An additional
contribution in this thesis is the development
of framework desiderata which in turns acts as
a broad substratum for a framework for object
message pattern analysis of intermediate code re-
presentations.
The results, as presented in this dissertation,
shows how software testing can be improved, ex-
tended and better classifi ed with respect to auto-
mation aspects. The main contribution lays in the
investigation of, and the improvement in, issues
related to automated software testing.
ABSTRACT
2006:04
Blekinge Institute of Technology
Doctoral Dissertation Series No. 2006:04
School of Engineering
TOWARDS AUTOMATED SOFTWARE
TESTING
TECHNIQUES, CLASSIFICATIONS AND FRAMEWORKS
Richard Torkar
TOWARDS AUTOMATED SOFTWARE TESTING
Richard Torkar
2006:04
Towards Automated Software Testing
Techniques, Classifications and Frameworks
Richard Torkar
Towards Automated Software Testing
Techniques, Classifications and Frameworks
Richard Torkar
Blekinge Institute of Technology Doctoral Dissertation Series
No 2006:04
ISSN 1653-2090
ISBN 91-7295-089-7
Department of Systems and Software Engineering
School of Engineering
Blekinge Institute of Technology
SWEDEN
© 2006 Richard Torkar
Department of Systems and Software Engineering
School of Engineering
Publisher: Blekinge Institute of Technology
Printed by Kaserntryckeriet, Karlskrona, Sweden 2006
ISBN 91-7295-089-7
To my father
The most exciting phrase to hear in science, the one that heralds new
discoveries, is not “Eureka!” but rather, “Hmm. . . that’s funny. . . ”
Isaac Asimov (1920 - 1992)
v
vi
ABSTRACT
Software is today used in more and different ways than ever before. From refrigerators
and cars to space shuttles and smart cards. As such, most software, usually need to
adhere to a specification, i.e. to make sure that it does what is expected.
Normally, a software engineer goes through a certain process to establish that the
software follows a given specification. This process, verification and validation (V
& V), ensures that the software conforms to its specification and that the customers
ultimately receive what they ordered. Software testing is one of the techniques to use
during V & V. To be able to use resources in a better way, computers should be able
to help out in the “art of software testing” to a higher extent, than is currently the case
today. One of the issues here is not to remove human beings from the software testing
process altogether—in many ways software development is still an art form and as such
pose some problems for computers to participate in—but instead let software engineers
focus on problems computers are evidently bad at solving.
This dissertation presents research aimed at examining, classifying and improving
the concept of automated software testing and is built upon the assumption that soft-
ware testing could be automated to a higher extent. Throughout this thesis an emphasis
has been put on “real life” applications and the testing of these applications.
One of the contributions in this dissertation is the research aimed at uncovering
different issues with respect to automated software testing. The research is performed
through a series of case studies and experiments which ultimately also leads to an-
other contribution—a model for expressing, clarifying and classifying software testing
and the automated aspects thereof. An additional contribution in this thesis is the de-
velopment of framework desiderata which in turns acts as a broad substratum for a
framework for object message pattern analysis of intermediate code representations.
The results, as presented in this dissertation, shows how software testing can be
improved, extended and better classified with respect to automation aspects. The main
contribution lays in the investigation of, and the improvement in, issues related to au-
tomated software testing.
vii