Testverfahren für Software – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #94
Einige häufige Fragen im Fachgespräch rund um das Thema
Softwaretest sind Inhalt der vierundneunzigsten Episode des
Anwendungsentwickler-Podcasts. Inhalt Wie lassen sich Testverfahren
klassifizieren? Was wird getestet? Komponente,
39 Minuten
Podcast
Podcaster
Beschreibung
vor 8 Jahren
Einige häufige Fragen im Fachgespräch rund um das Thema
Softwaretest sind Inhalt der vierundneunzigsten Episode des
Anwendungsentwickler-Podcasts.
Inhalt
Wie lassen sich Testverfahren
klassifizieren?
Was wird getestet?
Komponente, Integration mehrerer Komponenten oder das
ganze System.
Funktionale oder nicht-funktionale Anforderungen.
Wie werden sie durchgeführt?
Durch den Menschen (manuell) oder eine Maschine
(automatisch).
Wer führt sie durch?
Entwickler oder Fachbereich.
Welche Kenntnisse sind für die Erzeugung
von Testfällen nötig?
Nur das nach außen sichtbare Verhalten (Black-Box)
oder auch der Sourcecode (White-Box).
Wann werden die Tests erstellt?
Test first vs. test last.
Alpha-/Beta-Test.
Wird die Software für den Test
ausgeführt (dynamisch) oder nicht
(statisch)?
Welches Ziel verfolgen die Tests?
Z.B. Regression verhindern, Last simulieren.
Was ist der Unterschied zwischen Black- und
White-Box-Test?
Bei Black-Box-Tests kennt der Tester nicht die interne
Struktur der Software, sondern sieht nur das nach außen
sichtbare Verhalten. Beim White-Box-Test wird der Sourcecode
mit einbezogen, um z.B. bestimmte Testfälle zu definieren.
Was sind Anweisungs-, Zweig- und
Pfadüberdeckung?
Alle sind Maße für die Testabdeckung des Codes.
Bei der Anweisungsüberdeckung (C0) wird jede Anweisung im
Code mind. einmal durchlaufen.
Bei der Zweigüberdeckung (C1) wird jeder Zweig im Code
mind. einmal durchlaufen. Das heißt, bei if-Anweisungen wird
sowohl der if-Zweig als auch der else-Zweig durch einen Test
abgedeckt. Sie inkludiert die Anweisungsüberdeckung.
Bei der Pfadüberdeckung (C2) werden alle Pfade durch den
Code getestet. Das heißt, dass z.B. alle möglichen Wege durch
Schleifen abgedeckt sein müssen. Sie inkludiert die
Zweigüberdeckung.
Was ist die zyklomatische Komplexität?
Ein Maß für die Anzahl der möglichen Pfade durch den
Code.
Welche sonstigen Testverfahren gibt es noch?
Abnahmetest oder Akzeptanztest (User
Acceptance Test): Finaler Test des Kunden, der das Projekt
offiziell beendet.
Lasttest: Das System wird unter hohe Last
gesetzt, um z.B. den gleichzeitigen Zugriff vieler Benutzer
zu simulieren.
Smoketest: Erster grober Test der
Software, um entscheiden zu können, ob weitere detaillierte
Tests überhaupt sinnvoll sind.
Exploratives Testen: einfaches
„Ausprobieren“ durch erfahrene Benutzer.
Literaturempfehlungen
Wenn du dich wirklich intensiv mit Softwaretests
auseinandersetzen willst (oder musst) und auch etwas akademischer
werden möchtest, gibt es eigentlich nur eine Empfehlung:
Software-Qualität: Testen, Analysieren und Verifizieren von
Software* von Peter Liggesmeyer. Das Buch hat mich persönlich bei
meiner eigenen Masterarbeit zum Thema Test-Driven-Development
begleitet und liefert knackige Definitionen für alle möglichen
Begriffe aus dem Umfeld der Softwaretests. Es geht aber auch weit
über das Testen hinaus und erklärt z.B. auch statische
Codeanalyse und Code-Review-Verfahren.
*
Links
Permalink zu dieser Podcast-Episode
RSS-Feed des Podcasts
Links
Smoke testing – Wikipedia
Softwaretest – Wikipedia
Kontrollflussorientierte Testverfahren – Wikipedia
McCabe-Metrik – Wikipedia
Testabdeckung – Wikipedia
Weitere Episoden
5 Minuten
vor 3 Wochen
11 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
10 Minuten
vor 5 Monaten
In Podcasts werben
Kommentare (0)