You are previewing Praxiswissen Softwaretest â?? Test Analyst und Technical Test Analyst.
O'Reilly logo
Praxiswissen Softwaretest â?? Test Analyst und Technical Test Analyst

Book Description

Dieses Buch fügt sowohl funktionale als auch technische Aspekte des Testens zu einem einheitlichen Ganzen zusammen, wovon nicht nur Test Analysts, sondern auch Testmanager profitieren können. Es behandelt das Testen aller Qualitätsmerkmale der ISO-Norm 9126, einschließlich Performanz, Zuverlässigkeit, Sicherheit, Funktionalität, Benutzbarkeit, Wartbarkeit und Übertragbarkeit. Der Inhalt basiert auf dem Lehrplan »Certified Tester – Advanced Level – Test Analyst/Technical Test Analyst« nach ISTQB-Standard. Die überarbeitete 3. Auflage ist konform zum ISTQB-Lehrplan Version 2013.

Table of Contents

    1. 1.1 Der Aufbau dieses Buches
    2. 1.2 Anforderungen an dieses Buch
      1. 1.2.1 Vollständigkeit
      2. 1.2.2 Lesbarkeit
    3. 1.3 Was bedeutet »advanced«?
    4. 1.4 Was ist ein »Test Analyst«?
    1. 2.1 Überblick über das Marathon-System
    2. 2.2 Allgemeine Anforderungen
    3. 2.3 Einsatz des Marathon-Systems
    4. 2.4 Verfügbarkeit des Marathon-Systems
    5. 2.5 Erweiterungen vorbehalten
    1. 3.1 Einführung
      1. 3.1.1 Multisysteme
      2. 3.1.2 Sicherheitskritische Systeme
      3. 3.1.3 Echtzeit- und eingebettete Systeme
    1. 4.1 Einführung
    2. 4.2 Überwachung und Steuerung des Projekts
      1. 4.2.1 Produkt(qualitäts)risiken
      2. 4.2.2 Fehler
      3. 4.2.3 Testfälle
      4. 4.2.4 Nachverfolgbarkeit
      5. 4.2.5 Vertrauen
    3. 4.3 Kommunikation mit anderen Testern – wo auch immer sie sich aufhalten
    4. 4.4 Blick in die Praxis
    5. 4.5 Lernkontrollen
    1. 5.1 Einführung in den Testprozess
    2. 5.2 Den Prozess in den Lebenszyklus einpassen
    3. 5.3 Die Schritte des Testprozesses
      1. 5.3.1 Testplanung, -überwachung und -steuerung
      2. 5.3.2 Testanalyse
      3. 5.3.3 Testentwurf
      4. 5.3.4 Testrealisierung
      5. 5.3.5 Testausführung
      6. 5.3.6 Abschluss der Testaktivitäten
    4. 5.4 Lernkontrolle
    1. 6.1 Einführung
    2. 6.2 Einzelne spezifikationsorientierte Testverfahren
      1. 6.2.1 Äquivalenzklassenbildung
      2. 6.2.2 Grenzwertanalyse
      3. 6.2.3 Entscheidungstabellen
      4. 6.2.4 Ursache-Wirkungs-Graph-Analyse
      5. 6.2.5 Zustandsbasiertes Testen
      6. 6.2.6 Kombinatorisches Testen – paarweises Testen und orthogonale Arrays
      7. 6.2.7 Kombinatorisches Testen – Klassifikationsbäume
      8. 6.2.8 Anwendungsfallbasiertes Testen
      9. 6.2.9 User-Story-basiertes Testen
      10. 6.2.10 Wertebereichsanalyse
    3. 6.3 Auswahl eines spezifikationsorientierten Testverfahrens
    4. 6.4 Blick in die Praxis
    5. 6.5 Lernkontrolle
    1. 7.1 Einführung
    2. 7.2 Taxonomien
    3. 7.3 Die Anwendung der Technik
    4. 7.4 Blick in die Praxis
    5. 7.5 Lernkontrolle
    1. 8.1 Einführung
    2. 8.2 Intuitive Testfallermittlung
    3. 8.3 Checklistenbasiertes Testen
    4. 8.4 Exploratives Testen
    5. 8.5 Stärken und Schwächen
    6. 8.6 Blick in die Praxis
    7. 8.7 Lernkontrolle
    1. 9.1 Einführung
    2. 9.2 Testen auf Richtigkeit
    3. 9.3 Testen auf Angemessenheit
    4. 9.4 Interoperabilitätstests
    5. 9.5 Blick in die Praxis
    6. 9.6 Lernkontrolle
    1. 10.1 Benutzbarkeitstests
      1. 10.1.1 Effektivität
      2. 10.1.2 Effizienz
      3. 10.1.3 Zufriedenheit
      4. 10.1.4 Teilaspekte der Benutzbarkeit
    2. 10.2 Zugänglichkeitstests
    3. 10.3 Testprozess für Benutzbarkeits- und Zugänglichkeitstests
      1. 10.3.1 Planungsfragen
      2. 10.3.2 Testentwurf
      3. 10.3.3 Spezifizierung von Benutzbarkeitstests
    4. 10.4 Blick in die Praxis
    5. 10.5 Lernkontrolle
    1. 11.1 Einführung
    2. 11.2 Welche Arbeitsergebnisse können wir einem Review unterziehen?
    3. 11.3 Wann sollten Test Analysts die Reviews durchführen?
    4. 11.4 Aspekte von Reviews
      1. 11.4.1 Wie können wir unser Review effektiv gestalten?
      2. 11.4.2 Haben wir die richtigen Leute?
      3. 11.4.3 Wir haben die Fehler gefunden – was nun?
      4. 11.4.4 Wir haben keine Zeit für Reviews!
    5. 11.5 Checkliste für Reviews
    6. 11.6 Checkliste für Anforderungsreviews
    7. 11.7 Checkliste für die Reviews von Anwendungsfällen
    8. 11.8 Checkliste für Benutzbarkeitsreviews
    9. 11.9 Checkliste für Reviews von User Stories
    10. 11.10 Checkliste für die erfolgreiche Durchführung
    11. 11.11 Blick in die Praxis
    12. 11.12 Lernkontrolle
    1. 12.1 Einführung
    2. 12.2 Was ist ein Fehlerzustand?
    3. 12.3 Wie können wir Fehlerzustände finden
    4. 12.4 Felder für Fehlerzustände
    5. 12.5 Lebenszyklen von Fehlerzuständen
    6. 12.6 Metriken und Berichterstattung
      1. 12.6.1 Überwachung des Testfortschritts
      2. 12.6.2 Analyse der Fehlerdichte
      3. 12.6.3 Messungen gefundener versus behobener Fehler
      4. 12.6.4 Konvergenzmetriken
      5. 12.6.5 Informationen zur Einhaltung der Phasen
      6. 12.6.6 Ist unsere Fehlerinformation objektiv?
    7. 12.7 Möglichkeiten der Prozessverbesserung
    8. 12.8 Blick in die Praxis
    9. 12.9 Lernkontrolle
    1. 13.1 Was ist ein Testwerkzeug?
    2. 13.2 Warum setzen wir Werkzeuge ein?
    3. 13.3 Werkzeugarten
      1. 13.3.1 Testentwurfswerkzeuge
      2. 13.3.2 Datenwerkzeuge
      3. 13.3.3 Testdurchführungswerkzeuge
      4. 13.3.4 Wann sollten Sie eine Automatisierung durchführen?
      5. 13.3.5 Was Sie über Automatisierung wissen sollten
      6. 13.3.6 Umsetzen der Automatisierung
    4. 13.4 Sollten wir alle unsere Tests automatisieren?
    5. 13.5 Blick in die Praxis
    6. 13.6 Lernkontrolle
    1. 14.1 Einführung
    2. 14.2 Blick in die Praxis
    3. 14.3 Lernkontrolle
    1. 15.1 Statische Analyse
      1. 15.1.1 Nutzen
      2. 15.1.2 Einschränkungen
      3. 15.1.3 Kontrollflussanalyse
      4. 15.1.4 Datenflussanalyse
      5. 15.1.5 Einhaltung von Codierungsstandards
      6. 15.1.6 Ermittlung von Codemetriken
      7. 15.1.7 Statische Analyse von Websites
      8. 15.1.8 Aufrufgraphen
    2. 15.2 Dynamische Analyse
      1. 15.2.1 Nutzen
      2. 15.2.2 Einschränkungen
      3. 15.2.3 Speicherlecks
      4. 15.2.4 Probleme mit Zeigern
      5. 15.2.5 Analyse der Performanz
    3. 15.3 Blick in die Praxis
    4. 15.4 Lernkontrolle
    1. 16.1 Nutzen
    2. 16.2 Nachteile
    3. 16.3 Anwendung von strukturbasierten Testverfahren
    4. 16.4 Einzelne strukturbasierte Testverfahren
      1. 16.4.1 Anweisungstests
      2. 16.4.2 Zweig-/Entscheidungstests
      3. 16.4.3 Bedingungstests
      4. 16.4.4 Bedingungs-/Entscheidungstests
      5. 16.4.5 Mehrfachbedingungstests
      6. 16.4.6 Tests mit modifizierter Bedingungs-/Entscheidungsüberdeckung (MC/DC)
      7. 16.4.7 Pfadtests
      8. 16.4.8 API-Tests
    5. 16.5 Auswahl eines strukturbasierten Testverfahrens
    6. 16.6 Lernkontrolle
    1. 17.1 Überblick
    2. 17.2 Performanztests
    3. 17.3 Lasttests
    4. 17.4 Stresstests
    5. 17.5 Skalierbarkeitstests
    6. 17.6 Testen der Ressourcennutzung
    7. 17.7 Messen der Effizienz
    8. 17.8 Planen von Effizienztests
      1. 17.8.1 Risiken und typische Effizienzfehler
      2. 17.8.2 Verschiedene Arten von Testobjekten
      3. 17.8.3 Anforderungen für Effizienztests
      4. 17.8.4 Vorgehensweisen für Effizienztests
      5. 17.8.5 Bestanden-/Nicht-bestanden-Kriterien für Effizienztests
      6. 17.8.6 Werkzeuge für Effizienztests
      7. 17.8.7 Umgebungen
      8. 17.8.8 Organisatorische Aspekte
      9. 17.8.9 Aspekte des Lebenszyklus
    9. 17.9 Spezifikation von Effizienztests
    10. 17.10 Durchführung von Effizienztests
    11. 17.11 Berichterstattung von Effizienztests
    12. 17.12 Werkzeuge für Performanztests
    13. 17.13 Blick in die Praxis
    14. 17.14 Lernkontrolle
    1. 18.1 Überblick über Sicherheitstests
    2. 18.2 Definition von Sicherheit
    3. 18.3 Typische Sicherheitsbedrohungen
    4. 18.4 Vorgehensweise für Sicherheitstests
    5. 18.5 Organisatorische Aspekte
    6. 18.6 Aspekte des Lebenszyklus
    7. 18.7 Planen von Sicherheitstests
    8. 18.8 Analyse und Entwurf von Sicherheitstests
      1. 18.8.1 Softwareangriffe
      2. 18.8.2 Weitere Entwurfstechniken für Sicherheitstests
    9. 18.9 Durchführung von Sicherheitstests
    10. 18.10 Berichterstattung von Sicherheitstests
    11. 18.11 Werkzeuge für Sicherheitstests
    12. 18.12 Blick in die Praxis
    13. 18.13 Lernkontrolle
    1. 19.1 Überblick
      1. 19.1.1 Reife
      2. 19.1.2 Fehlertoleranz
      3. 19.1.3 Wiederherstellbarkeit
    2. 19.2 Planung von Zuverlässigkeitstests
      1. 19.2.1 Bewertung des Risikos
      2. 19.2.2 Festlegen von Zuverlässigkeitszielen
      3. 19.2.3 Aspekte des Lebenszyklus
      4. 19.2.4 Vorgehensweise für Zuverlässigkeitstests
      5. 19.2.5 Vorgehensweise für das Messen des Zuverlässigkeitsgrads
      6. 19.2.6 Vorgehensweise für das Messen der Fehlertoleranz
      7. 19.2.7 Vorgehensweise für Failover-Tests
      8. 19.2.8 Vorgehensweise für Backup- und Wiederherstellungstests
    3. 19.3 Spezifikation von Zuverlässigkeitstests
      1. 19.3.1 Testspezifikation für das Zuverlässigkeitswachstum
      2. 19.3.2 Testspezifikation für die Fehlertoleranz
      3. 19.3.3 Spezifikation von Failover-Tests
      4. 19.3.4 Spezifikation von Backup- und Wiederherstellungstests
    4. 19.4 Durchführung von Zuverlässigkeitstests
    5. 19.5 Berichterstattung von Zuverlässigkeitstests
    6. 19.6 Werkzeuge für Zuverlässigkeitstests
    7. 19.7 Blick in die Praxis
    8. 19.8 Lernkontrolle
    1. 20.1 Überblick
    2. 20.2 Testen auf Wartbarkeit
      1. 20.2.1 Definition von Wartbarkeit
      2. 20.2.2 Warum hat die Wartbarkeit einen geringen Stellenwert?
      3. 20.2.3 Ursachen schlechter Wartbarkeit
    3. 20.3 Planung von Wartbarkeitstests
    4. 20.4 Spezifikation von Wartbarkeitstests
    5. 20.5 Wartbarkeitstests und Analysen durchführen
    6. 20.6 Wartungstests
    7. 20.7 Aufgaben von Technical Test Analysts
    8. 20.8 Blick in die Praxis
    9. 20.9 Lernkontrolle
    1. 21.1 Anpassbarkeit
      1. 21.1.1 Gründe für mangelnde Anpassbarkeit
      2. 21.1.2 Anpassbarkeitstests
    2. 21.2 Austauschbarkeit
      1. 21.2.1 Fragen der Austauschbarkeit
      2. 21.2.2 Austauschbarkeitstests
    3. 21.3 Installierbarkeit
      1. 21.3.1 Risikofaktoren der Installierbarkeit
      2. 21.3.2 Installationstests
    4. 21.4 Koexistenz/Kompatibilität
    5. 21.5 Blick in die Praxis
    6. 21.6 Lernkontrolle
    1. 22.1 Einführung
    2. 22.2 Checklisten für Reviews
    3. 22.3 Checklisten für Codereviews
    4. 22.4 Checkliste für Architekturreviews
    5. 22.5 Lernkontrolle
    1. 23.1 Einführung
    2. 23.2 Aufgaben und Fähigkeiten von Technical Test Analysts für die Testautomatisierung
    3. 23.3 Integration und Informationsaustausch zwischen Werkzeugen
    4. 23.4 Definition eines Testautomatisierungsprojekts
    5. 23.5 Sollten wir alle unsere Tests automatisieren?
    6. 23.6 Werkzeugarten
      1. 23.6.1 Fehlereinpflanzungs- und Fehlereinfügungswerkzeuge
      2. 23.6.2 Werkzeuge für Komponententests und Builds
      3. 23.6.3 Werkzeuge für die statische Analyse von Websites
      4. 23.6.4 Werkzeuge zur Unterstützung modellbasierter Tests
      5. 23.6.5 Statische und dynamische Analysewerkzeuge
      6. 23.6.6 Performanztestwerkzeuge
      7. 23.6.7 Simulations- und Emulationswerkzeuge
      8. 23.6.8 Debugging- und Troubleshooting-Werkzeuge
    7. 23.7 Lernkontrolle