Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m450:learningunits:lu01:testfall [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1 | modul:m450:learningunits:lu01:testfall [2024/11/07 11:12] (aktuell) – aprobst | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LU01c - Aufbau eines Testfalls ====== | ====== LU01c - Aufbau eines Testfalls ====== | ||
| + | <WRAP center round info 60%> | ||
| + | Testfälle sind detaillierte Beschreibungen, | ||
| + | Jeder Testfall beschreibt die Eingabedaten, | ||
| + | </ | ||
| - | ===== Einführung | + | |
| + | ===== Einleitung | ||
| Das Testen eines Programms ist ein wichtiger Teil der Qualitätssicherung bei der Softwareentwicklung. | Das Testen eines Programms ist ein wichtiger Teil der Qualitätssicherung bei der Softwareentwicklung. | ||
| Beim Testen wird das Programm mit genau definierten Eingaben bzw. Daten ausgeführt. | Beim Testen wird das Programm mit genau definierten Eingaben bzw. Daten ausgeführt. | ||
| - | Das Ziel ist es, möglichst viele Fehler zu finden. | + | Ziel ist es, möglichst viele Fehler zu finden. |
| + | Wichtig ist dabei nicht nur sogenannte Positiv-Tests durchzuführen, | ||
| - | Zu jedem Programm erstellen wir eine Reihe von Testfällen. | + | Für jedes Programm erstellen wir eine Reihe von Testfällen. |
| - | Mit diesen Testfällen wollen wir möglichst alle unterschiedlichen | + | Mit diesen Testfällen wollen wir möglichst alle verschiedenen |
| - | Wenn wir die Testfälle | + | Wenn wir die Testfälle |
| ===== Testfall ===== | ===== Testfall ===== | ||
| - | Ein Testfall | + | Ein Testfall |
| - | * welche Situation | + | * welche Situation |
| - | * mit welchen konkreten Daten getestet wird, | + | * mit welchen konkreten Daten wir testen |
| - | * welches | + | * welches |
| - | Zu einem Testfall | + | Die Daten gehören zu einem Testfall: |
| * Nr: Eine eindeutige Nummer hilft, den Testfall zu identifizieren. | * Nr: Eine eindeutige Nummer hilft, den Testfall zu identifizieren. | ||
| - | * Bezeichnung: | + | * Bezeichnung: |
| - | * Input: Mit welchen Eingaben bzw. Daten wird der Test ausgeführt. | + | * Eingabe: Mit welchen Eingaben bzw. Daten wird der Test durchgeführt. |
| - | * Erwartetes | + | * Erwartetes |
| - | ==== Darstellung | + | ==== Präsentation |
| Um den Aufbau der Testfälle zu demonstrieren, | Um den Aufbau der Testfälle zu demonstrieren, | ||
| Das Programm berechnet eine Seite eines rechtwinkligen Dreiecks. | Das Programm berechnet eine Seite eines rechtwinkligen Dreiecks. | ||
| * Der Benutzer gibt die Länge von 2 der 3 Seiten ein. | * Der Benutzer gibt die Länge von 2 der 3 Seiten ein. | ||
| - | * Für die dritte, unbekannte Seite gibt der Benutzer | + | * Für die dritte, unbekannte Seite gibt man -1 ein. |
| - | * Das Programm | + | * Das Programm |
| === Tabellarische Darstellung === | === Tabellarische Darstellung === | ||
| - | ^ Nr ^ Testfall ^ Input ^^^ Erwartetes | + | ^ Nr ^ Testfall ^ Eingabe |
| ^ ::: ^ ::: ^ Seite a ^ Seite b ^ Seite c ^ ::: ^ | ^ ::: ^ ::: ^ Seite a ^ Seite b ^ Seite c ^ ::: ^ | ||
| | 1 | Berechnung der Seite c | 3 | 4 | -1 | Seite c: 5 | | | 1 | Berechnung der Seite c | 3 | 4 | -1 | Seite c: 5 | | ||
| | 2 | Berechnung der Seite a | -1 | 4 | 5 | Seite a: 3 | | | 2 | Berechnung der Seite a | -1 | 4 | 5 | Seite a: 3 | | ||
| - | | 3 | Seitenlänge a ist 0 |0 | 15 | 7 | Eine der Seiten hat die Länge 0: Berechnung nicht möglich | | + | | 3 | Seitenlänge a ist 0 |0 | 15 | 7 | Eine der Seiten hat die Länge 0: Berechnung nicht möglich | 4 | Alle Seiten angegeben |
| - | | 4 | Alle Seiten angegeben | 3 | 4 | 5 | Alle drei Seiten | + | | 4 | Alle Seiten angegeben | 3 | 4 | 5 | Alle drei Seiten angegeben: Berechnung nicht möglich | |
| - | Jede Zeile enthält die Angaben zu einem Testfall. | + | Jede Zeile enthält die Daten eines Testfalls. |
| - | Diese Form ist sehr kompakt und für einfache Programme | + | Diese Form ist sehr kompakt und eignet sich gut für einfache Programme. |
| === Testfall einzeln darstellen === | === Testfall einzeln darstellen === | ||
| - | ^ Nr || 1 | | + | ^ Nr || 1 | |
| - | ^ Testfall | + | ^ Testfall || Berechnung Seite c | |
| - | ^ Input | + | ^ Eingabe |
| ^ ::: ^ Seite b | 4 | | ^ ::: ^ Seite b | 4 | | ||
| ^ ::: ^ Seite c | -1 | | ^ ::: ^ Seite c | -1 | | ||
| - | ^ Erwartetes | + | ^ Erwartetes |
| | ||| | | ||| | ||
| - | ^ Nr | + | ^ Nummer |
| - | ^ Testfall | + | ^ Testfall || Berechnung Seite a | |
| - | ^ Input | + | ^ Eingabe |
| ^ ::: ^ Seite b | 4 | | ^ ::: ^ Seite b | 4 | | ||
| ^ ::: ^ Seite c | 5 | | ^ ::: ^ Seite c | 5 | | ||
| - | ^ Erwartetes | + | ^ Erwartetes |
| | ||| | | ||| | ||
| - | ^ Nr | + | ^ Nummer |
| - | ^ Testfall | + | ^ Testfall || Seitenlänge a ist 0 | |
| - | ^ Input | + | ^ Eingabe |
| ^ ::: ^ Seite b | 15 | | ^ ::: ^ Seite b | 15 | | ||
| ^ ::: ^ Seite c | 7 | | ^ ::: ^ Seite c | 7 | | ||
| - | ^ Erwartetes | + | ^ Erwartetes |
| | ||| | | ||| | ||
| - | ^ Nr || 4 | | + | ^ Nr || 4 | |
| - | ^ Testfall | + | ^ Testfall || Alle Seiten |
| - | ^ Input | + | ^ Eingabe |
| ^ ::: ^ Seite b | 4 | | ^ ::: ^ Seite b | 4 | | ||
| ^ ::: ^ Seite c | 5 | | ^ ::: ^ Seite c | 5 | | ||
| - | ^ Erwartetes | + | ^ Erwartetes |
| - | Diese Form ist weniger kompakt und eher für Programme mit komplexem Input/Output geeignet. | + | Diese Form ist weniger kompakt und eignet sich eher für Programme mit komplexen Ein-/Ausgaben. |
| === Übung === | === Übung === | ||
| - | Im obigen | + | Das obige Beispiel |
| + | |||
| + | |||
| + | ==== Weitere Literatur ==== | ||
| + | [[https:// | ||
| ---- | ---- | ||
| {{tag> | {{tag> | ||
| [[https:// | [[https:// | ||