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

Abenteuer Softwarequalität

Book Description

  • Ein Buch zur Softwarequalität auf Einführungsniveau für Studenten und Praktiker, das durch eine mitlaufende Geschichte anschaulicher und damit erfahrbarer gemacht worden ist!* Die Vermittlung beginnt auf sehr einfachem Niveau, nimmt den Leser aber bis zu schwierigen Fragestellungen (bei Metriken, Testen usw.) mit.

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Hingabe
  5. Vorwort
    1. Softwarequalität bleibt spannend
  6. Vorwort zur 1. Auflage
    1. Softwarequalität und Abenteuer
    2. Danke
  7. Inhalt
  8. 1. Einleitung
    1. 1.1 Softwarequalität betrifft viele
    2. 1.2 Für wen dieses Buch gemacht ist
    3. 1.3 Was Sie von diesem Buch erwarten können
    4. 1.4 Das Abenteuer von Q
    5. 1.5 Themen und Anspruch
      1. 1.5.1 Themenauswahl und Gewichtung
      2. 1.5.2 Die Reihenfolge der Themen
    6. 1.6 Bedeutung von Softwarequalität
    7. 1.7 Wie Q zur Softwarequalität kam
  9. 2. Grundkonzepte
    1. 2.1 Qualitätsorganisation und Terminologie
    2. 2.2 Kosten und Nutzen von Softwarequalität
    3. 2.3 Qualitätsbeauftragte
    4. 2.4 Eine Vision: Total Quality Management
    5. 2.5 Grundbegriffe des Testens
    6. 2.6 Normen und Standards
    7. 2.7 Qualitätsaspekte, -anforderungen und Qualitätsmodelle
  10. 3. Erfahrungen systematisch nutzen
    1. 3.1 Qualitätsnetzwerke und Qualitätszirkel
    2. 3.2 Leichtgewichtige Dokumentation von Erfahrungen
    3. 3.3 Organisation der Erfahrungsverwaltung
    4. 3.4 Herausforderungen und Chancen für Erfahrungsnutzung
    5. 3.5 Networking in Organisationen und auf Tagungen
  11. 4. Messen von Softwarequalität
    1. 4.1 Wozu messen und konkretisieren?
    2. 4.2 Softwaremetriken
      1. 4.2.1 Grundlagen
      2. 4.2.2 Was Softwaremetriken messen
      3. 4.2.3 Bezug zwischen Metrik und Qualitätsaspekt
      4. 4.2.4 Skalen für die Resultate der Metriken
    3. 4.3 Diskussion bekannter Softwaremetriken
      1. 4.3.1 Lines of code: Der Teufel steckt im Detail
      2. 4.3.2 Zyklomatische Komplexität von McCabe
      3. 4.3.3 Halstead Software Science
      4. 4.3.4 Weitere Metriken: ein Ausblick
    4. 4.4 Metriken nach Maß: GQM
      1. 4.4.1 Von Zielen zu Fragen zu Metriken – und zurück
      2. 4.4.2 Zielorientiertes Messen und Bewerten
      3. 4.4.3 Zielfacetten schärfen den Blick
      4. 4.4.4 Messung vorbereiten mit Abstraction Sheets
      5. 4.4.5 Besonderheiten bei Messung und Auswertung
    5. 4.5 Projektfortschritt messen mit Quality Gates
  12. 5. Systematisches Testen
    1. 5.1 Vorüberlegungen
      1. 5.1.1 Testvorbereitung
      2. 5.1.2 Vollständig testen?
      3. 5.1.3 Woraus ein Testfall besteht
      4. 5.1.4 Testfälle dokumentieren
      5. 5.1.5 Testfälle ermitteln: eine Strategie
      6. 5.1.6 Hintergrund von Fehlern
      7. 5.1.7 Übersicht: Black-Box-Test und Glass-Box-Test
    2. 5.2 Black-Box-Tests aus der Spezifikation
      1. 5.2.1 Minimalforderung und Effizienzprinzip
      2. 5.2.2 Äquivalenzklassenmethode
      3. 5.2.3 Grenzwertanalyse
      4. 5.2.4 Spezifikationsabdeckung optimieren
      5. 5.2.5 Klassifikationsbaummethode
      6. 5.2.6 Zustandsbasiertes Testen
      7. 5.2.7 Testablauf dokumentieren
    3. 5.3 Sollwerte aus der Spezifikation
    4. 5.4 Glass-Box: Testen nach der Codestruktur
      1. 5.4.1 Maße für Codeüberdeckung
      2. 5.4.2 Interpretation von Überdeckungsmaßen
      3. 5.4.3 Objektorientierung und Glass-Box-Test
    5. 5.5 Testfälle für spezielle Qualitätsaspekte
      1. 5.5.1 Testfälle in Form von Code
      2. 5.5.2 Granularität und Reihenfolge von Prüflingen
      3. 5.5.3 Stresstest, Recovery und Security Tests
    6. 5.6 Hilfsmittel und Werkzeuge für das Testen
      1. 5.6.1 Debuggen ist nicht Testen
      2. 5.6.2 Standardhilfsmittel: Testrahmen
      3. 5.6.3 Werkzeuge für Glass-Box-Test
      4. 5.6.4 Sonstige Hilfsmittel und Werkzeuge
    7. 5.7 Testen von grafischen Oberflächen
      1. 5.7.1 Sackgasse: System als Ganzes
      2. 5.7.2 Capture/Replay-Tools
  13. 6. Usability Engineering
    1. 6.1 Software und Bedienbarkeit
    2. 6.2 Usability als Qualitätsaspekt
      1. 6.2.1 Gute Bedienoberflächen und Qualitätsaspekte
      2. 6.2.2 Usability definiert sich über Anforderungen
    3. 6.3 Aspekte der Benutzerfreundlichkeit nach ISO 9241
    4. 6.4 Bedienbarkeit messen
    5. 6.5 Konstruktives Usability Engineering
      1. 6.5.1 Aufgaben im Usability Engineering
      2. 6.5.2 Kernaufgaben in der Anforderungsklärung
      3. 6.5.3 Aktivitäten in Entwurf und Entwicklung
      4. 6.5.4 Acht Goldene Regeln nach Shneiderman
    6. 6.6 Experten-Evaluationen
  14. 7. Reviews und Inspektionen
    1. 7.1 Rollen und Ablauf
    2. 7.2 Hilfsmittel
    3. 7.3 Aufwand und Nutzen
    4. 7.4 Varianten von Reviews
  15. 8. Formale Verfahren
    1. 8.1 Prädikatenkalkül und formale Beweise
      1. 8.1.1 Grundvorgehen und Basiselemente
      2. 8.1.2 Voraussetzungen aus Anforderung ableiten
      3. 8.1.3 Verzweigung als Anweisungsart
      4. 8.1.4 Schleifeninvarianten
    2. 8.2 Verschiedene Spezifikationsstile
    3. 8.3 Spezifizieren und Beweisen mit Modellen
      1. 8.3.1 Ampelanlage als Petrinetz-Beispiel
      2. 8.3.2 Beweise auf Petrinetzen
    4. 8.4 Diskussion formaler Techniken
  16. 9. Konstruktive Qualitätssicherung
    1. 9.1 Analytisch, organisatorisch, konstruktiv
    2. 9.2 Maßnahmen, bevor ein Problem auftritt
      1. 9.2.1 Bewährte Verfahren
      2. 9.2.2 Bewährte Bestandteile
      3. 9.2.3 Bewährte Strukturen
    3. 9.3 Beispiel Cleanroom: Fehler vermeiden
  17. 10. Agile Softwareentwicklung und Qualität
    1. 10.1 Die kurze Geschichte der agilen Softwareentwicklung
    2. 10.2 Extreme Programming im Überblick
    3. 10.3 Testgetriebene Entwicklung in XP
      1. 10.3.1 Terminologie und Testarten
      2. 10.3.2 Testautomatisierung ist unverzichtbar
      3. 10.3.3 Testcode ist seltener fehlerhaft
      4. 10.3.4 Test First: Testen vor Codieren
      5. 10.3.5 Auswirkungen von Test First
      6. 10.3.6 Besserer Produktionscode durch Test First
    4. 10.4 Die Rolle der Softwarequalität in XP
    5. 10.5 Scrum
    6. 10.6 Lean Software Development
      1. 10.6.1 Vom Toyota Production System zur Softwareentwicklung
      2. 10.6.2 Die Grundkonzepte von Lean
      3. 10.6.3 Auswirkungen auf die Softwarequalität
    7. 10.7 Kanban
      1. 10.7.1 Arbeitsabläufe visualisieren
      2. 10.7.2 Pull statt Push: Aufgabenvolumen begrenzen, Durchlaufzeit verkürzen
      3. 10.7.3 Ausblick: Kanban für Fortgeschrittene
    8. 10.8 Zusammenfassung
  18. 11. Das Abenteuer geht weiter
    1. 11.1 Rückblick
    2. 11.2 Was es noch zu erkunden gibt
    3. 11.3 Wann man aufhören soll
  19. Literaturverzeichnis
  20. Abkürzungen
  21. Index