CTFL 2.1.1: Die Auswirkungen des gewählten Softwareentwicklungslebenszyklus auf das Testen erklären
K2Lehrplanabschnitt 2.1.1
3 eigene PrepBench-Übungsfragen zum Lernziel 2.1.1 des CTFL-Lehrplans 4.0. Probiere die Beispiele aus und überprüfe jede Antwort anhand der Lehrplanstelle.
Übungsfragen
Frage 1
Bei einigen iterativen und inkrementellen Entwicklungsmodellen liefert jede Iteration einen funktionierenden Prototyp oder ein Produktinkrement. Was bedeutet das für das Testen?
- In jeder Iteration können sowohl statische als auch dynamische Tests auf allen Teststufen durchgeführt werden
- Der dynamische Test wartet auf das letzte Inkrement, wenn das Gesamtsystem erstmals ausführbar ist
- Teststufen werden so definiert, dass die Endekriterien einer Stufe Teil der Eingangskriterien der nächsten sind
- Testanalyse und Testentwurf können entfallen, da erfahrungsbasierte Verfahren keine Vorbereitung brauchen
Antwort anzeigen
- Richtige Antwort: In jeder Iteration können sowohl statische als auch dynamische Tests auf allen Teststufen durchgeführt werdenEin funktionierendes Inkrement je Iteration erlaubt statische und dynamische Tests auf allen Stufen.
- Der dynamische Test wartet auf das letzte Inkrement, wenn das Gesamtsystem erstmals ausführbar istAuf ausführbaren Code zu warten beschreibt sequenzielle Modelle, in denen Code spät entsteht.
- Teststufen werden so definiert, dass die Endekriterien einer Stufe Teil der Eingangskriterien der nächsten sindEndekriterien als Eingangskriterien der nächsten Stufe beschreibt sequenzielle SDLC-Modelle.
- Testanalyse und Testentwurf können entfallen, da erfahrungsbasierte Verfahren keine Vorbereitung brauchenErfahrungsbasierte Verfahren erfordern keine umfangreiche Vorabanalyse, die Analyse entfällt aber nicht.
Wenn jede Iteration einen funktionierenden Prototyp oder ein Inkrement liefert, können in jeder Iteration sowohl statische als auch dynamische Tests auf allen Teststufen durchgeführt werden. Die häufige Lieferung von Inkrementen erfordert dann eine schnelle Rückmeldung und umfangreiche Regressionstests.
Lehrplanabschnitt 2.1.1
Frage 2
Team A arbeitet nach einem sequenziellen Entwicklungsmodell. Team B arbeitet iterativ und liefert in jeder Iteration ein funktionierendes Inkrement. Beide testen vergleichbare Produkte. Welcher Unterschied im Testen folgt aus der Wahl des Lebenszyklus?
- Team B kann je Iteration statisch und dynamisch auf allen Teststufen testen; Team A dynamisch erst spät
- Team B benötigt keine Regressionstests, da jedes Inkrement bei seiner Lieferung getestet wird
- Team A muss mehr von seinem Testen automatisieren, weil seine Teststufen streng nacheinander ablaufen
- Team A und Team B benötigen denselben Detaillierungsgrad ihrer Testdokumentation
Antwort anzeigen
- Richtige Antwort: Team B kann je Iteration statisch und dynamisch auf allen Teststufen testen; Team A dynamisch erst spätEin Inkrement je Iteration erlaubt Tests auf allen Stufen; sequenziell kommt Code spät.
- Team B benötigt keine Regressionstests, da jedes Inkrement bei seiner Lieferung getestet wirdDie häufige Lieferung von Inkrementen erfordert umfangreiche Regressionstests, nicht keine.
- Team A muss mehr von seinem Testen automatisieren, weil seine Teststufen streng nacheinander ablaufenDer Umfang der Automatisierung hängt vom SDLC ab, wird aber in agilen Projekten bevorzugt.
- Team A und Team B benötigen denselben Detaillierungsgrad ihrer TestdokumentationDer Detaillierungsgrad der Testdokumentation ist eine der Auswirkungen der SDLC-Wahl.
In sequenziellen Modellen wird der ausführbare Code normalerweise erst in den späteren Phasen erstellt, so dass dynamische Tests früh nicht möglich sind. Liefert jede Iteration einen funktionierenden Prototyp oder ein Inkrement, können in jeder Iteration sowohl statische als auch dynamische Tests auf allen Teststufen durchgeführt werden. Die häufige Lieferung erfordert dann umfangreiche Regressionstests, und der Detaillierungsgrad der Testdokumentation gehört selbst zu dem, was die Wahl des SDLC beeinflusst.
Lehrplanabschnitt 2.1.1
Frage 3
Warum können in einem sequenziellen Entwicklungsmodell dynamische Tests in den frühen Phasen in der Regel nicht durchgeführt werden?
- Weil Tester erst dazustoßen, wenn der Code bereits geschrieben ist
- Weil Testanalyse und Testentwurf auf eine fertige Systemspezifikation warten müssen
- Weil der statische Test abgeschlossen sein muss, bevor ein dynamischer Test beginnen darf
- Weil der ausführbare Code normalerweise erst in den späteren Phasen erstellt wird
Antwort anzeigen
- Weil Tester erst dazustoßen, wenn der Code bereits geschrieben istTester sind in den Anfangsphasen an Reviews, Testanalyse und Testentwurf beteiligt.
- Weil Testanalyse und Testentwurf auf eine fertige Systemspezifikation warten müssenTestanalyse und Testentwurf beginnen in der entsprechenden Entwicklungsphase.
- Weil der statische Test abgeschlossen sein muss, bevor ein dynamischer Test beginnen darfStatischer und dynamischer Test ergänzen einander; eine solche Reihenfolge wird nicht gefordert.
- Richtige Antwort: Weil der ausführbare Code normalerweise erst in den späteren Phasen erstellt wirdOhne ausführbaren Code in den frühen Phasen ist kein dynamischer Test möglich.
In sequenziellen Entwicklungsmodellen sind Tester in den Anfangsphasen in der Regel an den Reviews der Anforderungen, der Testanalyse und dem Testentwurf beteiligt. Der ausführbare Code wird normalerweise erst in den späteren Phasen erstellt, so dass dynamische Tests — die etwas Ausführbares voraussetzen — in den frühen Phasen nicht durchgeführt werden können.
Lehrplanabschnitt 2.1.1
Eigenes PrepBench-Übungsmaterial, keine offiziellen Prüfungsfragen und keine Prüfungsdumps. PrepBench ist unabhängig und weder mit dem ISTQB® verbunden noch von ihm unterstützt.