A framework for observation-based modelling in model-based testing: Dissertation

Teemu Kanstren

Research output: ThesisDissertation

4 Citations (Scopus)

Abstract

In the context of software engineering, test automation as a field of research has been around for a very long time. Yet, testing and related concepts are still generally considered to be one of the most time-consuming and expensive parts of the software life cycle. Although it is a field with a relatively long research background, many existing test automation systems are still relatively simple and not very different from the early days. They still focus on executing an existing, usually manually crafted, set of tests over and over again. One approach that has also been around for a relatively long time but has only recently begun to attract considerable interest in the domain of software testing is model-based testing. In model-based testing, the system under test is represented by a model describing its expected behaviour at a higher abstraction level, and a set of chosen algorithms are used to generate tests from this model. Currently, these models need to be manually crafted from the specification. This thesis presents an approach for observation-based modelling in model-based testing and aims to provide automated assistance for model creation. This includes design and architectural solutions to support observation and testing of the system, analysis of different types of executions used as a basis for observations, and finally combines the different viewpoints to provide automated tool support to generate an initial test model, based on the captured observations, that is suitable for use in model-based testing. This model is then refined and verified against the specification. As the approach reverses the traditional model-based testing approach of going from specification to implementation, to going from implementation to specification, guidelines for its application are also presented. The research uses a constructive approach, in which a problem is identified, a construct to address the problem is designed and implemented, and finally the results are evaluated. The approach has been evaluated in the context of a practical system in which its application discovered several previously unknown bugs in the implementation of the system under test. Its effectiveness was also demonstrated by generating a highly complete model and showing how the completed model provides additional test coverage both in terms of code covered and injected faults discovered (test mutants killed).
Original languageEnglish
QualificationDoctor Degree
Awarding Institution
  • University of Oulu
Supervisors/Advisors
  • Tervonen, Ilkka, Supervisor, External person
Award date19 Feb 2010
Place of PublicationEspoo
Publisher
Print ISBNs978-951-38-7376-9
Electronic ISBNs978-951-38-7377-6
Publication statusPublished - 2010
MoE publication typeG5 Doctoral dissertation (article)

Fingerprint

Testing
Specifications
Automation
Software testing
Life cycle
Software engineering
Systems analysis

Keywords

  • model-based testing
  • test automation
  • observation-based modelling
  • test generation

Cite this

Kanstren, T. (2010). A framework for observation-based modelling in model-based testing: Dissertation. Espoo: VTT Technical Research Centre of Finland.
Kanstren, Teemu. / A framework for observation-based modelling in model-based testing : Dissertation. Espoo : VTT Technical Research Centre of Finland, 2010. 218 p.
@phdthesis{ec913262faae420d95e741d07424f1f8,
title = "A framework for observation-based modelling in model-based testing: Dissertation",
abstract = "In the context of software engineering, test automation as a field of research has been around for a very long time. Yet, testing and related concepts are still generally considered to be one of the most time-consuming and expensive parts of the software life cycle. Although it is a field with a relatively long research background, many existing test automation systems are still relatively simple and not very different from the early days. They still focus on executing an existing, usually manually crafted, set of tests over and over again. One approach that has also been around for a relatively long time but has only recently begun to attract considerable interest in the domain of software testing is model-based testing. In model-based testing, the system under test is represented by a model describing its expected behaviour at a higher abstraction level, and a set of chosen algorithms are used to generate tests from this model. Currently, these models need to be manually crafted from the specification. This thesis presents an approach for observation-based modelling in model-based testing and aims to provide automated assistance for model creation. This includes design and architectural solutions to support observation and testing of the system, analysis of different types of executions used as a basis for observations, and finally combines the different viewpoints to provide automated tool support to generate an initial test model, based on the captured observations, that is suitable for use in model-based testing. This model is then refined and verified against the specification. As the approach reverses the traditional model-based testing approach of going from specification to implementation, to going from implementation to specification, guidelines for its application are also presented. The research uses a constructive approach, in which a problem is identified, a construct to address the problem is designed and implemented, and finally the results are evaluated. The approach has been evaluated in the context of a practical system in which its application discovered several previously unknown bugs in the implementation of the system under test. Its effectiveness was also demonstrated by generating a highly complete model and showing how the completed model provides additional test coverage both in terms of code covered and injected faults discovered (test mutants killed).",
keywords = "model-based testing, test automation, observation-based modelling, test generation",
author = "Teemu Kanstren",
note = "Project code: 33451",
year = "2010",
language = "English",
isbn = "978-951-38-7376-9",
series = "VTT Publications",
publisher = "VTT Technical Research Centre of Finland",
number = "727",
address = "Finland",
school = "University of Oulu",

}

Kanstren, T 2010, 'A framework for observation-based modelling in model-based testing: Dissertation', Doctor Degree, University of Oulu, Espoo.

A framework for observation-based modelling in model-based testing : Dissertation. / Kanstren, Teemu.

Espoo : VTT Technical Research Centre of Finland, 2010. 218 p.

Research output: ThesisDissertation

TY - THES

T1 - A framework for observation-based modelling in model-based testing

T2 - Dissertation

AU - Kanstren, Teemu

N1 - Project code: 33451

PY - 2010

Y1 - 2010

N2 - In the context of software engineering, test automation as a field of research has been around for a very long time. Yet, testing and related concepts are still generally considered to be one of the most time-consuming and expensive parts of the software life cycle. Although it is a field with a relatively long research background, many existing test automation systems are still relatively simple and not very different from the early days. They still focus on executing an existing, usually manually crafted, set of tests over and over again. One approach that has also been around for a relatively long time but has only recently begun to attract considerable interest in the domain of software testing is model-based testing. In model-based testing, the system under test is represented by a model describing its expected behaviour at a higher abstraction level, and a set of chosen algorithms are used to generate tests from this model. Currently, these models need to be manually crafted from the specification. This thesis presents an approach for observation-based modelling in model-based testing and aims to provide automated assistance for model creation. This includes design and architectural solutions to support observation and testing of the system, analysis of different types of executions used as a basis for observations, and finally combines the different viewpoints to provide automated tool support to generate an initial test model, based on the captured observations, that is suitable for use in model-based testing. This model is then refined and verified against the specification. As the approach reverses the traditional model-based testing approach of going from specification to implementation, to going from implementation to specification, guidelines for its application are also presented. The research uses a constructive approach, in which a problem is identified, a construct to address the problem is designed and implemented, and finally the results are evaluated. The approach has been evaluated in the context of a practical system in which its application discovered several previously unknown bugs in the implementation of the system under test. Its effectiveness was also demonstrated by generating a highly complete model and showing how the completed model provides additional test coverage both in terms of code covered and injected faults discovered (test mutants killed).

AB - In the context of software engineering, test automation as a field of research has been around for a very long time. Yet, testing and related concepts are still generally considered to be one of the most time-consuming and expensive parts of the software life cycle. Although it is a field with a relatively long research background, many existing test automation systems are still relatively simple and not very different from the early days. They still focus on executing an existing, usually manually crafted, set of tests over and over again. One approach that has also been around for a relatively long time but has only recently begun to attract considerable interest in the domain of software testing is model-based testing. In model-based testing, the system under test is represented by a model describing its expected behaviour at a higher abstraction level, and a set of chosen algorithms are used to generate tests from this model. Currently, these models need to be manually crafted from the specification. This thesis presents an approach for observation-based modelling in model-based testing and aims to provide automated assistance for model creation. This includes design and architectural solutions to support observation and testing of the system, analysis of different types of executions used as a basis for observations, and finally combines the different viewpoints to provide automated tool support to generate an initial test model, based on the captured observations, that is suitable for use in model-based testing. This model is then refined and verified against the specification. As the approach reverses the traditional model-based testing approach of going from specification to implementation, to going from implementation to specification, guidelines for its application are also presented. The research uses a constructive approach, in which a problem is identified, a construct to address the problem is designed and implemented, and finally the results are evaluated. The approach has been evaluated in the context of a practical system in which its application discovered several previously unknown bugs in the implementation of the system under test. Its effectiveness was also demonstrated by generating a highly complete model and showing how the completed model provides additional test coverage both in terms of code covered and injected faults discovered (test mutants killed).

KW - model-based testing

KW - test automation

KW - observation-based modelling

KW - test generation

M3 - Dissertation

SN - 978-951-38-7376-9

T3 - VTT Publications

PB - VTT Technical Research Centre of Finland

CY - Espoo

ER -

Kanstren T. A framework for observation-based modelling in model-based testing: Dissertation. Espoo: VTT Technical Research Centre of Finland, 2010. 218 p.