28 Eigenschaften guter Modultests Flashcards

1
Q

Was bedeutet die Abkürzung “FIRST” im Kontext von Unit-Tests?

A

“FIRST” steht für die Eigenschaften guter Unit-Tests: Fast, Isolated, Repeatable, Self-Verifying und Timely.

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

Warum sollten Unit-Tests schnell (Fast) sein?

A

Je schneller Unit-Tests ablaufen, desto häufiger werden sie ausgeführt. Langsame Tests werden seltener ausgeführt, was die Effizienz der Testabdeckung und Fehlerentdeckung reduziert.

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

Was bedeutet es, dass Unit-Tests isoliert (Isolated) sein sollten?

A

Isolierte Unit-Tests haben keine Abhängigkeiten zu anderen Tests oder externen Systemen. Jeder Test sollte nur einen Aspekt prüfen und keinen Einfluss auf andere Tests haben.

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

Was bedeutet es, dass Unit-Tests wiederholbar (Repeatable) sein sollten?

A

Wiederholbare Unit-Tests sollten keine Nebeneffekte haben und deterministisch sein, das heißt, jede Testausführung sollte das gleiche Ergebnis liefern, unabhängig von äußeren Einflüssen.

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

Warum ist es wichtig, dass Unit-Tests selbstverifizierend (Self-Verifying) sind?

A

Selbstverifizierende Unit-Tests prüfen automatisch die Korrektheit des Codes, ohne dass eine manuelle Überprüfung notwendig ist. Dies reduziert Mehrdeutigkeiten und erhöht die Zuverlässigkeit der Tests.

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

Warum sollten Unit-Tests rechtzeitig (Timely) geschrieben werden?

A

Unit-Tests sollten idealerweise vor dem eigentlichen Code geschrieben werden (Test-Driven Development, TDD). Dadurch wird sichergestellt, dass der Code von Anfang an testbar ist und den Anforderungen entspricht.

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

Welche Vorteile bieten Unit-Tests?

A
  • Schnellere Fehlererkennung und -behebung.
  • Dokumentationscharakter (“specifications by example”).
  • Schutz vor Regressionsfehlern, besonders bei Refactoring.
  • Automatisierte Durchführung.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Nachteile können Unit-Tests haben?

A

Initialer Mehraufwand von 15% bis 35%.
Tests müssen bei Änderungen am Programmcode angepasst werden.

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

Was ist der Unterschied zwischen Test-Driven Development (TDD) und Test-After Development (TAD)?

A

Bei TDD wird der Test vor dem eigentlichen Code geschrieben, was sicherstellt, dass der Code testbar ist und den Anforderungen entspricht. Bei TAD wird der Test nach der Implementierung des Codes geschrieben, was oft dazu führt, dass Tests nicht im Fokus des Entwicklers stehen und weniger effektiv sind.

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

Wie tragen Unit-Tests zur Qualitätssicherung in der Softwareentwicklung bei?

A

Unit-Tests ermöglichen eine kontinuierliche Überprüfung der Codequalität, verhindern Regressionen und dienen als Dokumentation der erwarteten Funktionsweise des Codes. Sie sind ein wesentliches Werkzeug für die Qualitätssicherung.

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