O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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. Cover
  2. Titel
  3. Impressum
  4. Geleitwort
  5. Vorwort zur 3. Auflage
  6. Danksagung
  7. 1 Einführung
    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«?
  8. 2 Marathon – unsere Beispielanwendung
    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
  9. 3 Systemarten
    1. 3.1 Einführung
      1. 3.1.1 Multisysteme
      2. 3.1.2 Sicherheitskritische Systeme
      3. 3.1.3 Echtzeit- und eingebettete Systeme
  10. 4 Aufgaben des Test Analyst für das Testmanagement
    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
  11. 5 Der Testprozess
    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
  12. 6 Spezifikationsorientierte Testverfahren
    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
  13. 7 Fehlerbasierte Testverfahren
    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
  14. 8 Erfahrungsbasierte Testverfahren
    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
  15. 9 Funktionales Testen
    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
  16. 10 Benutzbarkeits- und Zugänglichkeitstests
    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
  17. 11 Reviews für Test Analysts
    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
  18. 12 Management von Fehlern und Abweichungen
    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
  19. 13 Werkzeugkonzepte
    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
  20. 14 Aufgaben des Technical Test Analyst für das Testmanagement
    1. 14.1 Einführung
    2. 14.2 Blick in die Praxis
    3. 14.3 Lernkontrolle
  21. 15 Analysetechniken
    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
  22. 16 Strukturbasierte Testverfahren
    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
  23. 17 Effizienztests
    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
  24. 18 Sicherheitstests
    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
  25. 19 Zuverlässigkeitstests
    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
  26. 20 Wartbarkeitstests
    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
  27. 21 Portabilitätstests
    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
  28. 22 Reviews für Technical Test Analysts
    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
  29. 23 Werkzeuge für Technical Test Analysts
    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
  30. Anhang
    1. A Glossar
    2. B Literatur
  31. Stichwortverzeichnis
  32. Fußnoten
  33. Cover-Rückseite