Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m450:learningunits:lu01:grundlagen [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1 | modul:m450:learningunits:lu01:grundlagen [2024/10/29 12:49] (aktuell) – msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LU01a - Grundlagen des Testens ====== | ====== LU01a - Grundlagen des Testens ====== | ||
| - | ===== Einführung | + | ===== Einleitung |
| - | //Testen ist das Ausführen eines Programmes | + | <WRAP center round info 60%> |
| + | Testen ist das Ausführen eines Programms | ||
| + | </WRAP> | ||
| - | Das Testen ist ein Teil der Qualitätssicherung | + | |
| + | Testen ist ein Teil der Qualitätssicherung | ||
| Beim Testen suchen wir gezielt nach Fehlern in einem Programm. | Beim Testen suchen wir gezielt nach Fehlern in einem Programm. | ||
| Beim Testen geht es nicht darum, zu beweisen, dass ein Programm fehlerfrei ist. | Beim Testen geht es nicht darum, zu beweisen, dass ein Programm fehlerfrei ist. | ||
| - | Dies ist einerseits | + | Das ist zum einen fast unmöglich und zum anderen |
| - | ==== Vorgehen | + | ==== Vorgehensweise |
| - | Manche Programmierer haben komische | + | Manche Programmierer haben seltsame |
| - | Sie geben irgendwelche Daten ein und gucken mal was passiert. | + | Sie geben irgendwelche Daten ein und schauen, |
| - | <WRAP center round info 60%> | + | <WRAP center round box 60%> |
| - | Ihr Motto lautet: Schiesse | + | Ihr Motto ist: Schiess |
| </ | </ | ||
| - | Beim Testen wird zunächst festgelegt, was wir prüfen wollen. | ||
| - | Dabei halten Sie fest, welches Ergebnis Sie erwarten bzw. wie das Programm reagieren soll. | ||
| - | Wir bezeichnen dies als Testfall. | ||
| - | >> Zum Beispiel möchten Sie prüfen, wie das Programm reagiert, wenn Sie eine negative Menge angeben. | ||
| - | >> Im Testfall legen Sie fest, dass Sie im Feld " | ||
| - | >> Sie erwarten, dass das Programm eine Fehlermeldung "Menge muss grösser als 0 sein" ausgibt. | ||
| - | Nachdem Sie einige Testfälle beschrieben haben, führen Sie diese Testfälle | + | Beim Testen legen wir zunächst fest, was wir testen wollen. |
| - | Dabei halten | + | Man schreibt auf, welches Ergebnis man erwartet oder wie das Programm reagieren soll. |
| + | Das nennen wir Testfall. | ||
| + | |||
| + | >> Sie wollen zum Beispiel testen, wie das Programm reagiert, wenn Sie eine negative Menge eingeben. | ||
| + | >> Im Testfall legen Sie fest, dass Sie im Feld " | ||
| + | >> Sie erwarten, dass das Programm die Fehlermeldung "Menge muss grösser als 0 sein" ausgibt. | ||
| + | |||
| + | Nachdem Sie einige Testfälle beschrieben haben, führen Sie diese Testfälle | ||
| + | Dabei notieren | ||
| Indem Sie die erwartete Reaktion (SOLL) mit der tatsächlichen Reaktion (IST) vergleichen, | Indem Sie die erwartete Reaktion (SOLL) mit der tatsächlichen Reaktion (IST) vergleichen, | ||
| können Sie beurteilen, ob das Programm korrekt funktioniert. | können Sie beurteilen, ob das Programm korrekt funktioniert. | ||
| Zeile 32: | Zeile 37: | ||
| <WRAP center round info 60%> | <WRAP center round info 60%> | ||
| - | Beim Testen | + | Beim Testen |
| - | * sei hart und unerbittlich zum Programm: Deine Aufgabe ist es, möglichst | + | * Sei hart und unerbittlich zum Programm: Deine Aufgabe ist es, so viele Fehler |
| - | * sei nett zum Programmierer: | + | * Sei nett zum Programmierer: |
| </ | </ | ||
| - | Viele Programmierer fühlen sich angegriffen, | + | Viele Programmierer fühlen sich angegriffen, |
| - | Daher muss ein Tester | + | Deshalb |
| - | * Zeige die Abweichungen zwischen erwartetem und tatsächlichem | + | * Abweichungen zwischen erwartetem und tatsächlichem |
| - | * Vermeide | + | * Vorschläge |
| - | Hier sehen Sie ein gutes und ein schlechtes Beispiel, wie ein Fehler im Testprotokoll | + | Hier ein gutes und ein schlechtes Beispiel, wie ein Fehler im Testprotokoll |
| - | * Gut: Anzahl | + | * Gut: Zahl = 0 führt zu einem Absturz. |
| - | * Schlecht: Die Bedingung | + | * Schlecht: Die Bedingung |
| ===== Definitionen ===== | ===== Definitionen ===== | ||
| === Testen ist ... === | === Testen ist ... === | ||
| - | ... das gezielte | + | ... die gezielte |
| <WRAP center round info 60%> | <WRAP center round info 60%> | ||
| - | Keine Software der Welt ist komplett Bugfrei, es gibt nur Software | + | Keine Software der Welt ist völlig frei von Fehlern, es gibt nur Software, deren Fehler |
| Beim Testen geht es nicht darum, zu beweisen, dass ein Programm fehlerfrei ist. | Beim Testen geht es nicht darum, zu beweisen, dass ein Programm fehlerfrei ist. | ||
| - | Dies ist einerseits | + | Das ist zum einen unmöglich und zum anderen |
| - | > Testen ist das Ausführen eines Programmes | + | > Testen ist das Ausführen eines Programms |
| === Testfall === | === Testfall === | ||
| Ein Testfall beschreibt die Daten, mit denen ein Test durchgeführt wird. | Ein Testfall beschreibt die Daten, mit denen ein Test durchgeführt wird. | ||
| - | Um ein Programm zu testen, | + | Um ein Programm zu testen, |
| === Testprotokoll === | === Testprotokoll === | ||
| - | Immer wenn sie eine Serie von Testfällen | + | Jedes Mal, wenn sie eine Reihe von Testfällen |
| - | Dieses enthält | + | Dieses enthält |
| - | === Blackbox-Tests === | + | === Blackbox-Test === |
| - | Bei einem Blackbox-Test werden Testfälle | + | Bei einem Blackbox-Test werden |
| - | Der Aufbau | + | Die Struktur |
| - | Das Programm wird als Blackbox betrachtet, die auf einen bestimmten | + | Das Programm wird als Blackbox betrachtet, die bei einer bestimmten |
| - | Als Basis für die Testfälle dienen | + | Als Grundlage |
| - | * Spezifikation der Applikation | + | * Spezifikation der Anwendung |
| * Zustandsdiagramme | * Zustandsdiagramme | ||
| === Glassbox-Tests === | === Glassbox-Tests === | ||
| - | Bei einem Glassbox-Test (auch Whitebox-Test genannt) werden die Testfälle | + | Bei einem Glassbox-Test (auch Whitebox-Test genannt) werden die Testfälle |
| - | Das Ziel solcher Tests ist, dass möglichst jeder Befehl und jede Bedingung einmal ausgeführt wird. | + | Ziel solcher Tests ist es, dass möglichst jeder Befehl und jede Bedingung einmal ausgeführt wird. |
| - | Solche Testfälle | + | Solche Testfälle |
| Zeile 85: | Zeile 90: | ||
| {{: | {{: | ||
| - | - In der Analyse werden die Anforderungen an das Programm ermittelt. Diese Anforderungen dienen als Grundlage | + | - In der Analyse werden die Anforderungen an das Programm ermittelt. Diese Anforderungen dienen als Grundlage |
| - | - Nachdem der Programmierer den Sourcecode | + | - Nachdem der Programmierer den Quellcode |
| - | - Dazu benötigt der Tester die schon früher | + | - Dazu benötigt der Tester die zuvor erstellten Testfälle. Beim Testen |
| - | - Ein Testdurchlauf | + | - Bei einem Testdurchlauf |
| - | - Sind alle Testfälle | + | - Wenn alle Testfälle |
| - | * das Programm muss noch einmal | + | * das Programm muss überarbeitet werden |
| * das Programm ist in Ordnung | * das Programm ist in Ordnung | ||
| - | - Muss das Programm überarbeitet werden, | + | - Wenn das Programm überarbeitet werden |
| Zeile 98: | Zeile 103: | ||
| {{https:// | {{https:// | ||
| - | Die Grafik zeigt die Dokumente und Verfahrensschritte laut [[wpde> | + | Die Grafik zeigt die Dokumente und Prozessschritte nach [[wpde> |
| ---- | ---- | ||
| {{tag> | {{tag> | ||
| [[https:// | [[https:// | ||
| + | |||