Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Praktische Softwaretechnik (SWE Modell B) » Prüfungsprotokoll Sommersemester 2023   (Übersicht)

Prüfungsprotokoll Sommersemester 2023

A Teil

Q: Zeichnen Sie das V-Modell auf oder erklären es mündlich, einfach alles abkürzen bitte

Q: Wo findet man dort Testen? A: Überall (da hat sie geschmunzelt)

Q: Was für Tests? A: Statische und dynamische

Q: Was sind statische, was dynamische? A: Statische führt man nicht aus, dynamische schon

Q: Was für Arten von statischen Tests kennen Sie? A: Statische Analyse und Reviews

Q: Was macht man bei einer statischen Analyse? A: Mit Werkzeugunterstützung zb Syntax prüfen oder Rechtschreibung

Q: Was wäre da ein typischer Fehler? A: Semikolon fehlt oder Methode wird aufgerufen, die nicht existiert

Q: Was macht man bei einem Review?

Q: Was für Fehler findet man da? A: Inhaltliche, zb Widersprüche in Anforderungen

Q: Wo im V-Modell würde man Reviews und wo statische Analyse verwenden?

Q: Welche Review Arten kennen Sie? A: Informell, Walkthrough, Technisches Review, Inspektion

Q: Informell ist zu einfach, erklären Sie eine der anderen drei Varianten A: (Ich habe Walkthrough genommen)

Q: Neben Fehlerfindung was ist noch Zweck vom Walkthrough? A: Wissenstransfer

Q: Welche drei großen Testarten kennen Sie? A: Whitebox, Blackbox, Erfahrungsbasiert

Q: Was ist der Unterschied zwischen Whitebox und Blackbox? A: Bei Blackbox kennt man die innere Struktur nicht und geht nach Anforderungsspezifikation vor, um die Eingaben und erwarteten Ausgaben herauszufinden

Q: Nennen Sie 3, besser 4 oder vielleicht sogar 5 der Whitebox Testverfahren, die wir kennen gelernt haben A: Äquivalenzklassenbildung, Grenzwertanalyse, Zustandsübergangstests, Entscheidungstabellentests (dann hat sie gesagt, es reicht, zum Glück, denn das 5. wusste ich eh nicht)

Q: Erklären Sie Äquivalenzklassenbildung und Grenzertanalyse

Q: Warum Aquivalenzklassen und warum nur ein Repräsentant pro Klasse? A: Weil man erhofft, dass alle anderen Werte das gleiche Verhalten haben, also auch zu Fehlern führen oder nicht

Q: Warum Grenzwerte? A: Weil da mehr Fehler auftreten

Q: Woher wissen Sie das? A: Erfahrung (da hat sie gelacht)

Q: Worauf muss man bei mehreren Parametern wegen der gültigen und ungültigen ÄK achten? A: Nur eine ungültige ÄK pro Testfall, damit es nicht zu Fehlermaskierung kommt

Q: Dann hat sie mir zwei Intervalle gesagt und gefragt, was die Grenzwerte sind (0 bis 10 und 11 bis 20 sind die ÄK) A: 0, 10, 11, 20

Q: Und ungültige Grenzwerte? A: -1 und 21

Q: Sie hatten noch von erfahrungsbasierten Tests gesprochen, was ist das?

Q: Es gibt zb exploratives Testen, was macht man da?

Q: Wann setzt man das ein? A: Wenn die Zeit knapp ist oder wenn die Spezifikation nicht gut/nicht vorhanden ist

Q: Kommen wir zum risikobasierten Testen, was ist das? A: Man testet dort mehr wo man ein höheres Risiko vermutet/erwartet

Q: Welche Tests verwendet man da? (Sie wollte darauf hinaus, dass exploratives Testen nicht so gut ist, sondern lieber systematisch und dass man zb Code Reviews von den besonders kritischen Teilen macht usw (die Frage war, wie findet man seine Testfälle und A: ich wusste nicht so recht, was sie meint. Erst hatte ich geantwortet Whitebox und Blackbox Q: nein denken Sie nochmal 5 Minuten zurück A: Äh Reviews? Q: Ja genau!)

Q: Wenn Sie der Testmanager sind, worauf achten Sie dann? (Sie wollte auf die Metriken (fehlerbasiert usw) raus und was die Metriken sind (ich wusste weder die Metriken so genau, noch was sie sind))

Q: Was interessiert Sie bei den Testfällen? A: Wie viele allgemein, wie viele fehlschlagen, korrekt durchlaufen usw

(Bei den letzten Fragen wurde ich immer ungenauer, weil ich nicht so ganz wusste, was sie meint)

Teil B

Q: Nennen Sie die drei Whitebox-Verfahren A: Kontrollflussbasiertes Testen, Bedingungsüberdeckung, Datenflussbasiertes Testen

Q: Was sind jeweils die gewollten Metriken/Überdeckungen? A: Boundary Interior Coverage, MC/DC, All Uses

Q: Was ist das jeweils?

Dann soll man eine Zahl nennen zwischen 1 und 3 und er sucht sich den Beispiel Kontrollflussgraphen von einem Stapel

Q: Boundary Interior, welche Testfälle haben wir da? A: Die Pfade im Kontrollflussgraphen zeigen und Gesamtanzahl (gab keinen ohne Schleife, weswegen ich kurz verwirrt war)

Q: Was ist das dann, wenn es nicht ausführbar ist? (Also es keinen Pfad ohne Schleife gibt) A: Dann ist dieser Teil des Kriteriums infeasible

Q: Datenflussüberdeckung, was ist All Uses? (Nochmal genauer erklären)

Q: MC/DC, nennen Sie eine Zahl zwischen 1 und 4 (er holt eine Beispieltabelle mit Lazy Auswertung) A: MC/DC genauer erklären und ein Beispiel (Zeilen in der Tabelle) nennen für Testfälle (also eine Variable ändert sich, alle anderen bleiben gleich und das Gesamtprädikat muss sich ändern)

Q: Was gibt es noch außer Testen, formale Verifikation? A: Model checking

Q: Wann verwendet man was von formaler Verifikation und Model Checking? A: Kurz erklären wie man Model Checking macht: System in Modell umwandeln und Anforderungen in formale Sprache

Q: Was ist das zb für ein Modell? A: BDD?

Q: Nein, das ist wie es intern verwendet wird. Zb Zustandsautomaten (hat er beantwortet nach hin und her)

Q: Und was passiert dann? A: Man bekommt einen Korrektheitsbeweis oder ein Gegenbeispiel

Q: Wo verwendet man Model Checking im V-Modell? A: Systementwurf

Q: Und formale Verifikation? A: Anforderungen oder Code

Q: Und wie geht die? A: Danach weiß ich die Fragen nicht mehr genau, weil ich auch die Antworten zu formaler Verifikation nicht genau wusste

Q: Zuverlässigkeit, wie testet man die? A: Mit Zuverlässigkeitswachstumsmodellen oder statischer Analyse

Q: Wann verwendet man was? A: Das eine bei alltäglicher SW, statische Analyse bei sicherheitskritischer SW

Q: Warum verwendet man kein Zuverlässigkeitswachstum für sicherheitskritische Systeme? A: Ich hatte keine Ahnung. Er wollte was von Annahmen wissen (aber nicht die der Modelle sondern allgemein)

Q: Welches Modell würden Sie denn verwenden für sicherheitskritische SW, wenn Sie trotzdem Zuverlässigkeitswachstum verwenden? A: Keine Ahnung

Q: Das ist die richtige Antwort (da hat Frau dussa zieger gelacht), man kann keins der Modelle für sicherheitskritische SW verwenden, weil sie nicht auf mathematischen Grundlagen basieren (statistische Tests schon) und entweder zu optimistisch oder pessimistisch sind und noch irgendwas was ich nicht mehr weiß (er hat seine Frage also selbst beantwortet)

Q: Wie testen Sie denn die Qualität der Testfallmenge? A: Mutationstests

Q: Und wie? A: Soll ich die erklären? Q: Ja genau

Blablabla Mutationstests (ich kann echt nicht mehr schreiben, seit einer halben Stunde ist die Prüfung vorbei und ich tippe in mein Handy und meine Hände tun weh und ich will nach Hause)

Q: Wie bekommen Sie die Mutanten? Beispiele?

Q: Was sagt das dann aus? A: Wie sensibel meine Testfallmenge gegenüber kleinen Fehlern ist

Q: Und weiter? Was sind mögliche Ergebnisse? A: Viele Mutanten getötet, das ist dann gut, oder viele noch am Leben, also muss man weiter testen

Q: Oder? (Ich war extrem verwirrt, schon wieder XD) was kann noch rauskommen, wenn ich viele Mutanten übrig habe? A: Dass viele äquivalent sind

Q: Genau. Und wie messe ich das? Mutation Score als Stichwort A: Ich wusste nicht ob überm Bruchstrich die getöteten oder lebenden Mutanten sind, nur dass unten Gesamtanzahl minus funktional äquivalenten Mutanten steht

Q: Das kann man sich logisch herleiten, je höher der Mutation Score desto besser A: Ah dann oben die getöteten Mutanten

Ende.

(Hab bestimmt ein paar Fragen vergessen, aber ich habe mir Mühe gegeben, alles so schnell wie möglich aufzuschreiben und jetzt fahre ich endlich nach Hause, viel Glück bei der Prüfung!)

Nach der Prüfung

Ich musste aus dem Raum und dann haben sie diskutiert über die Note (so 5 bis 10 Minuten)

Als ich dann wieder in den Raum durfte, wurde ich gefragt, wie ich mich einschätze (ich wollte keine Note sagen, also habe ich drum rum geredet und gesagt, am Anfang war ich sicher, bei der formalen Verifikation usw nicht so)

War dann aber doch eine 1.3

Sie meinte, wenn die Grundlagen stehen, dann ist es auch nicht schlimm, wenn man in den späteren tieferen Fragen nicht alles weiß, dann kann es trotzdem eine gute Note werden

Beide sehr freundlich und helfen viel

Nachtrag

Mir ist eingefallen, dass noch was zu Zustandsübergangstests gefragt wurde, ich weiß aber nicht mehr genau was. Unter anderem wo man da die Testfälle herholt, wie man zum Baum kommt und ein paar andere Grundlagen

Außerdem wurde noch was anderes zum Model Checking gefragt, was rauskommen kann, entweder dass das Modell korrekt ist und irgendwas mit Terminierung und irgendwas mit Deadlocks, aber das weiß ich nicht mehr genau, die Prüfung ist schon 3 Tage her