Softwaretest
Nordakademie Graduate School
Nordakademie Graduate School
Kartei Details
Karten | 61 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 28.07.2020 / 31.07.2020 |
Weblink |
https://card2brain.ch/box/20200728_softwaretest
|
Einbinden |
<iframe src="https://card2brain.ch/box/20200728_softwaretest/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Fehler/Mangel
Fehler: Nichterfüllungeiner festgelegten Anforderung
Mangel: Anforderung / berechtigte Erwartung nicht angemessen erfüllt
- seit Fertigstellung der Software vorhanden
- kommt erst bei Ausführungder Software zum Tragen
Fehlerwirkung
Das sichtbare Auftreten des Fehlers
Fehlerzustand
Ursache einer Fehlerwirkung
Fehlhandlung
einer Person: Ursache eines Fehlerzustands
Fehlermaskierung
ein Fehlerzustand verhindert die Aufdeckung eines anderen
Ziele des Testens
- Arbeitsergebnisse bewerten
- Fehler in den Arbeitsergebnissen identifizieren
- Verifizieren, ob alle spezifischen Anforderungen erfüllt sind
- Vollständigkeit des Testobjekts prüfen
- Validieren des Testobjekts gegen Erwartungen der Benutzer und anderer Stakeholder
- Risiken aufgrund einer unzureichenden Softwarequalität reduzieren
Validierung
Bestätigung durch Bereitstellung eines objektiven Nachweises, dass die Anforderungen für einen spezifischen beabsichtigten Gebrauch oder eine spezifische beabsichtigte Anwendung erfüllt worden sind.
Haben wir das richtige Systemrealisiert? -> für beabsichtige Produktnutzung sinnvoll?
Verifizierung
Bestätigung durch Bereitstellung eines objektiven Nachweises, dass festgelegte Anforderungen erfüllt worden sind.
Haben wir das System richtig realisiert? -> Anforderung erfüllt?
Qualität
Der Grad, zu dem eine Komponente oder ein System die expliziten und impliziten Bedürfnisse seiner verschiedenen Stakeholder erfüllt.
Qualitätsmerkmale
- Funktionalität
- Vollständigkeit
- Korrektheit
- Zuverlässigkeit
- Verfügbarkeit
- Fehlertoleranz
- Gebrauchstauglichkeit
- Erlernbarkeit
- Zugänglichkeit
- IT-Sicherheit
- Vertraulichkeit
- Integrität
- Kompatibilität
- Interoperabilität
- Koexistenz
- Übertragbarkeit
- Installierbarkeit
- Austauschbarkeit
- Wartbarkeit
- Wiederverwendbarkeit
- Testbarkeit
- Performanz
- Zeitverhalten
- Ressourcennutzung
Grundsätze zum Testen
- Testen zeigt die Anwesenheit von Fehlerzuständen, nicht deren Abwesenheit
- Vollständiges Testen ist nicht möglich
- Frühes Testen spart Zeit und Geld
- Häufung von Fehlerzuständen
- Vorsicht vor dem Pestizid-Paradoxon
- Testen ist kontextabhängig
- Trugschluss: „Keine Fehler“ bedeutet ein brauchbares System
Kriterien für die Priorisierung
- Kombination von Schadenshöhe und Eintrittswahrscheinlichkeit
- Priorität der Anforderungen durch den Kunden
- Gewichtung der Qualitätsmerkmale durch den Kunden
- Priorität der Testfälle aus Sicht der Entwicklung
- Hohes Projektrisiko
Aktivitäten des Testprozesses
- Testplanung
- Testüberwachung und -steuerung
- Testanalyse
- Testentwurf
- Testrealisierung
- Testdurchführung
- Testabschluss
Testplanung
- Aufgaben:
- Festlegung der Teststrategie
- Detaillierung der Testplanung
- Ergebnisse:
- Testkonzept
Testüberwachung und -steuerung
- Aufgaben:
- Messen und Analysieren der Ergebnisse
- Überwachen und Dokumentieren von Testfortschritt, erreichter Testabdeckung und der Endekriterien
- Ergebnisse:
- Testfortschrittsberichte
- Testabschlussberichte
Testanalyse
- Aufgaben:
- Review der Testbasis
- Bewertung der Testbarkeit von Anforderungen und System
- Ergebnisse:
- Testbedingungen
Testentwurf
- Aufgaben
- Spefizikation / Priorisierung von TF
- TF umfasst Vorbedingung, Ergebnis und Nachbedingungen
- Ergebnis:
- Testfälle
Testrealisierung
- Aufgaben:
- Entwicklung der Testabläufe
- Aufbau der Testumgebung
- Erstellung automatischer Testfälle
- Ergebnisse:
- Testsuite
- Testausführungsplan
Testdurchführung
- Aufgaben:
- Vergleich der Istergebnisse mit den erwarteten Ergebnissen
- Fehlerschweregrad (Fehlerklasse) bestimmen
- Priorität für Beseitigung festlegen
- Ergebnisse:
- Dokumentation des Status der TF
- Testprotokoll
- Fehlerbericht
Testabschluss
- Aufgaben:
- Prüfung ob Fehlerberichte abgeschlossen
- Archivierung
- Ergebnisse:
- Testabschlussberichte
Verfolgbarkeit
Der Grad, zu dem eine Beziehung zwischen mehreren Arbeitsergebnissen hergestellt werden kann.
Vertikal: Verfolgung von Anforderungen von der Entwicklungsdokumentation bis zu den Komponenten
Horizontal: Verfolgung von Anforderungen einer Teststufe über die Ebenen der Testdokumentation
Vorteile:
- Bewertung der Testüberdeckung
- Auswirkungsanalyse von Änderungen
- Nachvollziehbarkeit von Tests
Testorakel
Informationsquelle zur Ermittlung der jeweiligen Sollergebnisse eines Testfalls
Entwicklertest vs Tester
Entwicklertest
- kennt Testobjekt
- Blind gegenüber eigener Fehler
Testteam
- muss eingearbeitet werden
- ist unvoreingenommen
Integrationsstrategie
Top-down-Integration
- Test beginnt mit Komponente, die andere aufruft, aber selbst nicht aufgerufen wird
- sukzessive Integration der Komponenten niedrigerer Systemschichten
- Pro: keine / einfache Treiber benötigt
- Con: untergeordnete, noch nicht integrierte Komponenten durch Platzhalter zu ersetzen
Bottom-up-Integration
- est beginnt mit elementaren Komponenten, die keine anderen aufrufen
- Sukzessive Integration von getesteten Komponenten mit anschließendem Test
- Pro: keine Platzhalter benötigt
- Übergeordnete Komponenten durch Treiber zu simulieren
Ad-hoc-Integration
- Komponenten in (zufälliger) Reihenfolge ihrer Fertigstellung integrieren
- Direkt nach Komponententest Durchführbarkeit der Integration prüfen
- Pro: Zeitgewinn
- Con: Treiober und Platzhalter benötigt
big-bang-Integration
- Warten bis alle Softwarebauteile entwickelt sind
- alles auf einmal integrieren
- Con: Wartezeit bis zum big-bang ist verlorene Zeit
- Con: Fehlerwirkungen treten alle auf einmal auf
Alpha-und Beta-Test
- Systemtests für sehr viele verschiedene Produktivumgebungen kann sehr kostenintensiv bis unmöglich sein. daher Alpha / Beta Test
- Alpha-Tests beim Hersteller durch Benutzer und unabhängigem Testteam
- Beta-Tests (Feldtests) von Kunden an ihren eigenen Standorten durchgeführt
Testarten
- Funktionale Tests
- Nicht-funktionale Tests
- Performcance
- Last
- Wartbarkeit
- White-Box-Tests
- Softwarestruktur/Softwarearchitektur
- Änderungsbezogene Tests
- Fehlernachtests
- Regressionstests (erneuter Test bereits getesteter Software)
Wartungstest
- Modifikation
- Migration
- Außerbetriebnahme
Statischer Test
- Analyse des Testobjekts durch intensive Betrachtung
- Typische Testobjekte:
- Anforderungen
- Handbücher
- Pläne / Verträge
- Code
Reviews: Grundlegende Arbeitsschritte
- Planung
- Reviewbeginn
- Induviduelles Review
- Befundkommunikation/-analyse
- Fehlerbehebung und Bericht
Reviews: Planung
- Definition des Reviewumfangs (Was, Zweck)
- Reviewarten(Informelles Review, Walkthrough, Inspektion)
- Reviewrollen
- Reviewaktivitäten
- Auswahl und Festlegung geeigneter Reviewer
Reviews: Reviewbeginn
- Verteilung der Reviewdokumente(so früh wie möglich)
- KICK-OFF / Überblicksmeeting
- Moderator
- präsentiert Umfang und Schwerpunkte des Reviews
- beantwortet Fragen der Teilnehmer
- Gutachter
- formales Commitmentab
- Moderator
Reviews: Individuelles Review
Teilnehmer des Reviewteams bereiten sich individuell vor
Reviewverfahren
- Ad-hoc-Review
- checklistenbasiertes Review
- szenariobasiertes Review
- perspektivisches Lesen
- rollenbasiertes Review
Ad-hoc-Review
- wenige / gar keine Vorgaben für Durchführung
- Pro: wenig Vorbereitung
- Con: hängt von Fähigkeit der Reviewer ab; Doppelbefunde
Checklistenbasiertes Review
- systematische Vorgehensweise mithilfe von Checklisten
- Pro: systematisch
- Con: zeitintensiv, Fokus auf Liste
Szenariobasiertes Review
- Reviewer bekommen strukturierte Richtlinien für Review
- Bewertung des Prüfobjekts bzgl. der Eignung für vorgegebene Szenarien
- Pro: systematische Abdeckung
- Con: Fehlerzustände außerhalb Szenarien übersehen
Rollenbasiertes Review
- Reviewer/Gutachter bewerten das Prüfobjekt aus der Perspektive individueller Stakeholder-Rollen (z.B. Arten von Endanwendern)
- Pro: Stakeholderspezifische Fehlerzustände identifizieren
- Con: Fehlerzustände außerhalb der Rollen können übersehen werden