SQS
...
...
-
- 1 / 36
-
Flashcards
Fehlerwirkung
Fehlerhafte funktionsweise die nach außen sichtbar ist.
Fehlerhandlung
Irrtum bei Software-Entwicklung.
Fehlerzustand
Zustand der zu Fehlerwirkung führen kann.
Fehlermaskierung
Fehlerzustand nach außen nicht sichtbar (keine fehlerwirkung), weil durch weiteren fehler verborgen wird.
Was ist konstruktive QS
konstruiert Qualität
was ist analytische QS
messen von Qualität
Was sind dynamische Tests
Software wird ausgeführt
Was sind statische Tests
software wird nicht ausgeführt
SUT?
System Under Test / Testobjekte
schreibe einen einfachen JUnittest
und Beschreibe die einzelnen Phasen des vier-phasen-tests
import static org.junit.Assert.*;
import org.junit.*;
public class CalcTest {
Calc calc;
// Setup
@Before public void setup() {
calc = new Calc();
}
// Exercise
@Test public void sum() {
assertEquals(0, calc.sum()); // Verify
}
// Teardown
@After public void teardown() {
calc = null;
}
}
was bedeutet kombinatorische Explosion
anzahl der möglichen Szenarien explodiert durch kombination von möglichkeiten.
Was ist Anweisungsüberdeckung
Knotenüberdeckung
Was ist Zweigabdeckung
Kantenabdeckung
Was ist Entscheidungsüberdeckung
Alle möglichen Entscheidungen(z.B. If-Statements )werden abgedeckt
Was ist Schleifenüberdeckung
Schleife wird:
- keinmal
- genau einmal
- mehr als einmal
durchlaufen
Was sit Pfadüberdeckung
Jeder mögliche Pfad wird im test abgedeckt
Was sind TestDouble?
TestObject dass Verhalten von eig. SUT immitiert. vereinfachte versionen von SUT.
Wie stubt man mit mockito
when(Object.meth('abc')).thenReturn(3);
// stubbing nur mit rückgabe methoden.
wie mockt man mit Mockito
Object mockObject = mock(Object.class)
Was ist Findbugs
software java sucht fehler muster im code
Was ist ein Whiteboxtest
Der Code ist dem Tester bekannt und wird im Test berücksichtigt
Was ist ein Black-Box Test
Code wird beim Test nicht berücksichtigt Komponente wird von außen betrachtet.
Beschreiben sie den Refactoring prozess
1. erstelle unit test 100%
2. führe test aus green bar
3. refactoring
4. führe test aus green bar
Wie Sehen die Teststufen nach dem V-Modell aus
... Umsetzung -> Komponententest -> Integrationstest -> Systemtest
UIT
Unit Integration Test: Entwickler testet zusammenführung von Komponenten whitebox
SIT
System Integration Test: Unabhängiger Tester testet system blackbox
Nennen Sie einige Integrationsfehler
- Serviceaufruf am falschen Baustein
- Falscher Service oder falsche Serviceversion aufgerufen
- Falsche Interpretation der Eingabe- oder Ausgabewerte
- Falsche Reihenfolge der Eingabeparameter
- Unerlaubtes Modifizieren von Eingabeparametern
- Deadlocks
- Race Condition
- Falsche Reihenfolge der Aufrufe
- Falsche Antwortzeit
Was ist das Layer Test Pattern
für jeden layer ein integrationstest
4 phasentest für jeden layer wird dessen funktionalität genutzt
Was ist das Backdoor manipulation pattern
SUT duch backdoor in zustand z.b. testDatenbank
nach test den zustand von z.b. Datenbank überprüfen.
Erklären sie TDD und den TDD Prozess
TDD: Test getriebene Entwicklung, agile methode, test vor der komponente entwickelt
Prozess: Design -> test(fail) -> implement -> test(success) -> Design
Wie funktioniert eine GrenzwertAnalyse
weitere Testfälle zu Äquivalentzklasse
Grenzwert - 1 | Grenzwert | Grenzwert + 1
Was ist ein Abnahmetest
Testbasis (Was ist die Grundlage für die Testfälle)
•
•
•
•
Benutzeranforderungen
Systemanforderungen
Anwendungsfälle (use cases)
Geschäftsprozesse
• Testobjekte (SUT = System Under Test)
•
•
•
•
•
Gesamtsystem
Geschäftsprozesse des voll integrierten Systems
Anwenderverfahren
Formulare, Berichte
Konfigurationsdaten
Wie geht man bei einem Zustandsbasierten Test vor
1. Zustandsdiagramm erstellen (z.B. UML)
2. Startzustand des Zustandsdiagramm bildet die Wurzel des
Baumes
3. Jeder mögliche Übergang eine Verzweigung zu einem
neuen Knoten, welcher den Folgezustand repräsentiert
4. Schritt 3 wird solange wiederholt bis:
• Ein bereits besuchter Zustand erreicht ist.
• Endzustand erreicht.
5. Jeder Pfad durch den Baum entspricht einem Testfall.
Wie funktioniert BDD
Verhalten spezifizieren -> Implementation -> Verhalten prüfen
Was ist ein Regressionstest
Ein test der wiederholt wird um sicherzustellen dass sich bei änderungen keine fehler eingeschlichen haben.