Softwaretest

Nordakademie Graduate School

Nordakademie Graduate School


Fichier Détails

Cartes-fiches 61
Langue Deutsch
Catégorie Informatique
Niveau Université
Crée / Actualisé 28.07.2020 / 31.07.2020
Lien de web
https://card2brain.ch/box/20200728_softwaretest
Intégrer
<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

  1. Testen zeigt die Anwesenheit von Fehlerzuständen, nicht deren Abwesenheit
  2. Vollständiges Testen ist nicht möglich
  3. Frühes Testen spart Zeit und Geld
  4. Häufung von Fehlerzuständen
  5. Vorsicht vor dem Pestizid-Paradoxon
  6. Testen ist kontextabhängig
  7. 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

  1. Testplanung
  2. Testüberwachung und -steuerung
  3. Testanalyse
  4. Testentwurf
  5. Testrealisierung
  6. Testdurchführung
  7. 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

Allgemeines V-Modell

Vergleich der Teststufen

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

Software-Qualitätssicherung

Statischer Test

  • Analyse des Testobjekts durch intensive Betrachtung
  • Typische Testobjekte:
    • Anforderungen
    • Handbücher
    • Pläne / Verträge
    • Code

Reviews: Grundlegende Arbeitsschritte

  1. Planung
  2. Reviewbeginn
  3. Induviduelles Review
  4. Befundkommunikation/-analyse
  5. 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

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