Softwarequalitätssicherung

Lernkarteikarten zur Vorlesung "Softwarequalitätssicherung" an der TU Ilmenau (SS 2013)

Lernkarteikarten zur Vorlesung "Softwarequalitätssicherung" an der TU Ilmenau (SS 2013)

Robin Douglas

Robin Douglas

Kartei Details

Karten 100
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 23.09.2013 / 13.03.2020
Weblink
https://card2brain.ch/box/softwarequalitaetssicherung
Einbinden
<iframe src="https://card2brain.ch/box/softwarequalitaetssicherung/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

(Kapitel 4.1): In welche Kategorien können konstruktive QS-Maßnahmen eingeteilt werden?

  1. Organisatorische Maßnahmen
    => betreffen den Prozess und das Management
  2. Technische Maßnahmen
    => betreffen die Softwarekonstruktion
  3. Personelle Maßnahmen
    => betreffen die Arbeitsumgebung

(Kapitel 4.1): Welche Prozesse sind als organisatorische Maßnahmen notwendig?

In Übereinstimmung mit dem CMM (Reifegrad 2) sind folgende drei Prozesse notwendig:

  • Projektmanagement
  • Qualitätsmanagement
  • Konfigurationsmanagement

In Übereinstimmung mit dem CMM (Reifegrad 3) ist es notwendig, ein Vorgehensmodell zu definieren.

(Kapitel 4.1): Was versteht man unter Projektmanagement? Welche Aufgaben sind im Rahmen des Projektmanagements zu erledigen?

Projektmanagement ist ein übergeordneter Prozess für die Planung und Kontrolle der Entwicklung eines SW-Produkts. Projektmanagement steuert

  • den Entwicklungsprozess
  • den QS-Prozess
  • das Konfigurationsmanagement

=> Projektmanagement ist ein Systemorientierter Ansatz!

(Kapitel 4.1): Was ist Konfigurationsmanagement? Warum wird es benötigt?

Konfigurationsmanagement ist ein Prozess zur kontrollierten Änderung (Pflege und Wartung) von Software, Hardware, Dokumentationen und Prüfungen.

Ein Konfigurationsmanagement wird benötigt, da in der initialen Entwicklung viele Dokumente und Komponenten enstehen, die zu einem bestimmten Produkt für eine bestimmte Plattform gehören, gleichzeitig jedoch eine Diversifizierung aufgrund von Weiterentwicklungen stattfindet.

(Kapitel 4.1): Welche Aufgaben hat die Wartung im Rahmen der SW-Entwicklung?

  1. Verbesserung der Qualität
    • Korrekturen zur Fehlerbehebung
    • Verbesserung von Qualitätsmerkmalen (z.B. Effizienz)
  2. Weiterentwicklung des Produktes
    • Erweiterung mit neuen Anforderungen und Anpassung mit geänderten Anforderungen
    • Anpassung an geänderte Einsatzbedingungen (z.B. andere Hardware, Betriebssysteme oder Endgeräte)

(Kapitel 4.1): Wie kann die Wartung organisiert werden? Welche Vor- und Nachteile haben die jeweiligen Ansätze?

1. Wartung durch Entwickler

Vorteile:

  • beste Produktkenntnisse
  • hohe Wahrscheinlichkeit, dass Wartbarkeit bei der Entwicklung berücksichtigt wird

Nachteile:

  • Gefahr der Produktperfektionierung
  • Personalfluktuation
  • Dikumentationsfaulheit

2. Wartung durch ein spezielles Wartungsteam:

Vorteile:

  • es existiert eine Wartungs-Infrastruktur (Werkzeuge, Know-How, Richtlinien)
  • kein Änderungswiderstand

Nachteile:

  • zusätzlicher Kommunikationsaufwand mit den Entwicklern
  • Lernaufwand zum Produktverständnis

(Kapitel 4.1): Erläutere die Begriffe "Variante", "Revision" und "Version" und grenze sie voneinander ab!

Variante:

  • Elemente besitzen die gleiche Spezifikation, aber unterschiedliche Implementierung
  • z.B. zur Portierung auf andere Plattformen, Betriebssysteme oder zur Ausweitung auf andere Endgeräte

Revision:

  • Elemente wurden zwecks Verbesserung überarbeitet

Version:

  • Elemente werden ersetzt (Revision) oder hinzugefügt
    => Produktweiterentwicklung
  • in einer Konfiguration ist höchstens ein Element aus jeder Variantenfamilie enthalten, die Variante selbst kann in vielen Konfigurationen enthalten sein

(Kapitel 4.1): Was ist ein Versionsverwaltungssystem? Welche Aufgaben hat es?

Ein Versionsverwaltungssytem unterstützt die Konfigurationsverwaltung.

Aufgaben:

  • Verwaltet alle Artefakte eines Softwareprodukts in einem Reposority
  • Implementiert die Infrastruktur für die Koordination der Teamarbeit an dem selben Produkt

(Kapitel 4.1): Nenne die Aufgaben des Konfigurationsmanagements!

  1. Bestimmung derBaseline-Konfiguration
    => Erfassen aller Artefakte mit Bezug auf das Änderungsmanagement
  2. Änderungsmanagement
    • Änderungsanforderung überprüfen
    • Änderungssteuerung im "internen" Auftragsverfahren
    • Sicherung von Konsistenz und Vollständigkeit
  3. Zustandserfassung und Archivierung

 

(Kapitel 4.1): Was ist ein Vorgehensmodell? Welche Bedeutung hat es für die Qualitätssicherung?

Ein Vorgehensmodell ist eine Normierung, Anleitung und Hilfestellung für die Entwicklung und Ergebnisdarstellung einer Software.

Bedeutung für die Qualitätssicherung:

Ein wohl definierter Prozess ist Basis für

  • Projektplanung, Projektüberwachung
  • Einführung neuer Technologien (Methoden, Werkzeuge)
  • Integrations von Qualitätssicherungsaktivitäten

(Kapitel 4.2): Was sind technische Maßnahmen zur Qualitätssicherung? Nenne wichtige Maßnahmen!

Technische Maßnahmen unterstützen die Aktivitäten der eigentlichen Softwareentwicklung.

Wichtige Maßnahmen sind:

  1. Auswahl einer geeigneten Softwareentwicklungsumgebung
  2. Werkzeugpool
  3. Qualitätssichernde Programmiersprachen
  4. Wiederverwendung
  5. Vorgabe von Entwicklungsrichtlinien
  6. Refactoring, Redesign

(Kapitel 4.2): Welche Vorteile bietet eine reposority-basierte Softwareentwicklungsumgebung, welche Fähigkeiten sollten darin enthaltene Werkzeuge besitzen?

Ein Reposority speichert die Systembeschreibung, wobei die systembeschreibende Objekte, Verfahren und Methoden zur Objekttransformation in einer Datenbank (Entwurfsdatenbank) abgelegt werden.

Vorteile:

  • es erlaubt mehren parallelen Entwicklern ihre Inhalte bereitzustellen und wechselseitig zu nutzen
  • es unterstützt die zeitliche Verfolgung der Entwicklung
  • es untersützt häufig eine Versionsverwaltung

Die Unterstützung der Entwicklung erfolgt durch

  • automatisierte Elemente- und Qualitäts-Datenverwaltung
  • automatisierte Konsistenz- und Vollständigkeitsüberprüfung
  • vereinfachte Team-Kommunikation

(Kapitel 4.2): Welche Arten von Entwicklungswerkzeugen gibt es? Welche Fähigkeiten sollten diese Werkzeuge besitzen?

Es gibt Analyse-, Entwurfs- und Implementierungswerkzeuge.

Die Werkzeuge sollten Fähigkeiten zur Prüfung von Artefakten bzw. zur Generierung von neuen Artekfakten besitzen:

  • Syntax- und Semantikprüfung von Modellen und Code
  • Konsistenzprüfung abhängiger Dokumente im Reposority
  • Modelltransformatoren, Codegeneratoren

(Kapitel 4.2): Inwiefern trägt der Einsatz von Wartungswerkzeugen zur Verbesserung der Qualität bei? Welche Wartungswerkzeuge gibt es?

Wartungswerkezeuge können zum besseren Verständnis der Software schon während der Entwicklung beitragen und erleichtern somit die Fehleranalyse.

Es gibt Reengineering- und Refactoring-Werkzeuge:

  • automatische Dokumentatoren und Traceability-Linksysteme während der Entwicklung
  • Programmscanner, Mustersucher, Dateikomparatoren zur Codeanalyse, Codenavigatoren
  • Code-Transformationen (Modell-Rückerzeugung)

(Kapitel 4.2): Wieso ist das Refactoring eine konstruktive Maßnahme zur Qualitätssicherung? Was passiert beim Refactoring?

Refactoring ist die automatische oder manuelle Strukturverbesserung von Quelltexten unter Beibehaltung des beobachtbaren Programmverhaltens. Dabei sollen die Lesbarkeit, Verständlichkeit und Wartbarkeit verbessert werden, um den Aufwand zur Fehleranalyse und funktionale Erweiterungen deutlich zu senken. Insofern kann man Refactoring als eine konstruktive Maßnahme zur Qualitätssicherung bezeichnen.

(Kapitel 4.2): Wieso ist die Wiederverwendung von Code-Fragementen eine konstruktive Maßnahme zur Qualitätssicherung?

Ein angemessener Grad an Wiederverwendung dient nicht nur zur Produktivitätssteigerung, sondern es werden auch Komponenten eingesetzt, die mehrfach getestet wurden und eine geringe Fehlerwahrscheinlichkeit haben. Daher ist die Wiederverwendung als eine konstruktive Maßnahme zur Qualitätssicherung zu bezeichnen.

(Kapitel 4.2): Wie können Entwicklungsrichtlinieren zur Qualitätsverbesserung beitragen?

Individualität von Programmierstilen führt in großen SW-Projekten zum Effizienzverlust und erschwert die Verständlichkeit.

=> Fehleranfälligkeit steigt

Die Einführung angemessener Richtlinien ist eine technische Maßnahme zur Qualitätssicherung, die zur Verbesserung der Verständlichkeit und zur Vermeidung von Fehlern beiträgt. Die häufigsten Vorgaben sind:

  • Notationskonventionen
  • Sprachkonventionen

(Kapitel 4.2): Welcher Unterschied besteht zwischen Notations- bzw. Sprachkonventionen?

Notationskonventionen:

Notationskonventionen dienen zur Verbesserung der Verständlichkeit. Es gibt unternehmenseigene und sprachbezogene coding styles (z.B. Java Coding Style, .NET Coding Style). Sie betreffen

  • die Auswahl und Schreibweise von Bezeichnern
  • Einrückungscharakteristik, Aufbau von Kontrollstrukturen
  • begleitende Dokumentationsvorgaben

Sprachkonventionen:

Sprachkonventionen definieren feste Regeln für die Nutzung von Sprachkonstrukten. Das Ziel besteht in der Verbesserung der Verständlichkeit sowie in der Vermeidung von Fehlern durch

  • Verwendung einheitlicher Lösungsmuster
  • Vermeiden von fehlerträchtigen Sprachkonstrukten

(Kapitel 4.2): Was beschreibt die Bedürfnispyramide nach Maslow? Was könnten Sie als Projektleiter tun, um die Motivation Ihrer Mitarbeiter zu erhöhen bzw. zu erhalten?

Die Bedürfnispyramide ist ein Stufenmodell, wobei die Bedürfnisse nur schrittweise der Pyramide aufsteigend folgend befriedigt werden können. Das Ziel sollte immer darin bestehen, die höchste Motivation und Kreativität der Mitarbeiter zu entwickeln.

Maßnahmen:

  • Feedback, Lob, gerechte Beurteilung
  • Betriebsklima, Kommunikation, Führungsstile
  • Arbeitsaufgabe, Kontinuität

(Kapitel 4.2) Was würden Sie als wichtigste Anforderungen an die Mitarbeiter für die Qualitätssicherung ansehen?

  • Kenntnisse der relevanten Methoden und Werkzeuge
  • Zuverlässige und exakte Arbeitsweise
  • Erfahrung in der Softwareentwicklung
  • Gute Produktkenntnisse

(Kapitel 5.1): Was sind analytische Maßnahmen zur Qualitätssicherung?

Analytische Maßnahmen zur Qualitätssicherung dienen zur Auffindung von Fehler in Artefakten der Softwareentwicklung.

(Kapitel 5.1): Wodurch unterscheiden sich statische und dynamische Maßnahmen zur analytischen Qualitätssicherung?

Statische analytische Maßnahmen:

  • das Prüfobjekt wird nicht ausgeführt
  • Fehler werden gefunden durch
    • menschliche Begutachtung (Review)
    • formale Prüfung und Beweisen

Dynamische analytische Maßnahmen:

  • das Prüfobjekt wird mit Testfällen ausgeführt
  • Fehler werden durch Testen und Experimentieren gefunden

(Kapitel 5.1): Was ist ein Review? Wann ist die Durchführung eines Reviews sinnvoll?

Ein Review ist ein mehr oder weniger formal geplanter und strukturierter Analyse- und Bewertungsprozess, in dem die Projektergebnisse einem Team von Gutachtern präsentiert und von diesen kommentiert oder genehmigt werden.

Das Prüfobjekt ist hier ein Artefakt im Softwareentwicklungsprozess (z.B. Spezfikationen, Modelle, Entwürfe, Quellcode).

=> frühzeitiger Einsatz in allen Phasen möglich, um Summationseffekte zu vermeiden

(Kapitel 5.1): Skizzieren Sie den Ablauf eines Reviews?! Wodurch können Reviews unterstützt werden?

(siehe Abbildung)

Unterstützung von Reviews:

  1. Formulare
    • Templates zur Planung, Checklisten
    • Templates für den Managementbericht
  2. Analysatorwerkzeuge
    • Dokumente-Filter zur Auswahl der Prüfobjekte und spezieller Prüfbereiche
  3. Schulungen
    • zur Planung und Organisation
    • zur Kompetenz in Gespärchs- und Personalführung

(Kapitel 5.1): Welche Vor- und Nachteile besitzt das Prüfverfahren Review?

Vorteile:

  • in allen Phasen mögliche, frühe Fehlererkennung
  • Projektteamausbildung durch Verbreitung von Know-How
  • Zwang zur Einhaltung von Standards, Richtlinien, Regeln und Dokumentationen
    => Verbesserung der Wartbarkeit

Nachteile:

  • Erfolg ist abhängig von Teilnehmer und Gesprächsklima
  • Kosten der Reviews betragen ca. 15 % der Projektkosten

(Kapitel 5.1): Wie laufen Walkthrough und Inspektion ab? Nennen Sie mindestens zwei mögliche Prüfbereiche von Inspektionen!

Walkthrough:

  • vorgegebene Testfälle werden durchgespielt und diskutiert

Inspektion:

  • vorgebene Prüfbereiche werden analysiert und mit dem Feinentwurf abgeglichen
  • Prüfbereiche:
    • Schnittstellen des Prüfobjekts (z.B. Konsistenz globaler Variablen über alle Module)
    • Ablaufstruktur, Vergleiche (z.B. Schleifen, Operationen)
    • Berechnungen, Datenreferenzen (z.B. Korrektheit von Datentypen)
    • Ein-Ausgabe (z.B. Vollständigkeit, Textfehler in der Ausgabe)
    • Andere Prüfungen (z.B. Kommentare, Einhaltung von Standards u.a.)

(Kapitel 5.1): Stellen Sie Ihnen bekannte statische Qualitätssicherungs-Maßnahmen zur Überprüfung von Quellcode in einem Klassifikationsbaum dar!

  1. Review
    • Walkthrough
    • Inspektion
  2. Formale Verfahren
    • Korrektheitsbeweis
    • Symbolische Programmausführung

=> Reviews sind begutachtend, Formale Verfahren sind beweisend

(Kapitel 5.2): Welches Ziel verfolgen formale Verfahren zur statischen Qualitätssicherung? Welche Voraussetzungen müssen gegeben sein?

Ziel:

  • Formale Verfahren versuchen durch Software-Verifikation die Korrektheit eines Programms mit Hilfe mathematische Methoden zu beweisen
  • Es wird gegen eine formale Spezifikation geprüft

Voraussetzungen:

  • Programm und Spezifikation müssen vor der Beweisführung durch ein formales Modell beschrieben werden

=> Prüfobjekt ist meistens der Quellcode

(Kapitel 5.2): Welche Verfahren der formalen Prüfung kennen Sie?

  1. Deduktion
  2. Abstrakte Interpretation
  3. Symbolische Modellprüfung

(Kapitel 5.2): Erläutern Sie die Grundprinzipien sowie den groben Ablauf der Deduktion! Welche Probleme könnten hier auftreten?

Prinzip der mathematischen Beweisführung:

  • die Eigenschaften eines Programms werden durch Vor- und Nachbedingungen spezifiziert
  • die Gültigkeit der Nachbedingungen wird durch Anwendung spezieller Beweisregeln aus den Vorbedingungen abgeleitet
  • Basis der Beweisführung ist ein Logikkalkül (z.B. Aussagenlogik oder Prädikatenlogik)

Ablauf:

  • schrittweise wird für jede Operation gezeigt, dass sich die Beschreibung einer Nachbedingung aus einer beschriebenen Vorbedingung ableiten lässt
    => Zusicherungsverfahren

Probleme:

  • finden geeigneter Zusicherungen ist schwierig (Experten)
  • hohe Kosten für aufwendige Verifikationstätigkeiten
  • zusätzliche Werkzeuge sind unumgänglich (z.B. Generator für Verifikationsbedingungen)
  • nur partieller Korrektheitsbeweis (z.B. Compilerfehler)

(Kapitel 5.2): Beschreiben Sie das Verfahren der abstrakten Interpretation und erläutern Sie die Vor- und Nachteile dieses Verfahrens!

Prinzip der Symbolischen Programmausführung:

  • jeder Befehl eines Programms wird als Gleichung aufgefasst; alle Gleichungen repräsentieren alle Zustände des Programms
    => aus der Lösungsmenge des Gleichungssystems lassen sich Aussagen über die Korrektheit des Programms ableiten
  • Basis der Beweisführung ist die Interpretation des Programms mit symbolischen Stellvertretern für Daten
    • der Prüfer wählt aus der Spezifikation eine Eingabemenge aus
    • der Interpreter arbeitet das Programm ab und erzeugt eine Menge an symbolischen Ausgaben
    • der Prüfer vergleicht die Ein-Ausgabe-Paare

Vorteile:

  • erkannt werden Fehlerzustände, wie array-Überschreitungen, Division durch 0 u.a.
  • die Menge der automatisch erzeugten Ergebnis-Paare stellen Pfade dar und können als Testfälle für dynamisches Testen verwendet werden

Nachteile:

  • Vom Compiler eingefügte Fehler und Einfluss der Laufzeitumgebung bleiben unberücksichtigt
  • bei Gleitkommazahlen in Bedingungen treten in der Praxis Probleme auf

(Kapitel 5.2): Was versteht man unter der symbolischen Modellprüfung? Unter welchen Umständen ist der Einsatz dieses Verfahrens sinnvoll?

Prinzip der symbolischen Modellprüfung:

  • Programm wird durch einen endlichen formalen Zustandsautomaten spezifiziert
  • Basis der Verifikation sind Temporallogiken und Zustandsbäume
    • Aussagen über die Sequenzen der Zustände (Reihenfolge von Ereignissen)
    • Aussagen über die Sicherheit von Zuständen
    • Aussagen über die Lebendigkeit (Erreichbarkeit) von Zuständen

Vorteile:

  • ausgewählte Eigenschaften des Zustandsautomaten können verifiziert werden und gelten auch für ein daraus resultierendes Programm
  • Praktikabilität ist bei schamlen Zustandsräumen sehr gut; aber Anzahl der Zustandsräume kann in der Praxis gigantische Ausmaße einnehmen
  • sehr gute Werkzeugunterstützung

Praxisrelevanz:

  • die volle Automatisierbarkeit führt bei Systemen bis zu etwa 10^20 Zuständen vermehrt zum Einsatz dieses Verfahrens

(Kapitel 5.2): Von welchen Faktoren hängt der Einsatz formaler Verifikationstechniken in der Praxis ab?

Der Einsatz formaler Verifikationstechniken in realen Softwareprojekten hängt von drei Faktoren ab:

  1. Ausdrucksstärke
    => Welche Eigenschaften der Software können formal beschrieben werden?
  2. Skalierbarkeit
    => Ist die Technik auf sehr große Programme anwendbar?
  3. Automatisierbarkeit
    => Ist der Aufwand für die Prüfung vertretbar?

(Kapitel 5.3): Was ist das grundlegende Merkmal einer dynamischen Testtechnik? Welche Testprinzipien sind zu beachten? Leiten Sie daraus die allgemeine Anforderung an Testfälle ab!

Merkmale:

  • Prüfobjekt wird mit Eingabedaten der Stichprobe (Testfälle) ausgeführt
  • Geprüft wird das Verhalten gegen die Spezifikation
    => Testen der realen Implementierung

Testprinzipien:

  1. Zwei Testansätze verfolgen
    • Test, ob ein Programm tut, was erwartet wird (spezifiziertes Verhalten test)
    • Testeb, ob ein Programm etwas außerhalb der Spezifikation tut, was es nicht soll (Verhaltenstest bei Fehleingaben)
  2. Fehlersensibel und ökonomisch Testen
    • systematischer Testfallentwurf
    • Vorgabe von Testzielen und Testendekriterien
  3. Personelle Trennung von Entwicklern und Testern

Anforderungen:

Testfälle müssen

  1. repräsentativ
  2. fehlersensitiv
  3. ökonomisch
  4. redundanzarm
  5. testzielorientiert

sein.

 

(Kapitel 5.3): Welche Vorgaben sind aus qualitätsorientierter und ökonomischer Sicht für das Testen mit anzugeben und wie ermittelt man diese?

  1. Testzielkriterien
    => Können aus der Abdeckung von Testfällen (Vorgabe der Kombination von Anfoderung, strukturelle Abdeckungskriterien etc.) abgeleitet werden.
  2. Testendekriterien
    => Können durch eine Vorgabe der zu erwartenden Fehler oder durch Beobachtung der Fehlerrate bestimmt werden

(Kapitel 5.3): Welche Prüfkriterien sind zu beachten? Was wird dabei getestet?

Prüfkriterium: Funktional

  1. Funktionaler Test
    => Verhalten durch ausgewählte Ein-Ausgaben testen
  2. Zufallstest
    => Verhalten durch zufällig generierte Eingaben testen
  3. Error Guessing
    => erfahrungsbasiert fehlersensible Aspekte testen
  4. Crash Test
    => Versuch das System abstürzen zu lassen
  5. Kompatibilitätstest
    => Verträglichkeitsaspekte testen, Schnittstellen und Formatstandards

Prüfkriterium: Operational

  • Installationstests
  • Ergonomietests
    => Struktur der Menüführung, Aufbau des Hilfesystems und der Dokumentation
  • Sicherheitstest

Prüfkriterium: Temporal

  • Laufzeittest
    => Messungen des Zeitverhaltens von Modulen aber auch vollständigen Use Cases
  • Lasttest
    => Test der spezifierten Lastprofile (Datenlast, Transaktionslast, Speicherung)
  • Stresstest

(Kapitel 5.3): Aus welchen Phasen besteht der Testprozess?

Der Testprozess besteht aus vier Phasen, die jede Prüfebene abdecken:

  1. Modul- bzw. Unittest
  2. Integrationstest
  3. Systemtest
  4. Abnahmetest

=> Der Testprozess verläuft parallel-verzahnt zur Entwicklung (siehe V-Modell) und muss durch das Projektmanagement für alle Testphasen geplant werden

(Kapitel 5.3): Vergleichen Sie die Basistestmethoden bzgl. Ableitung der Testfälle, Vollständigkeitsanforderung und Testphase!

1. Prüfmethode Black-Box-Test:

  • Funktionsorientierter Test,
    • Tester hat keine Information zur Struktur des Programms
    • Testfälle werden auf Basis der funktionalen Spezifikation bzw. den Anforderungen abgeleitet
  • Vollständiger Test
    • Prüfung aller möglichen Kominationen von erwarteten und unerwarteten Eingaben

=> für alle Prüfebenen im Einsatz

2. Prüfmethode White-Box-Test:

  • Strukturorientierter Test
    • die Struktur ist dem Tester bekannt
    • Testfälle werden aus dem Kontrollfluss abgeleitet
  • Vollständiger Test
    • Abdeckung aller möglichen Pfade durch ein Programm

=> meistens für Modultest, teilweise auch für System- und Integrationstest im Einsatz

(Kapitel 5.3): Welche Aktivitäten und Produkte gehören zu einer Testphase?

1. Testplanung

  • Aktivitäten:
    • Testspezifikationen festlegen
    • Ablauf festlegen
  • Produkte:
    • Prüfplan

2. Testvorbereitung:

  • Aktivitäten:
    • Testfallentwurf
  • Produkte:
    • Testfälle
    • Testabläufe
    • Testgeschirr

3. Testdurchführung:

  • Aktivitäten:
    • Testfälle durchführen
  • Produkte:
    • Protokoll, Ergebnisse

4. Testauswertung:

  • Aktivitäten:
    • Testprotokolle analysieren
  • Produkte:
    • Testbericht

5. Testanalyse:

  • Produkte:
    • Fehlerprognose

(Kapitel 5.3): Erläutern Sie die grundlegenden Verfahren der inkrementellen Teststrategien für den Integrationstest sowie die jeweiligen Vor- und Nachteile!

1. Top down Integration:

  • beginnend von den Modulen auf der höchsten Entwurfsebene der Aufruf- bzw. Klassenhierarchie folgend
  • nicht integrierte Komponenten werden durch Platzhalter ersetzt

Vorteile:

  • Steuerungsfunktionalität wird sofort überprüft

Nachteile:

  • Hardware-Test erst sehr spät möglich
  • Stubs benötigt

2. Bottom Up Integration:

  • beginnend von den Modulen auf der niedrigsten Entwurfsebene der Aufruf- bzw. Klassenhierarchie folgend
  • nicht integrierte Komponenten werden durch Testtreiber (erzeugt Eingaben) ersetzt

Vorteile:

  • frühzeitiger Hardware-Software-Integrationstest möglich
  • Fehleingaben

Nachteile:

  • Treiber notwendigen
  • Vorzeigen eines Produktes erst sehr spät möglich