Title: Using Model-based Testing for Creating Behaviour-Driven Tests
Language: English
Authors: Schneider, Simon 
Qualification level: Diploma
Advisor: Kappel, Gertrude 
Issue Date: 2021
Number of Pages: 102
Qualification level: Diploma
Abstract: 
Behaviour Driven Development (BDD) ist eine Strategie in agilen Entwicklerteams um eine Systembeschreibung in natürlicher Sprache zu verfassen. Das Verhalten wird dabei in einer domänenspezifischen Sprache mit einer vorgegebenen Struktur beschrieben: "Gegeben ist eine Vorbedingung; Wenn eine Aktion stattfindet; Dann wird eine Ausgabe produziert". Dieser Ansatz fördert die Kommunikation und kann gleichzeitig zur Steuerung automatisierter Tests verwendet werden. Der Ansatz funktioniert in der Praxis gut, ist aber informell und kann zu langatmigen Beschreibungen führen, die das Risiko bergen, Teile des Systems nicht vollständig zu spezifizieren.Modellbasiertes Testen (MBT) ist hingegen ein strukturierter Ansatz zur automatischen Generierung von Testfällen. Durch den Einsatz von Modellen eignet er sich hervorragend zur Beschreibung komplexer Strukturen. Selbst einfache grafische Zustandsdiagramme können intuitiv ausdrücken, was viele Seiten textuelle Beschreibung nicht vermögen. Modelle sind durch ihren Abstraktionsgrad flexibel und ermöglichen das einfache Neugenerieren der Testfälle, wenn sich die Spezifikation verändert.Diese Diplomarbeit präsentiert einen Ansatz, der BDD und MBT mittels Zustandsdiagrammen kombiniert und so eine automatische Generierung von BDD-Testfällen ermöglicht. Mit einem Prototypen wird gezeigt, wie die BDD-Spezifikation aus Modellen generiert werden kann. Eine Fallstudie, die einen kommerziellen Voice over IP (VoIP) Gateway untersucht, zeigt vielversprechende Resultate: Die generierten Testfälle konnten die Funktionalität des Systems gut abdecken und der benötigte Aufwand war vergleichbar oder geringer als die Erstellung ähnlicher manueller Tests. Eine Umfrage unter BDD-Experten ergab, dass die Benutzer zwar sehr wohl automatisch generierte BDD-Testfälle zu erkennen vermochten, in einigen Fällen diese aber gegenüber manuell geschriebenen Tests bevorzugten.

Behaviour-driven development (BDD) is a strategy to describe a system’s specification using a business domain language: “Given a precondition; “When” some action is performed; “Then” an outcome is achieved'' (GWT). This style improves the communication between the involved parties and the resulting specification can be leveraged to drive automated tests. While this approach works well in practice, it suffers from some disadvantages: It is informal and verbose, thus bearing the risk of failing to specify all parts of a system.Model-based testing (MBT) is a structured approach for automatically generating test cases. It is well-suited for describing complex interactions and cross-linked code paths using models. Even basic graphical state machines can define what takes many pages to write down in natural language. Models describe a system on a higher level of abstraction and allow to quickly recreate test cases in the event that the behaviour of the system changes or gets extended.This thesis presents a testing approach that combines BDD with MBT based on state machine models to automate the process of writing BDD tests. A prototype generating BDD tests from graphical state machine models has been developed and evaluated in a case study with promising results: The generated test cases covered the functionality of the tested system, and the effort to create them was comparable to writing similar test cases by hand. A survey among practitioners showed that while users were able to identify automatically generated BDD tests, in some instances, they preferred them over manually written ones.
Keywords: behaviour-driven development; model-based testing; behaviour-driven testing
URI: https://doi.org/10.34726/hss.2021.76845
http://hdl.handle.net/20.500.12708/17251
DOI: 10.34726/hss.2021.76845
Library ID: AC16189527
Organisation: E194 - Institut für Information Systems Engineering 
Publication Type: Thesis
Hochschulschrift
Appears in Collections:Thesis

Files in this item:

Show full item record

Page view(s)

8
checked on May 5, 2021

Download(s)

24
checked on May 5, 2021

Google ScholarTM

Check


Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.