Chapter 7 (Modellbasierte Testansätze für Produktlinien) Flashcards

1
Q

Welche Arten von Anforderungen müssen beim Testen unterschieden werden?

A

Funktionale Anforderungen: Bei Eintreffen eines Ereignisses soll das System korrekt reagieren
Funktionale Lebendigkeitsanforderungen: Für den Benutzer sehbare aktionen funktionieren korrekt.
Nichfunktionale Anforderungen: Es soll etwas in bestimmter Zeit passieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wann wird Validiert, Verifiziert und getestet?

A

In der Problemdomäne werden die Anforderungen validiert

Das daraus resultierende Modell wird verifiziert und getestet wird die Implementierung in der Lösungsdomäne.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist der Unterschied zwischen modellbasierter Verifikation bzw Testen?

A

Modellbasierte Verifikation:
- Formaler Beweis von Korrektheitseigenschaften
- Mathematische Manipulation eines Systemmodells
(Abstraktion des Systems)
Qualität der Verifikationsergebnisse ist abhängig von der Validität des Systemmodells.
Modellbasierter test:
- Stichprobenartiges Suchen nach Fehlern
- Experimentelle Manipulation einer konkreten Systemimplementierung
(konkrete Implementierung des Systems)
Durch Testen kann nur das Vorhandensein von Fehlern gezeigt werden, nicht deren Abwesenheit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist der Dynamische Softwaretest?

A
  • gezieltes Stimulieren und Beobachten des Verhaltens einer Software- Implementierung durch testfälle
  • ExperimentelleAusführung des Systems durch Kontrolle der Umgebung
  • Testfallerstellung auf Grundlage einer Systemspezifikation
  • > Manueller Test
  • > Scripted Test
  • > High-level scripted testing
  • > Model-based testing (mit modellbasierter testgenerierung)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie funktioniert der modellbasierte Test?

A
  • Backboxannahme für SUT
  • Testfallerzeugung, testfallselektion, testauswertung, Abdeckungsmessung etc auf Grundlage des testmodells
    -Testfall: Sequenz von kontrollierbaren Eingaben und beobachten Ausgaben des IUT
    Beispiel: Modellbasierter Komponententest -> Manipulierbare Eingangssignale, beobachtbare Ausgangssignale, interner Zustand nicht sichtbar, Spezifikation des erwarteten Verhaltens der Komponentenschnittstelle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was versteht man unter einem Testfall?

A
  • Ein testfall entspricht einer endlichen Sequenz von Transitionen des Testmodells
  • Ein valider testfall entspricht einem validen Transitionspfad im Testmodell
  • Ein Testschritt entspricht einer Transition im Transitionspfad
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind die Ziele eiens Test Suite Designs?

A
  • Soundness: Die Test Suite enthält nur valide testfälle
  • Completeness: Die Test Suite enthält für jedes Testziel mindestens einen Testfall
  • Efficiency: Die Test Suite ist möglichst minimal (Optimierung ist NP-Vollständig)
  • Effectiveness: Die Test Suite deckt möglichst viele Fehler ab
    ==> Effectiveness und Efficiency sind gegenläufige Optimierungsziele
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was versteht man unter einer SPL Analyse?

A
  • Kernanforderungen: Anforderungen, die durch alle Produktvarianten der Produktlinie erfüllt werden müssen.
  • Feature-Spezifische Anforderungen: Anforderungen, die durch Produktvarianten erfüllt werden müssen, in denen ein bestimmtes Feature implementiert ist.
  • Gewollte Feature-Interaktionen: Anforderungen, die durch Produktvarianten erfüllt werden müssen, in denen eine bestimmte Feature-Kombination enthalten ist.
    -Positive Feature Orientierte SPL - Analyse: Prüfen, dass Konfigurations-spezifische Anforderungen in Produktvarianten korrekt implementiert sind.
  • Negative feature Orientierte SPL-Analyse: Prüfen, dass Produktvarianten keine Anforderungen implementieren, die nicht den Konfigurations-spezifischen Anforderungen entsprechen.
    Annahme: Einzelne Features testen und nach Komposition funktioniert immer noch alles, ABER in Praxis nicht möglich(crosscutting-concerns)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was versteht man unter Product by Product Analysis/Testing?

A

Testmodellvarianten werden aus variablen SPLTestmodell abgeleitet für jede Produktvariante.
+ Einfache und garantiert vollständige Testabdeckung alle Produktvarianten
+ Vorhandene Werkzeuge zur Testfallgenerierung können wiederverwendet werden
- Hoher Aufwand bei Produktlinien mit hoher Anzahl Produktkonfigurationen => Smapling
- I.d.R. viele Redundante Generierungsschritte durch mehrfache Generierung gleicher testfälle für verschiedene Varianten => Family-based/Incremental SPL Testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was versteht man unter Product Sampling?

Und wie funktioniert Sample-based testing?

A

Reduction der zu testenden Produktkonfigurationen.
Funktionsweise:
- Selektion einer repräsentativen Teilmenge (Sample) von Products-under-Test(PUT) aus validen Konfigurationsraum
- Product-by-Product Testing der Teilmenge
- Definition geeigneter Selektionskriterien?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist Pairwise Combinatorial Feature Coverage?

A

Testen von jeweils 2 Features in kombination
+ ermöglicht starke Reduktion großer validen Konfigurationsräume.
- Selektion valider paare erfordert SAT-Solving(NP-complete)
- Selektion eines minimalen Samples ist NP-Hard

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie funktioniert Family-based SPL Testing?

A

Wiederverwendung von testfällen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist whitebox testing?

A
  • Testfälle sind initiale Programmeingaben (Variablenbelegungen)
  • Testfälle leiten sich aus der Struktur des Programmes ab
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie funktioniert Testfallgenerierung mit symbolischem Model Checking?

A
  • Das Testziel fi wird als Korrektheitseigenschaft codiert und negiert
  • Testziele sind meistens Programmlabel oder Prädikate über variablen
  • Es wird geprüft, ob die Eigenschaft !fi immer gilt
  • > gilt fi ist das testziel erreicht und Korrektheitseigenschaft verletzt
  • > Der model checker gibt ein gegenbeispiel aus
  • > das gegenbeispiel wird als testfall interpretiert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie funktioniert Incremental SPL Testing?

A

SPL Test Suiten werden incrementell verfeinert.

  • durch DELTAS Testmodellvariante erzeugen
  • Testsuite evoluieren(obsolete rauswerfen und wiederverwendbare tcs und neue bilden die neue Test Suite)
  • Reggressionstesting
How well did you know this?
1
Not at all
2
3
4
5
Perfectly