Software Testing
Testing
Testing
-
- 1 / 56
-
Flashcards
Was darf ein Testorakel niemals sein?
Der Code Selber
Welche Testarten gibt es?
• Funktionale Tests
▪ Von aussen sichtbare Ein-/Ausgabeverhalten
• Nicht funktionale Tests
▪ In welcher Qualität
• Anforderungsbezogener und strukturbezogener Test
▪ Kontrollfluss innerhalb von Komponenten
• Änderungsbezogener Test
▪ Softwarewartung und –pflege
▪ Testen nach Weiterentwicklung
▪ Regressionstest
Was ist ein Statischer Test?
- Prüfmethode, bei der das Testobjekt nicht mit Testdaten versehen oder ausgeführt wird
Was ist ein dynamischer Test?
- Testobjekt wird mit Eingabedaten versehen und ausgeführt
Was ist das Black-Box-Testing?
- Es werden Tests Anhand der Spezifikation/Anforderung entwickelt
- die Tests werden ohne Kenntnisse über die innere Funktionsweise/Implementierung des zu testenden Systems entwickelt
- Es fliesst nur nach aussen sichtbares Verhalten in den Test ein
Was ist das White-Box Testing?
- Tests werden mit Kenntnissen über die innere Funktionsweise des zu testenden Systems entwickelt
- der Test wird am Code geprüft, da der Einblick auf den Quellcode gestattet ist
- Quellcodeteile mindestens einmal zur Ausführung bringen
Was versteht man unter dem Refactoring von Legacy Code?
Code ohne Tests
Was ist eine Äquivalenzklasse?
- Methode zur systematischen Bestimmung von testfällen
- Identifizierung von Ein- und Ausgabebedingungen
Was wird mit dem Big Bang ansatz verfolgt?
- zuerst alle Module/Komponenten entwickeln und erst dann das gesamte System auf einmal testen. (Testing beginnt sehr spät)
Was wird mit dem Top-Down ansatz verfolgt?
- Entwicklung beginnt beim Aufrufer z.B. UI
- alles, was noch nicht vorhanden ist, wird durch einen Stub ersetzt
Was wird mit dem Bottum-Up ansatz verfolgt?
- Entwicklung beginnt bei der aufrufbaren Komponente
- Aufrufer wird durch einen Treiber ersetzt
Was wird mit dem Sandwich ansatz verfolgt?
- Entwicklung kann in der Mitte beginnen, wenn die Aufrufer- und aufzurufenden Komponenten noch nicht entwickelt sind
Was ist ein Abhängigkeitsgrad?
- Anzahl Abhängigkeiten innerhalb der Komponenten (Wie viele Abhängigkeiten man aufbrechen muss, um die Klasse testen zu können)
Was ist CI/CD?
Continuos Integration / Continuos Delivery
Für schnellers Feedback von automatisierten Tests um die Qualität der Software zu sichern.
Push zu VCS Version Control System (Git, usw)
Builden, Testen
Feedback bei Fehlschlag
Alles OK = Deployment
Was ist ein Singleton?
Ein Singleton ist ein Entwurfsmuster, das sicherstellt, dass eine Klasse nur eine einzige Instanz hat und einen globalen Zugriffspunkt darauf bietet. Es wird verwendet, um sicherzustellen, dass in einem System nur eine einzige Instanz einer Klasse existiert, was bei Ressourcen wie Datenbankverbindungen oder Loggern nützlich sein kann.
Erkläre die 7 Grundsätze des Software-Testing
- Testen zeigt die Anwesenheit von Fehlerzuständen
- Vollständiges Testen ist nicht möglich
- Frühes Testen spart Zeit und Geld
- Häufung von Fehlerzuständen
- Vorsicht vor dem Pestizid-Paradoxon
- Testen ist kontextabhängig
- Trugschluss: Keine Fehler bedeutet ein brauchbares System