3. SE - 6. Validierung von Software Flashcards

1
Q

Definition Verifikation (von Software)

A

Entspricht das Produkt den Anforderungen

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

Definition Validierung (von Software)

A

Stellt Produkt Anwender in ihrer Arbeitsumgebung zufrieden?

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

Welche zwei Verfahren von Verifikation und Validierung gibt es?

A

Softwareinspektion und Softwaretest

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

Was passiert bei der Softwareinspektion?

A

Man prüft je nach Entwicklungsfortschritt die Spezifikationen, die Entwurfsmodelle oder den Quellcode auf Fehler

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

Was passiert bei der Softwaretest?

A

Man bringt das Programm zur Ausführung und prüft, ob es leistet was es soll

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

True or false?

Test können nie alle Möglichkeiten abdecken, die bei der Ausführung eines Programms vorkommen

A

True

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

Was passiert bei testcases?

A

Man entwirft Testfällte, die die zu tätigen Eingaben und die vom System erwarteten Ausgaben enthalten

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

Aus was werden Test Cases abgeleitet?

A

Use-Cases

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

Für was dienen Test Cases?

A

Dienen als Anleitung für die Tester

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

Was beschreiben Test Cases?

A
  • Vorbedingungen
  • Eingabedaten
  • Aktionen
  • Erwartete Ergebnisse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche Eingabewerten werden die Eingabedaten enthalten beim Testen?

A

gültige und ungültige

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

Welche Bestandteile sind wichtig in einem Testcase?

A
Projekt
ID des Testcase
Titel des Testcase
Ersteller des Test Case
Beschreibung
Voraussetzung
Datum und Uhrzeit der Testdurchführung
Durchführender Tester
Durchführende Schritte (Variante 1 (2,3,...))

plus eine Tabelle in denen Varianten getestet werden

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

Nenne die Spalten-Überschriften einer Testcase Datentabelle

A

Variante, Testdaten, Erwartetes Resultat, Tatsächliches Resultat, Pass/Fail

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

Was bedeutet Black-Box-Test?

A

Testfälle werden ausschließlich aus der Spezifikation abgeleitet

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

Was bedeutet White-Box-Test?

A

Beim Erstellen der Testfälle wird Wissen um den Aufbau des Programms berücksichtigt (Bsp. Array der Länge n mit Index 0 bis n-1)

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

Was für Testprinzipen gibt es?

A
Anforderungsbasiert
Klassenbasiert
Strukturell
Pfadüberdeckung
Testen auf Zufallswerte
CRUD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was für Testprinzipen gibt es? Erkläre diese

A

Anforderungsbasiert
Aus Use Cases werden Test Cases abgeleitet

Klassenbasiert
Ein- und Ausgabewerte klassifiziert nach der Art wie sie verarbeitet werden. Alle diese Äquivalenzklassen werden getestet.
Bsp. Ein Programm erhält laut Spezifikation zwischen 4 und 10 ganzzahlige Eingaben in fünfstelligen Wertebereich zwischen 10000 und 99999

Strukturell
Algorithmus bekannt, man versucht Grenzfälle abzudecken
Bsp. mittleren Wert bei einer binären Suche

Pfadüberdeckung
versucht, alle Ausführungspfade eines Programms abzudecken
Bsp. Wahr- und Falsch-Fall aller Verzweigungsbedingungen

Testen auf Zufallswerte
Ergänzend, weil Entwickler in Testcases eher jene Eingabedaten aufnehmen, die sie schon bei der Entwicklung besonders beachtet haben

CRUD
Datenbasiertes testen. Testfälle werden so zusammengestellt, dass ein objekt den Lebenszyklus Create-Read-Update-Delete durchläuft

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

Wie werden Testfälle beschrieben?

A

mit Modellen (NICHT textuell)

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

Aus Umgebungsmodellen und Systemmodellen können Modelle für mehrere Testfälle abgeleitet oder generiert werden. Nenne jeweils ein Bsp für beide Modelle

A

Umgebungsmodell: Use-Case-Diagramm
Systemmodell: Aktivitätsdiagramm

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

Was macht Lasttest/Stresstest?

A

simuliert große Benutzerzahlen

21
Q

Was macht Usability-Test?

A

prüft Bedienbarkeit mit Testbenutzern

22
Q

Was macht Recovery-Test?

A

testet Widerherstellung nach Systemausfällen, insbesondere die Datenintegrität nach Wiederherstellung

23
Q

Was macht Sicherheitstest?

A

simuliert zB. einen potentiellen Angreifer

24
Q

Wie verhalten sich die Teilkosten beim testen und wieso?

A

Teilkosten steigen mit er Zeit an, da Tests immer komplizierter und Detaillierter werden müssen

25
Q

Wie verhalten sich die Kosten bei Tests?

A

Anfang hohe Kosten, welche dann aber mit der Zeit geringer werden

26
Q

Was für ein Test ist der Unittest?

A

Schnittstellentest

27
Q

Für was werden Unittest angewandt?

A

für die einzelnen Komponenten des Gesamtsystems

28
Q

Über was werden Komponenten angesprochen?

A

Über ihre Schnittstellen

29
Q

Richtlinien für Unittest

A
  • Grenzen der Gültigkeitsbereiche aller Parameter testen
  • Reaktionen auf ungültige Parameterkombinationen testen
  • Reaktion auf Überlastung durch eine Vielzahl von Aufrufen testen
  • zusammenwirkende Komponenten in unterschiedlicher Reihenfolge
30
Q

Welches (Teil-)System wird beim Integrationstest/Systemtest getestet?

A

(Fangfrage)

Das Gesamtsystem

31
Q

Welcher Test gehört auch noch zu Integrationstest/ Systemtest?

A

Performance Test

32
Q

False or True?

Tester haben Zugriffe auf Quellcode. Sie berücksichtigen diese Kenntnisse beim Entwurf der Testcases

A

True

33
Q

Automatisierte Testtools können zum Einsatz kommen. Ihr Einsatz ist besonders sinnvoll um/wenn:

A
  • um große Last zu erzeugen

- wenn oft getestet muss, dass Initialaufwand zum Einrichten eines Testwerkzeugs gerechtfertigt ist

34
Q

Ab wann spricht man vom Systemtest wenn zunächst nur einige Komponenten und dann immer mehr integriert sind

A

Vom Systemtest spricht man erst ab dem Zeitpunkt der vollständigen Integration aller Komponenten

35
Q

Wann spricht man von einem Regressionstest?

A

Wenn es sich nicht um eine komplett neue Software handelt, sondern um neue Version

36
Q

Was passiert bei einem Regressionstest?

A

auch unveränderter Code nochmals getestet werden muss, um unerwünschte Seiteneffekte des neuen Codes zu finden

37
Q

Was für Teststufen gibt es?

A

Auslieferungstest (User-Acceptance Test)
Alphatest
Betatest

38
Q

Wichtige Informationen Auslieferungstest (User-Acceptance-Test)

A
  • Gesamtsystem wird getestet

- Tester haben keinen Zugriff auf Quellcode (Black Box)

39
Q

Wichtige Informationen Alphatest

A

Hersteller von Standardsoftware führen oft einen internen Test durch, der Schwerpunkt ähnlich wie User-Acceptance-Test auf Funktionalität und Usability setzt

40
Q

Wichtige Informationen Betatest

A
  • erste Version einer Standardsoftware wird an (meist eingeschränkten) Benutzerkreis ausgegeben, um Fehlermeldungen zu sammeln

Danach folgen (Hersteller unterschiedlich benannt)

  • Release Candidate (RC)
  • Relase to Manufacturing (RTM)
  • General Availability (GA)
41
Q

Was sind die Gründe das bei kritischen Systemen Verifikation & Validierung einen noch größeren Teil von Budget und Zeit in Anspruch nehmen?

A
  • Auswirkungen eines Ausfalls gravierender. Investitionen in V&V mindern Wahrscheinlichkeit solcher Ausfälle
  • Kunden verlangen bei kritischen Systemen oft gesonderte Dokumentation von deren Verlässlichkeit
42
Q

Was machen Bug Tracking Tools?

A

unterstützen Testprozess

43
Q

Was machen Dynamische Analysewerkzeuge

A

messen zB den Speicherverbrauch einzelner Programmteile

44
Q

Wie hoch ist der Aufwand für Testautomatiesierung und was muss mitgegeben werden?

A

hoher Aufwand

Testabläufe und Testdaten müssen Werkzeugen eingeben werden

45
Q

Wann lohnen sie automatisierte Test vor allem?

A
  • Regressionstest (wegen wiederkehrenden Kosten manueller Tests)
  • Lasttest (mangelnde Alternative)
46
Q

Was ist die Statische Codeanalyse?

A

Automatisierte Untersuchung des Quellcodes, ohne Programmausführung

47
Q

Worauf liegt der Schwerpunkt der Statischen Codeanalyse?

A

nicht auf Laufzeitgehlern, sondern auf der Suche nach typischen und immer wiederkehrenden Fehlern

48
Q

Kann man einstellen welche Art von Fehlern gesucht werden soll bei der Statischen Codeanalyse?

A

Ja, einstellbar