Testen Flashcards
Warum sollte man Software Testen?
Welche Testarten gibt es?
- Modultest (Unit test)
- Integrationstest
- Systemtest
- Abnahmetest
- Schnittstellentest
- Performanz-, Last-, Stresstests
- Usability Tests
- Regressionstests
- Smoke Test
- Monkey Test
Was ist ein Modultest (Unit Test)
- Ein Modultest testet einen einzelnen Programmierbaustein unabhängig der anderen Komponenten
Was ist ein Integrationstest?
Ein Integrationstest testet das Zusammenspiel zwischen mehreren Komponenten
Was ist ein Systemtest?
Das ganze System wird vollständig geprüft, da dies sehr teuer ist wird dies weniger gemacht ist aber dennoch wichtig
Was ist ein Abnahmetest (Akzeptanztest?
Ein Abnahmetest wird vom Auftraggeber gestellt und ist die Bedingung, dass das Softwareprojekt abgenommen wird
Was ist ein Schnittstellentest?
Ein Schnittstellentest testet die funktionaltität einer Schnittstelle und wie sie auf fehlersituationen reagiert
Was ist ein Performanz-, Last-, Stresstest?
Es überprüft die Funktionsfähigkeit des Systems unter großen Last, dabei ist es wichtig dass das System keine schwerwiegenden Fehler macht
Was ist ein Usability Test?
Ein Usability Test, testet die Gebrauchstauglichkeit des Systems und sollte am besten mit Nutzern durchgeführt werden
Was sind Regressionstests?
Regressionstests überprüfen ob Teile des Systems noch funktionsfähig obwohl sie nicht verändert wurden.
Was sind Smoke Tests?
Was sind Monkey Tests?
Was sind Vor und Nachteile von automatischen Tests?
Was sind Vor- und Nachteile von manuellen Tests?
Was ist das JUnit-Framework?
Was sind JUnit-Assertions?
Was macht die Methode fail() in JUnit?
- Die Methode org.junit.Assert.fail lässt einen Unit-Test fehlschlagen.
- Man nutzt dies meist, wenn man feststellt, dass eine erwartete Exception nicht aufgetreten ist (Alternative zu Assertions.assertThrows).
Wie sind Tests anatomisch aufgebaut?
Was ist das Problem beim testen mit Abhängikeiten von Objekten?
Was versteht man unter Testüberdeckung?
Testabdeckung in der Softwaretechnik bezieht sich auf den Grad, in dem der Quellcode durch Tests abgedeckt wird, um sicherzustellen, dass alle Teile des Codes getestet wurden
Welche Arten von Testüberdeckung gibt es?
- Anweisungsüberdeckung
- Zweigüberdeckung
- Pfadüberdeckung
Was ist Anweisungsüberdeckung, sowie die Vor- und Nachteile?
Was versteht man unter Zweigüberdeckung, was sind Vor- und Nachteile?
Was ist Pfadüberdeckung, was sind Vor- und Nachteile?
Was sind Eigenschaften eines guten Unit-Tests?
Was sind Eigenschaften von Unit-Tests: Fast?
Was sind Eigenschaften von Unit-Tests: Isolated?
Was sind Eigenschaften von Unit-Tests: Repeatable?
Was sind Eigenschaften von Unit-Tests: Self-Verifying?
Was sind Eigenschaften von Unit-Tests: Timely?
Was sind Vor- und Nachteile von Unit-Tests?
Was ist die Motivation hinter Testgetriebener Entwicklung (TDD)
Wie sieht das Vorgehen beim Testgetriebenen Entwickeln aus?
Was gilt es zu beachten, wenn man Manuelle Tests durchführt?
Wie baut man einen manuellen Test auf?
Wie lange ist Testen Ökonomisch effektiv?