Welchen Kontext bei Qualitätsmetriken kennen Sie? Nennen Sie mindestens drei:
Produkteinsatz
Produktänderung
Produktwechsel
Nennen sie die Phasen des SPI-Zyklus nach Deming:
Was ist das Ziel des Zykluses?
Plan: Planen der nächsten Iteration des SPI-Zyklus basierend auf aktuellen Erfahrungswerten (inkl. Zielsetzung)
Do: Durchführen der geplanten Aktivität (Task, Projekt, usw.)
Check: Überprüfung der Produkt- und Prozessergebnisse (z.B. durch Messung)
Act: Analyse der ERgebnisse als Feedback für den nächsten SPI Zyklus.
Ziel -> Verbesserung der Erfolgsfaktoren, Vermeidung von Wiederholungsfehlern, Beseitigen von Schwachtellen usw.
Welche vier Zielsetzungen, die sich gegenseitig beeinflussen, werden bei Softwareentwicklung sichtbar?
Qualität
z.B.: Anzahl der Fehler in einem Produkt, Termin- und Kostentreue
Quantität
z.B.: die Anzahl der implementierten Funktionen, Function Points, Lines of Code (LOC)
Entwicklungsdauer (z.B.: in Monaten) bzw. Aufwand (z.B.: in Personenmonaten)
z.B.: “kleine” vs “große” Projekte
Kosten
Nennen Sie die Phasen im Test-driven Development:
Think
Auswahl der zu implementierenden Anforderungen.
Spezifikation der Testfälle.
Red: Implementierung und Ausführung der Testfälle
Alle Tests müssen fehlschlagen.
Green: Implementierung der Komponenten und Klassen und Ausführung der Testfälle
Testfall erfolgreich → weiter bei Schritt 4.
Testfall schlägt fehlt → weiter bei Schritt 3.
Refactor: Änderung und Optimierung der Implementierung ohne Änderung der Funktionalität; Ausführung der Testfälle.
Testfälle dürfen nicht fehlschlagen.
Auswahl der nächsten Anforderung (Schritt 1)
Nennen Sie die Elemente einer User Story Card:
Card
Conversation
Confirmation
Was ist die Card bei einer User Story card?
Die Karte (Card) ist das physische Medium, das die User- Story beschreibt. Hier werden die Anforderung, ihre Dringlichkeit, die erwartete Dauer für Entwicklung und Test sowie die Abnahmekriterien für diese Story identifiziert. Die Beschreibung muss genau sein, da sie im Product Backlog verwendet wird.
Wofür steht “Conversation” bei einer User Story Card?
Die Diskussion (Conversation) erklärt, wie die Software genutzt werden wird.
Was ist die “Confirmation” bei einer User Story Card?
Die Abnahmekriterien, die in der Diskussion festgelegt werden, werden verwendet, um den Abschluss einer User-Story bestätigen (confirm) zu können.
Teststufen den Beschreibungen zuordnen:
Komponententest
Integrationstests
Refactoring: Was ist das?
Refactoring ist ein Prozess der Verbesserung der Softwarequalität, bei dem der Code umstrukturiert wird, um die Lesbarkeit, Wartbarkeit oder Effizienz zu verbessern.
Refactoring: Welche Schritte macht man?
Die Schritte umfassen:
Identifizierung von Verbesserungsmöglichkeiten
Planung der Umstrukturierung
Umsetzung der Umstrukturierung
Überprüfung der Wirksamkeit der Umstrukturierung
Ablauf eines Reviews von Anforderungen skizzieren:
Ablauf eines Reviews von Anforderungen erklären:
Planung: Objekt, Prüfziele, Auslösekriterien (Einstiegskriterien), Teilnehmer, Ort, Zeit.
Vorbesprechung: Vorstellung des Prüfobjekts bei komplexen und neuen Produkten.
Intensive Einzeldurcharbeitung
Durchführung: Gemeinsames Lesen, Aufzeichnung von Mängeln;
(während des Reviews sollen Mängel entdeckt, nicht korrigiert werden)
Nachbearbeitung: dokumentierte Mängel werden korrigiert
Bewertung: Korrekturen werden überprüft.
Nennen Sie 4 ISTQB Testprinzipien:
Testen zeigt Fehler auf
Vollständiges Testen ist nicht möglich
Frühzeitiges Testen
Fehlerhäufungen beachten
Veränderungen statt Wiederholung
Testen ist kontextabhängig
Trugschluss: Fehlerlose Systeme sind brauchbar
Beschreiben sie “Testen zeigt Fehler auf” der ISTQB Testprinzipien:
Es zeigt Fehler auf, beweist aber nicht, dass sie nicht mehr vorhanden sind
Beschreiben sie “Vollständiges Testen ist nicht möglich” der ISTQB Testprinzipien:
Sämtliche Kombinationen von Eingaben, Vorbedingungen und Zuständen zu testen ist nicht umsetzbar/praktikabel
Stattdessen wird der Testfokus mittels Risiken und Prioritäten festgelegt
Beschreibe “Frühzeitiges Testen” der ISTQB Testprinzipien:
Testaktivitäten sollten so früh wie möglich begonnen
werden
Frühzeitig gefundene Fehler sind einfach und günstig zu beheben
Beschreibe “Fehlerhäufungen beachten” der ISTQB Testprinzipien:
Fehler sind nicht gleichmäßig verteilt. Werden in einem Modul einige Fehler gefunden, sind dort meist weitere zu erwarten
Beschreibe “Veränderung statt Wiederholung” der ISTQB Testprinzipien:
Das wiederholte Ausführen von Testfällen wird keine Veränderung bringen (???)
Beschreibe “Trugschluss: Fehlerlose Systeme sind brauchbar“ der ISTQB Testprinzipien:
Fehler zu finden und zu beheben garantiert nicht, dass das Produkt den Anforderungen und Bedürfnissen des Benutzers entspricht
Nenne 4 Merkmale/Unterschiede zu BlackBox WhiteBox Tests.
Was ist eine Äquivalenzklassenzerlegung?
Äquivalenzklassenzerlegung:
Zerlegung einer Menge von Daten (Input oder Output) in Untermengen (Klassen), die äquivalente Ergebnisse oder Auswirkungen produzieren. Jede Klasse(nkombination) sollte mindestens einmal getestet werden.
Was ist eine Grenzwertanalyse?
Grenzwertanalyse:
Erweiterung der Äquivalenzklassenzerlegung für bessere Überdeckung. Grenzwerte werden als Klassenrepräsentanten gewählt
Beschreibe Äquivalenzklassenzerlegung und Grenzwertanalyse anhand eines Beispiels:
Erkläre den Begriff der Verifikation:
Verifikation = Bauen wir das Produkt richtig?
Umsetzung im Vergleich zur Spezifikation in vorangegangenen Phasen
Test der Umsetzung gegen die Spezifikation
Erkläre den Begriff der Validierung:
Validierung = Bauen wir das richtige Produkt?
Entspricht die Lösung und damit die Spezifikation dem, was der Kunde erwartet?
Test der Umsetzung gegen die Nutzeranforderungen
Zähle 6 Leistungen der QS-Stelle auf:
Qualitätsplanung als Teil der Projektplanung
Herstellen lokaler Standards auf Projekt- und Organisationsebene.
Review zentraler Projektdokumente
Organisieren von Reviews: Ausbildung, Planung, Durchführung, Verbesserungsvorschläge.
Unterstützung bei Personalauswahl und Software-Zukauf.
Vorbereitung und Auswertung von Produkttests.
Nenne 4 Arten von Messungen:
Direkte vs. indirekte Messungen
Objektive vs. Subjektive Messungen
Quantitative vs. Qualitative Daten
Was ist der Unterschied zwischen Objektiven vs. Subjektiven Messungen?
Objektive Messung:
LoC, Auslieferungsdatum, Aufwand usw.
Subjektive Messung:
Messergebnisse basierend auf der individuellen Sichtweise des Betrachters, z.B. Fragebögen zur Erfassung der Kundenzufriedenheit.
Worin unterscheiden sich Quantitative vs. Qualitative Daten?
Quantitativ:
Daten als konkrete Zahlenwerte (z.B. für statistische Auswertungen)
Qualitativ:
Visualisierte Informationen (Text, Bilder), z.B. durch Interviews, Interpretationen.
Worin unterscheiden sich Direkte vs. indirekte Messungen?
Direkte Messung:
Wertermittlung direkt beim zu untersuchenden Objekt (z.B. Dauer, Aufwand einer Aufgabe)
Indirekte Messung:
Ermittlung von Messwerten aus direkten Messungen (z.B. Effizienz einer Fehlererkennungsmethode = Anzahl der gefundenen Fehler pro Zeiteinheit)
Was ist eine Inspektion?
Bei der Inspektion sind die Ziele schwere Defekte im Prüfobjekt zu identifizieren, den Entwicklungsprozess zu verbessern und Metriken zu ermitteln.
Die Teilnehmer sind die Moderatorin, Autor, Gutachterin, Protokollführer, (Vorleser). Die Charakteristika sind eine ausgebildete Moderatorin, das Prüfobjekt wird vom Vorleser Absatz für Absatz vorgetragen. Die Moderatorin gibt die Freigabe für dies.
Welche Teststufen gibt es?
Komponententest: Testen von einzelnen Modulen oder Komponenten
Integrationstest: Testen der Schnittstellen zwischen verschiedenen Komponenten oder Modulen
Systemtest: Testen des gesamten Systems gegen die Anforderungen
Abnahmetest: Testen des Systems gegen die Benutzeranforderungen und Abnahme durch den Kunden
Regressionstest: Wiederholung von Tests, um sicherzustellen, dass Änderungen keine negativen Auswirkungen auf bestehende Funktionen haben
Last- und Performance-Test: Testen der Leistung und Skalierbarkeit des Systems unter Last
Was ist Testautomatisierung? Welche Ziele hat sie? In welchen Teststufen kann sie angewendet werden?
Testautomatisierung = Einsatz von Softwaretools, um Testfälle automatisch auszuführen und Ergebnisse zu überprüfen.
Ziele:
Die Reduzierung von Testaufwand und -kosten, die Erhöhung der Testabdeckung und -effektivität sowie die Verbesserung der Testqualität.
-> schnelles Erkennen von Fehlern
-> leichtes wiederholen von Tests bei Änderungen
Wo eingesetzt?
Testautomatisierung kann in allen Teststufen eingesetzt werden, insbesondere im Komponenten-, Integration- und Regressionstest.
Beschreiben sie Testen in SCRUM:
Testen in SCRUM beinhaltet kontinuierliches Testen während des gesamten Entwicklungsprozesses, um sicherzustellen, dass die Anforderungen erfüllt werden und dass das System fehlerfrei ist.
Der Scrum Prozess sieht keine Tester vor.
Testen ist Teil der Entwicklung Unit Tests (!)
Test Driven Development
Testen geschieht durch den Product Owner / Kunden
Jeden Sprint Akzeptanzkriterien
Was sind die Aufgaben eines Testers?
Aufgaben eines Testers:
Statische Tests der Anforderungen / Dokumentation
Dynamisches Testen (Ausführung von Akzeptanztests)
Erstellung von Akzeptanztests
Sicherstellung der Verwaltung von Testfällen im SCM
Unterstützung bei Unit Tests
Unterstützung bei test-getriebenem Design
Test Ansatz
Test Planung
Regressionstests (manuell & automatisiert)
Input während des Meetings (Planung, Sprint Review, etc.)
Risikoanalyse und –abschätzung
Schätzung der User Stories
Demonstration und Unterstützung während des Sprint Reviews
Tracability von Tests zu User Stories
Erstellung und Wartung von automatisierten Tests
Unterstützung bei Akzeptanztests
Was ist eine Anweisungsüberdeckung? Was ist ihr Ziel? (Ein Beispiel geben)
= Statement Coverage
Ziel:
Jede Anweisung muss mind. einmal durchlaufen werden.
Vollständige Anweisungsüberdeckung liegt vor, wenn sämtliche Anweisungen mindestens einmal durchlaufen werden.
Zeigt ob toter Code existiert (Anweisungen, die niemals durchlaufen werden können)
Zu schwaches Kriterium für sinnvolle Testdurchführung
Was ist eine Zweigüberdeckung? Was ist ihr Ziel? Welche Problematik hat sie?
= Branch Coverage (Umfasst Anweisungsüberdeckung vollständig)
Jede Kante muss mind. einmal durchlaufen werden
Zeigt nicht ausführbare Programmzweige auf
Hilft oft durchlaufene Programmteile gezielt zu optimieren
Im Gegensatz zum Anweisungsüberdeckungstest muss jede Entscheidung mindestens einmal true und false annehmen
Problematik:
Unzureichender Test von Schleifen
Komplexe Logik in Statements wird nicht berücksichtigt
Welche 3 typischen Stakeholder gibt es in einem Prjekt?
Kunde
Projektleiter
Entwicklerteam
Stakeholder Kunde: Erkläre was durch die "typische" Haltung schiefgehen kann:
Er/Sie hat eine bestimmte Vorstellung davon, was das Produkt leisten soll und welche Anforderungen es erfüllen muss.
-> Wenn der Kunde jedoch nicht genau weiß, was er/sie will oder unklare Anforderungen stellt, kann dies dazu führen, dass das Team in die falsche Richtung arbeitet oder das Produkt nicht den Erwartungen des Kunden entspricht.
Stakeholder Projektleiter: Erkläre was durch die "typische" Haltung schiefgehen kann:
Er/Sie hat die Aufgabe, das Projekt zu planen und zu koordinieren und sicherzustellen, dass es innerhalb des Budgets und des Zeitrahmens abgeschlossen wird.
-> Wenn der Projektleiter jedoch nicht genug Ressourcen zur Verfügung hat oder unklare Anforderungen vom Kunden erhält, kann dies dazu führen, dass das Projekt verzögert wird oder nicht den Anforderungen entspricht.
Stakeholder Entwicklerteam: Erkläre was durch die "typische" Haltung schiefgehen kann:
Es ist verantwortlich für die Umsetzung des Produkts und muss sicherstellen, dass es den Anforderungen des Kunden entspricht.
-> Wenn das Team jedoch nicht genug Informationen über die Anforderungen hat oder unklare Anforderungen erhält, kann dies dazu führen, dass das Team Zeit damit verbringt, den Anforderungen auf den Grund zu gehen, anstatt produktiv zu arbeiten.
Erkläre QS in verschiedenen Vorgehensmodellen:
Die Rolle der QS (Qualitätssicherung) hängt stark vom Vorgehensmodell ab:
In einem Wasserfallmodell wird die QS oft am Ende des Entwicklungsprozesses durchgeführt, um sicherzustellen, dass das fertige Produkt den Anforderungen entspricht.
In agilen Vorgehensmodellen wie Scrum wird QS jedoch während des gesamten Entwicklungsprozesses durchgeführt, um sicherzustellen, dass das Produkt kontinuierlich verbessert und den Anforderungen des Kunden entspricht.
Welche Vorteile hat Testautomatisierung?
Effizienz:
Tests können automatisch ausgeführt werden, was Zeit und Ressourcen spart.
Wiederholbarkeit:
Tests können automatisch wiederholt werden, um sicherzustellen, dass das Produkt konsistent und zuverlässig ist.
Skalierbarkeit:
Automatisierte Tests können leicht auf verschiedene Plattformen und Umgebungen skaliert werden
Zuverlässigkeit:
Automatisierte Tests sind genau und reproduzierbar, was dazu beiträgt, Fehler zu identifizieren und zu beheben.
Früherkennung von Fehlern:
Durch automatisierte Tests können Fehler frühzeitig im Entwicklungsprozess erkannt und behoben werden, bevor sie zu teuren Problemen werden.
Welche 4 Arten gibt es andere Komponenten in einem Komponententest zu simulieren?
Dummy
= Platzhalter ohne Funktionalität
Stub
= Ausführbare Implementierung -> Liefert vordefinierte Werte
Mock
= Wie Stub - nur werden die parameter die an ein Mock übergeben werden überprüft -> erkennt unerwartete Werte
Fake
= Ausführbare Implementierung aber mit Shortcuts (z.B. In memory DB)
Welchen Kontext bei Qualitätsmetriken kennen sie?
Innere SW Qualität
Äußere SW Qualität
Fortschrittskontrolle
Risiken
Trends
= eine spezielle Form eines (formalen) Reviews
schwere Defekte im Prüfobjekt, Fehler in Anforderungs-/ Design-Dokumenten finden
Lesetechnik:
Prüfobjekt Absatz für Absatz durchgehen
Vorteile:
frühes Finden von Fehlern -> billig
Klärung von Missverständnissen durch gemeinsame Sicht auf das Projekt
Genaues Durchgehen steigert Verständnis über das geforderte Produkt
Nachteil:
Hohe Kosten durch Personalstunden
Teufelsquadrat nach Sneed erklären
Vier Ecken: Qualität, Quantität, Entwicklungsdauer/Aufwand, Kosten
Die Fläche die zur Verfügung steht bleibt gleich - wenn sich eine Zielsetzung ändert, werden die anderen davon beeinflusst
Last changed8 days ago