Skip to main content
Kent Academic Repository

Model construction, evolution, and use in testing of software systems

Lamela Seijas, Pablo (2017) Model construction, evolution, and use in testing of software systems. Doctor of Philosophy (PhD) thesis, University of Kent,. (KAR id:69474)

PDF
Language: English
Download this file
(PDF/2MB)
[thumbnail of 261thesis.pdf]

Abstract

The ubiquity of software places emphasis on the need for techniques that allow us to ensure that software behaves as we expect it to behave. The most widely-used approach to ensuring software quality is unit testing, but this is arguably not a very efficient solution, since each test only checks that the software behaves as expected in one single scenario.

There exist more advanced techniques, like property-based testing, model-checking, and formal verification, but they usually rely on properties, models, and specifications. One source of friction faced by testers that want to use these advanced techniques is that they require the use of abstraction and, as humans, we tend to find it more difficult to think of abstract specifications than to think of concrete examples.

In this thesis, we study how to make it easier to create models that can be used for testing software. In particular, we research the creation of reusable models, ways of automating the generalisation of code and models, and ways of automating the generation of models from legacy unit tests and execution traces. As a result, we provide techniques for generating tests from state machine models, techniques for inferring parametrised state machines from code, and refactorings that automate the introduction of abstraction for property-based testing models and code in general. All these techniques are illustrated with concrete examples and with open-source implementations that are publicly available.

Item Type: Thesis (Doctor of Philosophy (PhD))
Thesis advisor: Thompson, Simon
Uncontrolled keywords: abstraction behaviour blue-fringe control data design DFA EFSM Erlang erlang-diff EUnit flow FSM generalisation generation inference James JUnit Parameter pattern PBT Property QSM QuickCheck refactoring regular Services template Test Web Wrangler
Subjects: Q Science
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
SWORD Depositor: System Moodle
Depositing User: System Moodle
Date Deposited: 09 Oct 2018 13:33 UTC
Last Modified: 09 Dec 2022 06:35 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/69474 (The current URI for this page, for reference purposes)

University of Kent Author Information

Lamela Seijas, Pablo.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.