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:// | ||
+ |