Softwarequalitätssicherung

Aus II-Wiki
Wechseln zu: Navigation, Suche

<hiddenlogin linktext="Passwort für Vorlesungsunterlagen"> Login: spi_stud PW: sqs_06</hiddenlogin>

Hier geht es zur Zusammenfassung.

Inhaltsverzeichnis

Fragen zu Kapitel 1

Frage 1: Worauf bezieht sich der Begriff Qualität im Kontext von Softwareentwicklung?

  • SW- Produkte
  • SW- Entwicklungsprozesse

→ Grad der Erfüllung von Anforderungen von Kunden, Projektmanager, Gesetze

Frage 2: Welche Bedeutung haben Produkt-Qualitätsmerkmale? Welche Produkt-Qualitätsmerkmale sind nach DIN definiert?

  • siehe Folien 5-12
  • relevant für Qualitätsbewertung einer Software
  • ist Bestandteil der Spezifikation und Basis für Produktabnahme
  • folgende Merkmale sind nach DIN definiert:
    • Funktionalität: Umfang (welche Funktionen), Korrektheit, Verträglichkeit (Zusammenarbeit mit anderen Systemen
    • Effizienz: Zeitverhalten, Betriebsmittelbedarf
    • Zuverlässigkeit: Reife (korrekte Arbeit bei Normalbedingung), Robustheit (korrekte Arbeit bei fehlerhaften Bedingungen), Wiederanlauf (Aufwand und Zeitbedarf), Integrität (Safety, Security, Reaktion auf falsche oder verlorene Daten)
    • Benutzbarkeit: Verständlichkeit (verstehen des funktionalen Konzepts), Handhabbarkeit (Aufwand zur Steuerung), Erlernbarkeit
    • Übertragbarkeit: Installationsaufwand (auf definierter Umgebung), Anpassbarkeit (wie aufwändig ist Installation auf anderer Umgebung), Schnittstellenverträglichkeit (einhaltung von Normen)
    • Wartbakeit: Änderbarkeit (Aufwand für definierte Änderungen), Transparenz (Verständlichkeit des Programms), Stabilität (Risiko unerwarteter Nebeneffekte), Testbarkeit (Aufwand für Test von Änderungen)

Frage 3: Versuchen Sie intuitiv Kenngrößen (Metriken) für Qualitätsmerkmale anzugeben! Wodurch zeichnen sich gute Kenngrößen aus?

  • siehe Folien 5-12
  • Funktionalität: Anzahl angebotene Funktionen
  • Effizienz: Arbeitsspeicherbedarf, Reaktionszeit
  • Zuverlässigkeit: Ausfälle pro Monat bei Normalbetrieb
  • Benutzbarkeit: maximala Anzahl Bedienschritte pro Funktionalität (häufig verwendete Funktion sollte mit wenigen Schrittten erreichbar sein, seltener verwendete Funktionen können auch mehr Schritte verlangen)
  • Übertragbarkeit: Installationszeit bei Normsystem
  • Wartbarkeit: Komplexitätsmaß
  • gute Kenngrößen sind Objektiv und damit beeinflussbar

Frage 4: Welche Vorraussetzungen sind zur Prozessverbesserung nötig?

  • Folien 16-17
  • Führungsebene erkennt Notwendigkeit (Argumente: Kostensenkung, Erhöhung von Quantität und Qualität der Software bei gleichen Kosten)
  • Akzeptanz durch Mitarbeiter (realistische Situationseinschätzung, realistische Änderungspläne - nicht alles auf einmal ändern, Schulungsbedarf beachten)
  • technische Unterstützung (geeignete Technologien und Werkzeuge) --> Mitarbeiterakzeptanz beachten!!!
  • Qualitätssicherung: Qulitätsmanagement(-System) Einführen --> TQM beachten!!!

Frage 5: Was beschreibt TQM? Erläutern sie die Grundprinzipien!

  • Folien 18-21
  • Führungsmethode, die auf Mitwirkung aller Mitarbeiter beruht, Qualität in den Mittelpunkt stellt und durch die Zufriedenstellung der Kunden einen langfristigen Erfolg erzielen will
  • Prinzipien:
    • Kundenorientierung: Kunde wird in Entwicklungsprozess einbezogen Nachbesserungen schnellstmöglich umzusetzen, Entwickler verstehen unter welchen Bedingung Kunde Produkt einsetzen will => Erhöhung der Kundenverantwortung
    • Prozessorientierung: evolutionäre Prozessverbesserung --> Fehlervermeidung, faktenbegründete Entscheidungen => Etablierung von Prozessmetriken
    • Mitarbeiterverantwortung: Entwickler prüfen selber Kundenanforderungen und kennen Einfluss eigener Leistung, Entwickler in Entscheidungen mit einbeziehen => Motivations- und Verantwortungssteigerung bei Mitarbeitern

Frage 6: Die Produktivität der Softwareentwicklung kann aus dem Verhältnis von Produktwert und Kosten ermittelt werden. Welche Faktoren können zur Wert- und Kostenermittlung herangezogen werden?

  • Folie 22
  • Wert: Quantität (Produktgröße, Kundenbedürfnis und -zufriedenheit), Qualität (Übereinstimmung mit Qualitätsmodell)
  • Kosten: Gehaltskosten, Investive und laufende Kosten (Werkzeuge, Personalschulung), Qualitätskosten (Fehlervermeidung, Fehlerfindung, Fehlerbehebung, Gewährleistung, Nachbesserungen)

Frage 7: Widerlegen sie das Argument "Wir haben weder Zeit noch Geld für Qualitätssicherung" im Zusammenhang mit den Projektkosten

  • Folie 24
  • Ein Fehler der am Anfang (z.B. bei Analyse des Problems) nicht erkannt wurde, pflanzt sich fort --> mit der Zeit steigen Aufwand und Kosten zur Erkennung und Behebung immer weiter an --> frühe Fehlererkennung
  • Eine Software mit hoher Qualität stellt Kunden zufrieden --> erneuter Auftrag
  • fehler die nicht existieren müssen nicht behoben werden --> Vermeidung ist besser als Ausbesserung (für Vermeidung werden 40% mehr Geld benötigt, für Behebung 60%)
  • => Mittelfristige Kostensekung

Frage 8: Nennen sie die 5 Bestandteile des Maßnahmenkataloges zur Produktivitätserhöhung und benennen sie dazu jeweilst eine mögliche Einzelmaßnahme!

  • Folie 26
  • Leistungserhöhung der Mitarbeiter (Qualifikation, Führung und Motivation)
  • Effizienzerhöhung der Arbeitsschritte (Werkzeuge und Produktionsumgebung)
  • Vermeidung von Überarbeitungsschritten (Unterstützung früher Fehlererkennung, Prototyping)
  • Produktvereinfachung (Produktmodelle)
  • Wiederverwendung (Abstrakte Klassen, Module, Komponenten)

Fragen zu Kapitel 2

Frage 1:Was sind die Hauptaufgaben eines Qualitätssicherungssystems?

  • Folien 2 - 4
  • beschreibt Ziele, Abläufe, Formalismen, Methoden und Verantwortlichkeiten für die Qualitätssicherung
  • Aufgaben:
    • Qualität vorgeben (Qualitätsmodell entwerfen)
    • Qualität organisieren (Management festlegen)
    • Qualität prüfen (Abgleich mit Modell)

Frage 2: Welche Schritte müssen sie tun um in einem Unternehmen ein Qualitätssicherungssystem einzuführen?

  • Folien 5 und 6
  • Ausgangspunkt sind Unternehmensstrategie und Projekt- bzw. Produkttyp(en)
  • parallel:
    • Aufbauorganisation Managementhierarchi und Kommunikation
    • Ablauforganisation (wie lüft QS ab)
      • Vorgehensmodell
      • Integration der QS in Entwicklungsprozess
  • alles zusammen fließt in das QS-Handbuch ein, bzw. Handbuch beeinflusst Ablauforganisation

Frage 3: Was versteht man unter einem QS-Handbuch und woraus besteht es?

  • Folie 13
  • bestimmt die Richtlinien zur SW-QS in Unternehmen
  • projektübergreifender Inhalt:
    • QS-Plan (Glossar, Struktur und Bericht)
    • Qualitätsmodell (Merkmale und Kenngrößen)
  • projektspezifischer Inhalt:
    • QS-Plan
    • Projekt-Qualitätsmodell
    • Projekt-Qualitätsbericht

Frage 4: Was müssen sie tun, um ihr Qss nach DIN/ISO zertifizieren zu lassen?

  • Folie 20
  • unter Umständen Kundenzufriedenheit
  • geforderte Dokument:
    • Art und Nutzung von Entwicklungsdokumenten und Prozesskenngrößen
    • Art und Nutzung von Qualitätsaufzeichnungen
      • Ergebnisse interner Audits
      • Ergebnisse von Fehleranalysen
    • Korrekturmaßnahmen, Vorbeugungsmaßnahmen
    • QS-Handbuch (Mustergliederung)


Frage 5: Was versteht man unter Prozessorientiertem Managementansatz?

  • Folie 19 und 23
  • lenken und ständige Verbesserung von Kernprozessen (siehe V-Modell)
  • beachtet werden:
    • Produktentwicklung
    • Qualitätssicherung
    • Konfigurationsmanagement

Frage 6: Worin unterscheidet sich eine Zertifizierung nach DIN/ISO vom Einsatz des V-Modells?

  • V-Modell
    • regelt nur Ablauf der Entwicklung: Systemkonzept, Anforderungsanalyse... und Testphasen
    • ist somit nur datailieterer Teil von DIN/ISO (9001)
  • DIN/ISO
    • regelt komplett die Grundlagen des QSS und normt Konzepte und Begriffe
    • QSS Maßnahmen (vorbeugende und korrigierende)
    • regelt Einführung eines QS-Systems

Frage 7: Wodurch unterscheiden sich analytische und konstruktive Maßnahmen zur Fehlerbehandlung?

  • Folie 31
  • das Ziel konstruktiver Maßnahmen ist es Fehler zu vermeiden
  • analytische Maßnahmen versuchen Fehler zu finden (nicht zu korrigieren dafür gibt es Änderungsmanagement)

Frage 8: Welche Schlussfolgerung sind aus dem Summationseffekt von Fehlern zu ziehen?

  • Folie 28/29
  • Fehler in allen Entwicklungsphasen entstehen und sich prozessübergreifend fortpflanzen
  • Summationseffekt beschreibt, dass sich Fehler die in Phase N-1 entstehen und Fehler die in Phase N entstehen summieren

Frage 9: Welchen Kategorien können Fehler zugeordnet werden und was kann daraus abgeleitet werden??

  • Folien 33 - 35
  • Kategorien: Quelle, Ursache, schwere, Fehlererkennung
    • Quelle und Ursache ermöglichen es schwächen im Entwicklungsprozess zu erkennen und Fehlerquellen zu eliminieren --> konstruktive Maßnahmen
    • Fehlererkennung ermöglicht es Fehlerfortpflanzung zu vermeiden --> analytische Maßnahmen
    • aus der schwere lässt sich ableiten wie die Beseitigung zu planen ist und um den Projekterfolg zu bewerten

Frage 10: Auf welcher Basis können Fehlerprognosen aufgestellt werden? Welchen Nutzen bringen Fehlerprognosen?

  • Folien 36 - 28
  • auf der Basis von Fehlerdaten, die aus empirischen Beobachtungen des Fehlverhaltens gewonnen werden
  • es sind einige Faktoren abschätzbar:
    • Wieviele Fehler sind überhaupt zu erwarten
    • Wie viele Fehler müssen nach der Korrektur noch gesucht werden?
    • Welche Komponenten müssen noch getestet werden?

Fragen zu Kapitel 3

Frage 1: Was versteht man unter Prozess-Assessment und was ist das Ziel?

  • To assess = festlegen, festsetzen
  • Assessment = (Verfahren zur) Bewertung von Prozessen
  • Ermittlung der Stärken und Schwächen
  • Benennung von Ansatzpunkten und Maßnahmen für die Verbesserung
  • Ergebnis: Festlegung des aktuellen Reifegrades
  • Ziel: sichere und optimierbare Prozesse
  • Qualitäts- und Produktivitätssteigerung

Frage 2: Skizzieren Sie grob den Zyklus zur Prozessverbesserung!

Dies ist eine Grafik mit Rahmen und Knoten, die Hyperlinks enthalten könnten.

Frage 3: Was ist das Capability Maturity Model (CMM/CMMI)?

  • Vorgehensmodell (Referenzmodell) zur Bewertung von Prozessen für fünf definierte Prozessreifegrade
    • die Kernprozesse (z.B. Entwicklung, Management,...)
    • die Kernmethoden(z.B. Testen, Modellieren,....)
    • die Kernaktivitäten(Testfallentwurf,Testdokumentation,...)

Frage 4: Welche Kernmerkmale zeichnen die Reifegrade im Capability Maturity Model aus?

  1. Ad hoc Prozess
    • keine Prozessvorgaben, kein Projektmanagement
  2. stabiler, wiederholbarer Prozess
    • Projekt-, Konf. Management und Produkt- QS-maßnahmen eingeführt
  3. definierbarer Prozess
    • Prozessmodell eingeführt
    • keine Prozessanalyse
  4. verwaltbarer Prozess
    • Prozessmetriken sind etabliert
    • Prozess wird dokumentiert
    • keine methodische Optimierung
  5. optimierbarer Prozess
    • Verwendung der Prozessmetriken zur ständigen Prozessverbesserung

Frage 5: Worin unterscheidet sich das Vorgehen von SPICE im Vergleich zum CMM/CMMI?

  • Reifegrad: performed (durchführbar) für Kleinstprojekte
  • Unterschiedliche Reifegrade für die verschiedenen Kernprozesse

Frage 6: Welche Vorteile bringt ein Prozess-Assessments einem Softwareunternehmen?

  • Prozesserkennung- und einschätzung, Prozessverbesserung
    • höhere Qualität und Produktivität
    • Marketingargument

Frage 7: Was sind die wesentlichen Aufwandsfaktoren, die mit einem Prozess-Assessment verbunden sind?

Vorbereitung:

  • Schulung der Auditoren, Referenzmodell für das eigene Unternehmen „tailorn“

Durchführung des Assessment

Auswertung:

  • Interpretation der Ergebnisse, Maßnahmenauswahl

Frage 8: Welche Nachteile haben die Verfahren zum Prozess-Assessment?

  • Personelle Aspekte und Embedded Systems nicht berücksichtigt

Frage 9: Was ist die Idee der Clean-Room-Entwicklung?

  • Prozess braucht nicht bewertet werden, da er von vornherein „fehlerfreie“ Software erzeugt
    • durch Formale Spezifikation und Verifikation
    • durch personelle Trennung Entwicklung und Test

Fragen zu Kapitel 4

Frage 1: Was versteht man unter Zertifizierung nach DIN/ISO 9000?

  • Durch potenzielle Auftraggeber akzeptierte Darlegung des Qualitätssicherungssystems nach standardisierten Vorgaben

Frage 2: Was ist für die Zertifizierung des Qualitätssicherungssystems darzulegen?

  • Entwicklungs- und QS Dokumente
    • Audits und Prozesskenngrößen
    • Vorbeuge- und Korrekturmaßnahmen
    • Fehleranalyse
    • (Kundenzufriedenheit)

Frage 3: Was wird durch DIN/ISO 9000-9004 vorgegeben?

  • 9000: Normung der Begriffe im Kontext Qualitätssicherung
  • 9001-3: Normung des Qualitätsmanagementsystems (Vertrags relevant, fokussiert auf V-Modell)
    • 9001: allgemeine Forderungen zu SW-Produktion und SW-Wartung
    • 9002: Forderungen zur Fehlervermeidung
    • 9003: Forderungen zur Fehlererkennung und Endprüfung
  • 9004: Leitfaden zur Qualitätsverbesserung

Frage 4: Was versteht man unter einem Systemorientierten Managementansatz?

  • Integrative Lenkung der Kernprozesse Entwicklung, Qualitätssicherung und Konfigurationsmanagement

Frage 5: Was wird durch das V-Modell vorgegeben

  • Vorgehensmodell (Vorgehensweise, Methoden und Werkzeuge) mit
    • Integrations von Testentwurf (linke Achse) und Testdurchführung (rechte Achse)
    • Prüfung und Test aus Anwendersicht (Validierung) und Entwicklersicht (Verifikation)

Fragen zu Kapitel 5

Frage 1: Welche Schlussfolgerungen sind aus dem Summationseffekt von Fehlern zu ziehen?

  • Verweilzeit von Fehlern reduzieren (Kosten senken)
    • analytische Maßnahmen (Prüfung, Reviews) auch in frühen Phasen etablieren

Frage 2: Welche Informationen müssen bei einer Fehleranalyse zusammengestellt werden?

  • Fehlerkategorisierung
    • Technologieschwächen erkennen, Maßnahmen festlegen
  • Fehlerdokumentation
    • Fehlerprognosen
    • Verbesserung des Prozessmodells

Frage 3: Welchen Kategorien können Fehler zugeordnet werden und was kann daraus abgeleitet werden?

  • Quelle, Ursache:
    • Prozessschwächen → konstruktive Maßnahmen
  • Schwere: Folgewirkung → nötigste Maßnahmen, Prioritäten
  • Fehlererkennung: → Wirksamkeit von analytischen Maßnahmen
  • Rekonstruktion: → Prognosen, künftige Vermeidung

Frage 4: Welche Ziele werden mit einer Fehleranalyse verfolgt?

  • Längerfristige Erfahrung → Prozessverbesserung, bessere Prozessplanung
  • kurzfristige Reaktion, Fehlerprognose → aktuelle Maßnahmen, Produktifreigabe, Wartbarkeit

Frage 5: Auf welcher Basis können Fehlerprognosen aufgestellt werden?

  • Empirische Beobachtung des Fehlerverhaltens
  • Fehlermodelle
    • empirische Untersuchungen zu Fehlerraten, Folgefehler
    • exponentielles verhalten von Fehlern
    • Berechnungsmodelle → Folie 23,24

Frage 6: Wodurch unterscheiden sich analytische und konstruktive Maßnahmen zur Fehlerbehandlung?

  • konstruktiv:
    • Fehlervermeidung bei Softwareerstellung durch Prozessverbesserung
      • organisatorisch z.B. Konfigurationsmanagement
      • technologisch z.B. Werkzeuge
      • psychologisch z.B. Motivation
  • analytisch:
    • Fehlererkennung:
      • Messung, Tests am Produkt
      • Vergleiche, fachlichen Beurteilungen mit anderen Produkten

Fragen zu Kapitel 6

Zusatz zu Kapitel 6.1

  • TQM
    • Prozessorientierung → konstruktive Maßnahmnen
    • Mitarbeitermotivierung → konstruktive Maßnahme
  • CMM/I
    • 1 → 2 (Projekt + Konfiguration + Q - management)
    • 2 → 3 definiertes Prozessmodell
  • V-Modell
    • Definition des Vorgehens ↓ V ↑ Verzahnung von Qualitätssicherung + Konfigurationmanagement + Projektmanagement + Entwicklungsmanagement

Frage 1: Welches Ziel verfolgen konstruktive Maßnahmen zur SQS? Welche Kategorien von Maßnahmen werden unterschieden?

  • Ziel: Fehlervermeidung
    • Prozess anpassung und Verbesserung
      → Qualität und Produktivität steigt
    • Kategorien:
      • technische
      • Organisatorische
      • und psychologische Maßnahmen

Frage 2: Nennen Sie die wichtigsten organisatorischen Maßnahmen zur SQS! Stellen Sie den Bezug zum Reifegradmodell CMMI her!

  • Einführung von:
    • Projektmanagement → Reifegrad 2
    • Konfigurationsmanagement → Reifegrad 2
    • Prozess definieren → Reifegrad 3

Frage 3: Welche Aspekte müssen in der Projektplanung berücksichtigt werden, welche Ergebnisse entstehen in der Projektplanung?

  • Projektorganisation: Organigramm, Verantwortlichkeiten
  • Projektbeschreibung:
    • Ablaufbeschreibung (Aufgabendekomposition, Grannt-Diagramm), Verantwortlichkeiten, Risiken
    • Entwicklungsumgebung, Abnahmevorgehen
      • Integration Qualitätssicherung:
        • Qualitätsmodell → Qualitätssicherung
      • Integration Konfigruationsmanagement:
        • Änderungesmanagementplan

Frage 4: Weshalb ist das Konfigurationsmanagement von besonderer Bedeutung für die Qualitätssicherung?

  • Softwareprodukte unterliegen im Lebenszyklus ständigen Anforderungsänderungen
    • kontrollierte, verfolgbare und methodische Änderung und Ergänzung (Varianten, Revisionen ) von Software
    • Konsistenz und Vollständigkeit erhalten, Architektur bewahren

Frage 5: Was ist die s.g. Baseline für das Konfigurationsmanagement?

  • Bezugskonfiguration alle Phasen (grob: Anforderungen, Entwurf, Produkt)
  • Menge von benannten Entwicklungsergebnissen, deren Funktionen und Schnittstellen aufeinander abgestimmt sind eine Aufgabe (Zweck) realisieren

Kapitel 6 Frage 5.jpg

Frage 6: Nennen Sie die vier Hauptaufgaben des Konfigurationsmanagements und ihre Zielstellung?

  • → Bilder 11,12
  • Bestimmung der Konfigurationsmanagement
  • Änderungssteuerung ( Änderung erfassen / aufnehmen und kontrolliert durchführen lassen)
  • Änderungsüberwachung (Konsitenz z.B. Vollständigkeit durch Abgleich von Produkt und Dokumentation)

Frage 7: Was sind Versionen, Varianten und Revisionen im Kontext von Softwareentwicklung?

  • → Bild 10
  • Version: → Zusammengehörige Varianten und Revisionen
  • Variante: → Elemente besitzen gleiche Spezifikation, aber unterschiedliche Implementierung
  • Revision: → Element wurde zwecks Verbesserung modifiziert

Frage 8: Ein wesentlicher Teil des Konfigurationsmanagements ist das Änderungsmanagement. Wann wird eine Änderung als interner Auftrag ausgeführt? Welche Statuszustände und welche Produktzustände werden dabei unterschieden?

  • Siehe Bild 14,15

Kapitel 6 Frage 8.jpg

Frage 9: Welche vier Aufgabengruppen fallen in den Bereich der Wartung?

  • → Bild17
    • Korrektur zur Fehlerbeseitigung
    • Anpassung an neue Betriebsumgebungen
    • Anpassung an neue Anforderungen
    • Verbesserung der Qualitätsmerkmale

Frage 10: Welche Probleme verhindern eine effektive Wartung?

  • Bild 18
    • Entwicklungsprozess nicht nachvollziehbar
    • Unvollständige, nicht dokumentierte Änderungen
    • Schlechte Verfolgbarkeit von Anforderungen
    • Personalfluktuation

Frage 11: Welche zwei Hauptmaßnahmen verbessern effektiv die Wartbarkeit?

  • Einführung eines Konfigurationsmanagement
  • Berücksichtigung der Wartbarkeit beim Entwurf

Frage 12: Welche zwei Organisationsformen der Wartung sind möglich, nennen Sie dazu die Vor- und Nachteile

  • Bild 19
  • Entwicklerteam:
    • Vorteile: Produktkenntnisse, wartungsfreundlicher Entwurf
    • Nachteile: Produktperfektion, Personalfluktuation
  • Wartungsteam:
    • Vorteile: Wartungskenntnisse, Wartungsinfrastruktur
    • Nachteile: Produktkenntnisse aneignen

Frage 13: Welche 6 Aufgaben gehören zum Wartungs-Vorgehensmodell und ordnen Sie die Aufgaben einem Zustand im Änderungs-Status-Modell zu?

  • Annahme der Anforderungen, Kostengrobabschätzung
  • Analyse der Anforderung → Release bzw. Korrektur → Lösungskonzept → betroffene Module (beantragt/geplant)
  • Aktualisierung der Dokumentation (in Bearbeitung)
  • Codeaktualisierung (in Bearbeitung)
  • Freigabeprüfung (vorgelegt)
  • Abschluss → Archivierung, Bericht (erledigt / genehmigt)

Frage 14: Durch welche technischen Maßnahmen wird das Vorgehensmodell einer Softwareentwicklung unterstützt und worauf beziehen sich diese?

  • Voraussetzung: Definition Vorgehensmodell
  • → Bereitstellung der Softwareentwicklungsumgebung
    • Repository-basiert
    • Methoden und Werkzeuge
    • geeignete Programmiersprache

Frage 15: Welche drei Werkzeugkategorien können in SEU´s eingesetzt werden? Geben sie Beispiele an! Inwieweit tragen Werkzeuge zur Qualitätssicherung bei?

  • Fehler vermeiden, Produktivität steigern
    • Entwicklungswerkzeuge mit Prüffunktion (Prüfung von Spezifikation, Modellen, Konsistenz)
    • Wartungswerkzeuge (Codeanalysatoren, Navigatoren, Dokumentenersteller)
  • Fehlerfinden
    • Testwerkzeuge (Testdaten- und Testfallgeneratoren)

Frage 16: Warum wird den konstruktiv-psychologischen Maßnahmen zur SQS ein hohes Erfolgspotential zugesprochen? Nennen Sie negative Aspekte!

  • Softwareentwicklung ist kreativer, intellektueller Prozess
    • Motivation, Kommunikation setzt immaterielle Ressourcen frei
  • Negative Aspekte
    • Betriebsklima, gestörte Kommunikation, Führungsstil
    • Arbeitsplatz (Gestaltung, Dichte)

Frage 17: Nennen Sie Maßnahmen der Projektleitung zur zielgerichteten positiven Beeinflussung der Mitarbeiter!

  • Schaffen von Identifikationspotentialen
  • Unterstützung (Ressourcen, Schulung) und Anerkennung
  • Konfliktverfolgung und Konfliktbewältigung
  • Förderung von individueller Mitarbeiterentwicklung

Frage 18 (unwichtig): Was beschreibt die Bedürfnispyramide nach Maslow?

  • Zusammenstellung der motivierenden und demotivierenden Faktoren auf soziale und psychologische Bedürfnisse von Personen → Bild 12

Frage 19: Nennen Sie die vier wichtigsten Anforderungen an die Mitarbeiter für die Qualitätssicherung!

  • Nötige Fachkompetenz (Qualitätsverantwortung)
  • Wunsch und Bereitschaft zu permanenter Fortbildung
  • vernünftiges Maß an Autonomie und Mitgestaltung
  • Sozialkompetenz (Team, Kommunikation)

Fragen zu Kapitel 7

Frage 1: Nach welchen sechs Aspekten können sich Maßnahmen zur analytischen Qualitätsprüfung unterscheiden?

  • Bezugsobjekte
    • formal, halbformal, informal
  • Verfahrensweise
    • Beweis, Experiment, Gutachten
  • Unterstützung
    • halb- bzw. vollautomatisch, oder manuell
  • Vollständigkeit
    • vollständige, Stichprobe
  • Zustand des Prüfobjektes:
    • liegt als Beschreibung vor (passiv) → statische Maßnahmen
    • wird ausgeführt (aktiv) → dynamische Maßnahmen

Frage 2: Zu welchem Zeitpunkt ist die Durchführung einer analytischen QS-Maßnahme am sinnvollsten? Begründen Sie ihre Aussage!

  • Frühzeitige → Summationseffekte vermeiden
    • Review (Spezifikation, Entwurf, Code) →hohe Fehlerfindung mit wenig Aufwand
  • Testen sofort nach Teilimplementierung

Frage 3: Wodurch unterscheiden sich statische und dynamische Maßnahmen zur analytischen Qualitätsprüfung?

  • Statisch:
    • Prüfobjekt: Dokument liegt vor
    • in allen Phasen,
    • frühzeitige Begutachtung
  • Dynamisch:
    • Prüfobjekt: Code liegt vor
    • nach der Implementierung
    • Testen der Ausführung

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

Statische QS-Maßnahmen
Review
Formale Verfahren
Inspektion
Walkthrough
Korrektheitsbeweis Symbolische Programmausführung
Begutachtend
beweisend
Prüfen

Frage 5: Wie laufen Walkthrough und Inspektion ab? Nennen Sie mindestens zwei mögliche Prüfbereiche für Inspektionen!

  • Walkthrough: Testfälle werden manuell simuliert und diskutiert
  • Inspektion: Quellcode wird Zeile für Zeile diskutiert
    • Variablendeklaration, Korrektheit von Vergleichsbedinugen, Schnittstellen

Frage 6: Wann sollten formalisierte Prüftechniken in den Softwareentwicklungsprozess integriert werden?

  • Sehr hohe Zuverlässigkeitsanforderungen
    • Sicherheitskritische Bereiche
    • Gesetzanforderung

Frage 7: Was ist das Grundprinzip bei formalen statischen Prüftechniken? Nennen Sie die wesentlichen Vor- und Nachteile!

  • Grundprinzip
    • Einführung von symbolischen Stellvertretern für Ein- und Ausgabeverhalten
    • Vorteile
      • Reduktion von Testfällen durch formales Beweisen
      • Ableitung von dynamischen Testfällen wird unterstützt
      • Korrektheitsbeweis möglich (unter idealen Bedingungen z.B. Qualität der Spezifikation)
    • Nachteile
      • hoher Aufwand für Spezifikation und Verifikation
      • mangelnde Akzeptanz in der Praxis
      • wenig Experten und mangelnde Werkzeugunterstützung

Frage 8: Auf welchem Grundprinzip erfolgt der formale Korrektheitsbeweis? Geben Sie eine Vor- und Nachbedingung als Ausgangspunkt für die Berechnung der Fakultätsfunktion an!

  • Für jede Operation (elementar, komplex) wird eine Vorbedingung (Zustandsmenge der zulässigen Eingabewerte) formuliert, die zu einer definierten Nachbedingung führt (Zustandsmenge der zulässigen Ausgabewerte)
  • Fakultätsberechnung
    • Vorbedingung (Menge der natürlichen Zahlen)
    • Nachbedingung: oder
    • Interne Zusicherung während der Beweisführung
      • n = {Z1} m1 .... {Zi} mi {Zi+1} mi+1 ... mn-1 {Zn} = Vor
      • Zi+1 ist die Bedingung die sich unter Voraussetzung ergibt, das die Operation mi ausgeführt ist und sich als Zi ergibt

Frage 9: Auf welchem Grundprinzip erfolgt die Symbolische Programmausführung? Notieren Sie die Interpretation des folgenden Programmauszuges (drei Durchläufe) im Pseudokode!

  • Für jeden Pfad im Programm wird ein symbolischer Ausdruck (Vorbedingung) formuliert, zu der nach interpretativer Ausführung der dazugehörige symbolische Ausgangszustand ermittelt wird

Kapitel 7 Frage 9.jpg

Frage 10: Welcher Bezug existiert zwischen der Symbolischen Programmausführung und dynamischen Testtechniken?

  • Ergebnis der Symbolischen PA sind Testfälle, die zum dynamischen Testen verwendet werden können
  • ausgewählte Testfälle zum dynamischen Testen können entfallen

Frage 11: Wann kann eine automatenbasierte Prüfung ohne größeren Aufwand zu Einsatz kommen?

  • Die Spezifikation ist ausreichend, um in einen Automaten überführt zu werden
  • das domänenspezifische Vorgehen sieht sowieso die Modellierung als Automat vor

Frage 12: Welche Voraussetzungen sind für die automatenbasierte Prüfung notwendig und welche Aussagen liefert dieses Prüfverfahren?

  • Voraussetzung:
    • es liegt ein formaler Zustandsautomat vor → Bild 20

Frage 13: Was ist das grundlegende Merkmal einer dynamischen Testtechnik? Wie ist der Testansatz?

  • Geprüft wir das reale Verhalten gegen die Spezifikation durch Ausführung mit Stichproben-Eingabedaten
  • auf erwartetes und nicht erwartetes Verhalten prüfen

Frage 14: Nennen und Erläutern Sie die Grundsätze, die beim Testen zu beachten sind!

  • → Bild 5 und 6
  • vollständiger Test nicht möglich → Stichproben
  • ökonomisch testen → nur so viel wie nötig
    • Testziele und Testendekriterien angeben
  • personelle Trennung von Entwicklung und Test
  • Fehleranalyse und -prognosen berücksichtigen

Frage 15: Leiten Sie aus den Grundsätzen zum Testen die allgemeinen Anforderungen für Testfälle ab!

  • Testfälle systematisch entwerfen
    • repräsentativ, fehlersensitiv
  • Testfälle systematisch reduzieren
    • ökonomisch, redundanzarm
    • Testzielorientiert

Frage 16: Welche Vorgaben sind aus ökonomischer Sicht beim Testfallentwurf mit anzugeben und wie ermittelt man diese?

  • Testzielkriterien
    • aus der Abdeckung von Testfällen (Vorgabe der Kombination von Anforderung, strukturelle Abdeckungskriterien usw.)
  • Testedendekriterien
    • durch eine Vorgabe der Anzahl der zu erwartenden Fehleranalyse (heuristische Fehlerabschätzung)
    • durch Beobachtung der Fehlerrate (Fehler-Zeit-Statistik)

Frage 17: Aus welchen Phasen (Testarten) besteht der Testprozess? Benennen Sie für die Testphasen die Testaspekte und die Testvoraussetzungen!

Modultest Integrationstest Systemtest Abnahmetest
Voraussetzungen
Modulspezifikation, Implementierung Anforderungs- und Schnittstellen- spezifikation

getestete Module

Anforderungs- spezifikation Systeminstallation, benannte Abnahmekriterien
Testaspekte
Funktion

Strukturelle

Effizienz

Anforderungen für Teilsysteme

Schnittstellen

Anforderungen und Qualtitätsmerkmale, Systemgrenzen Abnahmekriterien

(Alpha-, Beta- Test)

Frage 18: Welche inkrementellen Teststrategien für den Integrationstest kennen Sie und vergleichen Sie diese!

Top-Down Bottom-Up
Vorteile:
  • Steuerungsfunktionalität früh sichtbar (Prototyping)


Vorteil:
  • „fehlerhafte“ Testeingaben
  • frühzeitiger HW-SW-Test


Nachteil:
  • Dummies nötig (Erzeugen von Rückgabewerten)
  • Hardwaretest erst sehr spät möglich


Nachteil:
  • Treiber nötig (Testdateneingabe)
  • Vorzeigen eines „Produktes“ erst sehr spät möglich


Outside-In:Kombination Big-Bang: willkürliche Module

Frage 19: Welche Gemeinsamkeit besteht zwischen dem Integrationstest in der Endphase, dem Systemtest und dem Abnahmetest? Worin sind die wesentlichen Unterschiede zu sehen?

  • Gemeinsam: Testen von Anforderungen
  • Unterschiede:
  • Integrationstest
    • Anforderungen an Teilsysteme werden getestet
      • Übergabe zum Systemtest
  • Systemtest:
    • zusätzliche Test von Stresssituationen
  • Abnahmetest:
    • Testen der spezifizierten Abnahmekriterien (Auftragssoftware)
    • Alpha-Test (Pilottest beim Entwickler, Verkaufsprodukt)
    • Beta-Test (ausgewählte Kunden)

Frage 20: Untersetzen Sie die Testphasen in ihre Teilaufgaben!

  • Testplanung:
    • Testplan: Ziel, Ressorucen, Zeit, Verantwortlichkeiten
  • Testentwurf:
    • Testspezifikation: Methoden, Objekte, Testziele, Testende
  • Testfallentwurf:
    • Testfälle: Eingabewerte, erwartete Ausgaben
  • Testdurchführung:
    • Testprotokolle: Ablauf, Fehlerkategorien
  • Testauswertung:
    • Testbericht: Fehleranalyse, Testergebnisse

Frage 21: Welche Basistestmethoden kennen Sie und vergleichen Sie diese!

Black-Box-Test

→ funktionsorientiert

White-Box-Test

→ strukturorientiert

Innenleben Nicht bekannt bekannt
Ableitung von Testfällen Aus der Ein- und Ausgabespezifikation (funktionale Anforderung) Aus dem Kontrollfluss
Vollständigkeit (theoretisch) Alle zulässigen und nicht erwarteten Eingaben Alle Pfaddurchläufe
Anwendung Alle Testphase Modultest, bedingt Integrationstest

Fragen zu Kapitel 8

Frage 1: Erklären Sie die Grundidee der Testmethode "Funktionsabdeckung" und nennen Sie Ziel und Nachteil!

  • Idee: für jede spezifizierte Funktion
    • aus dem Pflichtenheft
    • aus dem Use-Case
wird genau eine Ein-Ausgabe-Spezifikation erstellt, mit der ein Test (auf der Systemebene) ausgeführt wird
  • Ziel: Nachweis, das Funktionen vorhanden und ausführbar sind
  • Nachteil:
    • Test nur des Normalverhaltens
    • keine Ausnahme- und Grenzfälle

Frage 2: Wozu werden die Methoden "Äquivalenzklassen- und Grenzwertanalyse", "Ursache-Wirkungsgraph-Analyse“ und "Zustandsgraph-Analyse" verwendet?

  • Methoden zur
    • systematischen Testfallableitung und Testfallreduktion (für alle Testarten)
    • bei U-W-A und ZG-A zusätzlich: Validierung der Spezifikation

Frage 3: Erklären Sie die Grundidee der Methode "Äquivalenzklassen-Analyse" und nennen Sie Ziel und Nachteil!

  • Idee: Menge von Eingaben und Ausgaben identifizieren, wo der Test mit einem beliebigen Vertreter daraus die gleichen Fehler findet (systematische größte Testfallreduktion)
  • Ziel: Nachweis, das zulässige bzw. unzulässige Eingaben korrektes Verhalten erzeugen
  • Nachteile:
    • Grenzfälle werden nicht explizit getestet → Grenzwertanalyse nötig
    • Wechselwirkung zwischen Äquivalenzklassen wird nicht berücksichtigt → Ursache-Wirkungsgraph-Analyse nötig

Frage 4: Welche Regeln sind für die Äquivalenzklassenbildung zu befolgen?

  • Für alle Ein- und Ausgabespezifikationen is eine zulässige Äquivalenzklasse festzulegen
  • zu jeder Äquivalenzklasse ist mindestens eine unzulässige Äquivalenzklasse festzulegen
  • Elemente einer Aufzählung sind jeweils gültige Äquivalenzklassen, Beispiel Aufgabe 6

Frage 5: Erklären Sie die Grundidee der Methode "Grenzwert-Analyse" und nennen Sie Ziel und Nachteil!

  • Idee: Testfälle so auswählen, das der Grenzwertbereich für Ein- bzw. Ausgaben abgedeckt wird
  • Ziel: fehlersensible Testfallauswahl aus Äquivalenzklassen
  • Nachteil: Wechselwirkung zwischen Äquivalenzklassen wird nicht berücksichtigt → Ursache-Wirkungs-Analyse

Frage 6: Beispiel "Grenzwert-Analyse"

  • Beispielwaren: Hosen, Pullover, Jacken
  • siehe Foliensatz

Frage 7: Erklären Sie die Grundidee der Methode "Ursache-Wirkung-Analyse" und nennen Sie Ziel und Nachteil!

  • Folien 16, 17
  • Idee: E-A-Spezifikation in einen Booleschen Graph umsetzen
  • Ziel: Wechselwirkungen zwischen Äquivalenzklassen erfassen
    • frühzeitiges Validieren der Spezifikation
    • Entscheidungstabellen erzeugen Vollständigkeit
  • Nachteil: bei komplexen Spezifikationen schwierige Grapherstellung

Frage 8: Beispiel Anwendung "Ursache-Wirkung-Analyse"

  • siehe Foliensatz

Frage 9: Erklären Sie die Grundidee der Methode "Zustandsgraph-Analyse" und nennen Sie Ziel und Nachteil!

  • Idee: die Spezifikation in einen Zustandsgraph umsetzen
  • Ziel: Ableitung von Testfällen zum Testen von Prüfobjekten, deren Verhalten von einem Vorzustand (Gedächtnis) abhängig ist
    • frühzeitiges Validieren der Spezifikation
    • Zustands-Übergangs-Tabellen erzeugen Vollständigkeit
  • Nachteil: Entstehung sehr vieler Testfälle möglich (Zustandsexplosion)

Frage 10: Welche Testfälle können aus dem folgenden Zustandsgraph für einen Geldscheinwechselautomat abgeleitet werden?

Kapitel 8 Frage 10.jpg

Zustände:
Ereignisse
Passiv (1)
Schein Prüfen (2)
Ausgabe berechnen (3)
Geld Ausgabe (4)
Schein eingelegt
(2)
Schein gültig
(3)
Geld vorhanden
(4)
Ende
(1)
abbrechen
(1)
(1)
Schein ungültig
(1)
Geld reicht nicht
(1)
  • aus Automat 6 Testfälle
  • Zustands-Übergangs-Erweiterung
  • Zustands-Erweiterung