Teststufen, Testarten, Testen nach Weiterentwicklung
Sie können die vier Teststufen Komponententest, Integrationstest, Systemtest und Abnahmetest voneinander abgrenzen und zu jeder Testobjekte, Testziele, Testmethoden und Verantwortlichkeiten benennen.
Sie können begründen, warum trotz funktionierender Tests auf einer Stufe weitere Tests auf einer höheren Stufe nötig sind.
Sie können funktionale von nicht funktionalen und anforderungsbezogene von strukturbezogenen Tests unterscheiden und Testziele der jeweiligen Testarten benennen.
Sie können die Begriffe Softwarepflege und Softwarewartung definieren, voneinander abgrenzen und erklären, warum Software überhaupt gepflegt und gewartet werden muss.
Sie können die Begriffe Regressionsfehler und Regressionstest sowie eine Massnahme zu deren Verhinderung erklären.
Sie können zwischen Blackbox- und Whitebox-Testverfahren unterscheiden, deren Unterschiede benennen und die Überdeckungsgrade der einzelnen Verfahren bestimmen.
Sie können den Begriff Äquivalenzklasse definieren, Äquivalenzklassen (gültiger und ungültiger Werte) für eine gegebene Problemstellung bilden, daraus systematisch (positive und negative) Testfälle herleiten und diese mithilfe einer Grenzwertanalyse sinnvoll ergänzen.
Sie können zustandsbasierte Testfälle anhand eines Zustandsautomaten oder einer Zustandstabelle herleiten.
Sie können anhand gegebener Bedingungen eine Entscheidungstabelle aufstellen und daraus positive sowie negative Testfälle herleiten.
Sie können Testfälle systematisch anhand des zu testenden Quellcodes und der relevanten Metrik (geforderte Anweisungs- oder Zweigüberdeckung) ermitteln.
Sie können den Zusammenhang und Unterschied zwischen Anweisungs- und Zweigüberdeckung mithilfe eines Flussdiagramms erklären.
Sie können den Nutzen und das Vorgehen der erfahrungsbasierten Testfallermittlung erklären.
Sie können mögliche Probleme erklären, die beim Testen einer Klasse mitsamt ihrer Abhängigkeiten auftreten können, und diese Probleme mithilfe von Test Doubles lösen.
Sie können das Konzept der Dependency Injection erklären und es auf gegebenen Programmcode (gekoppelte Klassen) anwenden.
Sie können verschiedene Arten von Test Doubles (Dummy, Fake, Stub, Mock, Spy) voneinander unterscheiden, die Rahmenbedingungen für ihren Einsatz bestimmen und Test Doubles für eine gegebene Problemstellung implementieren.
Sie können den Unterschied zwischen Aggregation und Komposition und die Konsequenz davon auf die Testbarkeit erklären.