Testen ist die Grundlage, um qualitativ hochwertige Software zu erstellen. Obwohl das Testen im Softwareentwicklungsprozess einen hohen Stellenwert einnehmen sollte, wird es dennoch oft vernachlässigt. Vermutlich ein Grund dafür, dass Testen mit hohem Arbeitsaufwand verbunden ist und hauptsächlich per Hand durchgeführt werden muss.
In dieser Arbeit wird eine systematische Methode zur automatischen Testfallgenerierung für den Black-Box-Test vorgestellt. Das für die Umsetzung der Methode implementierte Werkzeug verknüpft Unit-Tests mit Äquivalenzklassen- und Grenzwertanalyse. Durch den Gebrauch von Quelltext-Vorlagen ist das Programm völlig unabhängig vom eingesetzten Unit-Testing-Framework und der verwendeten Programmiersprache. Darüber hinaus können die Testfälle auch als textuelle Beschreibung viel abstrakter formuliert werden.
Zur Einführung in die Thematik des Testens wird zuerst der Begriff Qualität definiert. Darauf aufbauend werden Prozessmodelle zur Softwareentwicklung vorgestellt und gezeigt wie sie Einfluss auf die Softwarequalität nehmen. Ein Überblick über Testen im Allgemeinen und Testverfahren im Besonderen ermöglichen die Einordnung der vorgestellten Testmethoden in einem breiteren Kontext. Im Anschluss daran werden die im Werkzeug umgesetzten Testmethoden ausführlich beschrieben. Das Benutzerhandbuch und ausgewählte Problemstellungen der Implementierung ermöglichen einen tieferen Einblick in das Werkzeug selbst. Ein Ausblick auf mögliche Verbesserungen und Weiterentwicklungen runden diese Arbeit ab.
Inhaltsverzeichnis
- Einleitung
- Grundlagen
- Qualität
- Produktqualität
- Prozessqualität
- Prozessmodelle
- Testen
- Testverfahren
- Statische Verfahren
- Dynamische Verfahren
- Testverfahren
- Qualität
- Im Werkzeug umgesetzte Testverfahren
- Äquivalenzklassenanalyse
- Bestimmen der Äquivalenzklassen
- Definition der Testfälle
- Beispiel
- Category-Partition Methode
- Unabhängige Partitionen
- Abhängige Partitionen
- Beispiel
- Grenzwertanalyse
- Unit-Tests
- Äquivalenzklassenanalyse
- Benutzerhandbuch
- Einführung in TestIt
- Installation
- Systemvoraussetzungen
- Funktionsweise
- Erzeugen der Testdaten
- Erzeugen des Testablaufs
- Benutzeroberfläche
- Menü- und Symbolleiste
- Statusleiste
- Standardschaltflächen für Dialoge
- Datei-Dialog
- Klassenansicht
- Mitteilungen-Fenster
- Ausgabe-Fenster
- Eigenschaften-Fenster
- Auflistungs-Editor
- Bedingungen-Editor
- Quelltext-Editor
- Navigator
- Verwenden von TestIt
- Erstellen der Metainformationen
- Programm-Einstellungen
- Quelltext-Vorlagen erstellen
- Testfälle vervollständigen
- Ausführen der Tests
- Beispiele
- Tipps und Tricks
- Erstellen der Metainformationen
- Erweitern von TestIt
- Erstellen von Plugins
- Referenz
- Fehlermeldungen
- Quelltext-Marken
- Tastenkürzel
- Einführung in TestIt
- Implementierung von TestIt
- Model-View-Controller
- Datenmodell
- PropertyGrid
- Kulturinformationen
- Laufzeit-Typinformationen
- Persistenz
- Testspezifikation
- Testfallerzeugung
- Plattformunabhängigkeit
- Projekte
- AssemblyParser
- ComponentModel
- Controls
- MetaInfo
- SharpParser
- TestIt
- TestSpecParser
- Util
- Laufzeitstatistik
- Ähnliche Projekte
- Condition-Table-Methode
- Cause-Effect-Graphing
- Revealing Subdomains
- Partition Analysis
- Ausblick
- Verbesserung der Bedienung
- Weiterentwicklung
- Testing by Contract
- Object Constraint Language
- Zusammenfassung
Zielsetzung und Themenschwerpunkte
Diese Arbeit befasst sich mit der systematischen Testfallgenerierung für den Black-Box-Test. Ziel ist es, eine Methode zu entwickeln, die die automatische Generierung von Testfällen ermöglicht und dabei die Vorteile von Unit-Tests, Äquivalenzklassenanalyse und Grenzwertanalyse kombiniert. Das entwickelte Werkzeug soll unabhängig von spezifischen Unit-Testing-Frameworks und Programmiersprachen sein und die Testfälle in einer abstrakten Formulierung ermöglichen.
- Definition von Qualität in der Softwareentwicklung
- Einfluss von Prozessmodellen auf die Softwarequalität
- Testmethoden im Black-Box-Test
- Implementation eines Werkzeugs zur automatischen Testfallgenerierung
- Verbesserungs- und Weiterentwicklungsmöglichkeiten des Werkzeugs
Zusammenfassung der Kapitel
Das erste Kapitel bietet eine Einleitung und erläutert die Motivation der Arbeit. Es wird der Stellenwert von Testen in der Softwareentwicklung hervorgehoben und die Notwendigkeit einer systematischen Testfallgenerierung diskutiert. Das zweite Kapitel legt die Grundlagen für die Arbeit. Es definiert den Begriff Qualität in der Softwareentwicklung und beleuchtet die Bedeutung von Prozessmodellen. Des Weiteren werden verschiedene Testverfahren im Black-Box-Test vorgestellt und in einen breiteren Kontext eingeordnet. Kapitel drei beschreibt die im Werkzeug umgesetzten Testmethoden, darunter die Äquivalenzklassenanalyse, die Category-Partition Methode und die Grenzwertanalyse. In Kapitel vier wird das Benutzerhandbuch des entwickelten Werkzeugs vorgestellt. Es werden die Installation, Systemvoraussetzungen, Funktionsweise, Benutzeroberfläche und die Verwendung des Werkzeugs erklärt. Kapitel fünf befasst sich mit der Implementierung des Werkzeugs. Es wird die Architektur, die verwendeten Datenmodelle und die Plattformunabhängigkeit des Werkzeugs erläutert. In Kapitel sechs werden ähnliche Projekte vorgestellt, die sich mit der Testfallgenerierung beschäftigen. Schließlich werden in Kapitel sieben mögliche Verbesserungen und Weiterentwicklungen des Werkzeugs diskutiert.
Schlüsselwörter
Softwarequalität, Testen, Black-Box-Test, Testfallgenerierung, Äquivalenzklassenanalyse, Grenzwertanalyse, Unit-Tests, TestIt, Model-View-Controller, Plattformunabhängigkeit.
- Arbeit zitieren
- Thomas Wetzlmaier (Autor:in), 2005, Systematische Testfallgenerierung für den Black-Box-Test, München, GRIN Verlag, https://www.grin.com/document/42067