Zur Seitenansicht
 

Titelaufnahme

Titel
Automatische Testfallgenerierung aus kontrolliert natürlichsprachlichen Anforderungsspezifikationen für reaktive Echtzeitsysteme / Matthias Schnelte
AutorSchnelte, Matthias In der Gemeinsamen Normdatei der DNB nachschlagen
Erschienen2011
Umfang144 S. : graph. Darst.
HochschulschriftPaderborn, Univ., Diss., 2010
SpracheDeutsch
DokumenttypDissertation
URNurn:nbn:de:hbz:466-20110314031 Persistent Identifier (URN)
Dateien
Automatische Testfallgenerierung aus kontrolliert natürlichsprachlichen Anforderungsspezifikationen für reaktive Echtzeitsysteme [2.97 mb]
abstractdeutsch [48.07 kb]
abstractenglish [45.77 kb]
Links
Nachweis
Klassifikation

Deutsch

Ein großer Kostenfaktor im Softwareentwicklungsprozess ist das funktionale Testen der zu entwickelnden Software. Beim funktionalen Testen wird das zu testende System ausgeführt und stichprobenartig mit ausgewählten Eingaben stimuliert. Ziel des Testens ist es, zu überprüfen, ob das System sich so verhält, wie es laut vorher definierter Anforderungen gewünscht ist.

Während im Zusammenhang mit der Testdurchführung und Auswertung bereits ein sehr hoher Automatisierungsgrad erreicht wurde erfolgt die Spezifikation und Implementierung der Tests noch weitgehend manuell, basierend auf den Anforderungsdokumenten der Elektroniksysteme.

Ein Ansatz zur systematischen Testentwicklung mit hohem Automatisierungsgrad ist der Ansatz des modellbasierten Testens. Hierbei wird ausgehend von den informellen Anforderungen ein formales Modell des zu testenden Systems manuell erstellt. Anschließend werden durch einen Testfallgenerator automatisch Testfälle aus diesem Modell hergeleitet.

Die Problematik bei diesem Ansatz ist, dass die formalen Modelle mit Hilfe von formalen Sprachen erfasst werden und diese Notationen weit entfernt von den ursprünglichen, in natürlicher Sprache verfassten Anforderungen sind. Die Zielsetzung dieser Arbeit ist es daher, die Lücke zwischen den informellen, natürlichsprachlich verfassten Anforderungen und dem formalen Modell, das zur Testfallgenerierung dient, zu verkleinern.

Um dieses Ziel zu erreichen, wird eine kontrollierte natürliche Sprache entwickelt, um die Anforderungen formal zu erfassen. Diese Sprache ist eine eingeschränkte Version der englischen Sprache, die sich sich an bestehenden Anforderungsdokumenten aus der industriellen Praxis orientiert. Die Einschränkungen der Sprache sind so gewählt, dass die Semantik der Sprache eindeutig ist und automatisch in ein formales Modell übersetzt werden kann.

In einem weiteren Schritt werden automatisch Testfälle aus dem Modell hergeleitet, wobei hierfür Algorithmen aus dem Bereich der automatischen Handlungsplanung zum Einsatz kommt. Das entwickelte Verfahren ermöglicht es, Testfälle aus Anforderungen mit nicht-deterministischen Zeitverhalten zu generieren. Es wird gezeigt, dass die Menge der erzeugten Testfälle dem MC/DC Überdeckungskriterium genügt. Mit Hilfe von Fallstudien wird schließlich gezeigt, dass der gewählte Ansatz der Testfallgenerierung in der Lage ist, Anforderungsdokumente mit industriellem Umfang zu verarbeiten.

English

A major cost factor in the software developing process is the functional testing of the software. During functional testing, the system under test (SUT) is executed with input values that are chosen by a test designer. The aim of functional testing is to check if the SUT behaves according to the requirement specifications of the software.

While the execution of tests is already highly automated the developing of test cases is still done manually in most cases. One approach to automate the process of test case developing is the so called model-based testing. In model-based testing the test cases are automatically derived from an abstract formal model of the system under test.

The problem with that approach is that the models are described using a formal languages such as Timed Automata or the B-Method and that the use of such formal methods is not well accepted in the industry. In fact, most of the requirement specification are written in natural language. Therefore the informal requirements have to be manually transformed into the formal representation by the test designer.

The aim of this thesis is to narrow the gap between the requirements written in natural language and model-based testing. To do so a controlled natural language is presented. The language is a restricted version of English and orients itself on existing requirement specifications. The restrictions are carried out in a way such that the language is unambiguous and can be automatically translated into a formal model.

In the next step test cases are automatically generated from the formal model by using methods from the area of AI planning. The developed technique is able to handle requirement specifications that describe non-deterministic timing behavior. It is shown, that the generated test cases fulfill the MC/DC coverage criterion. Finally, case studies show, that the chosen method is able to handle requirement specifications from industrial practice.