Ergebnis eines Java-Testlaufs
Als Testen wird die manuelle oder automatisierte Tätigkeit bezeichnet, in der entwickelte Software mit den Vorgaben aus dem Requirements Engineering verglichen wird. Je nach Strategie im Projekt und Umsetzbarkeit werden die Anforderungen als Tests ausprogrammiert oder anhand von Testern überprüft.
Qualitätssicherung#
Das Testen besitzt im
Qualitätssicherung einen hohen Stellenwert. Es bestehen eine Reihe von Methoden, Tests in einem
Engineering-Projekt umzusetzen:
- Testkonzept: Für die wirkungsvolle Umsetzung von Tests ist zunächst ein Testkonzept erforderlich. Darin wird die Testabdeckung, die betroffenen Use Cases und das Fachkonzept berücksichtigt.
- Testautomatisierung: Statt Tests von Testern manuell durchführen zu lassen, werden diese als Software-Komponenten konzipiert. Frameworks, wie JUnit, DBUnit oder Selenium unterstützen dabei die Umsetzung. Diese Tests werden in der Regel vor jedem Release oder auch nach jedem Build durchgeführt. So können die Entwickler automatisch über auftretende Fehler informiert werden.
- Regressionstest: Bei diesem Testverfahren wird für jedes vorhandene Feature ein Test implementiert, sodass der Verlust ein Rückschritt (Regress) der Funktionalität schnell und automatisch entdeckt wird.
- Fachtest: Fachliche Tests stellen die oberste Ebene beim Testen dar, darin wird das Zusammenspiel der gesamten Komponenten geprüft. Fachtests werden meist Manuell von Testern durchgeführt.
- Smoke Test: Ein einfacher Test, der die Funktionalität einer Komponente prüft.
- Service Test: Ein Test, der die Verfügbarkeit eines Services prüft.
Tester#
Ein Tester ist ein Job, der üblicherweise vom
Fachbereich nebenbei durchgeführt wird. In seltenen Fällen wird Software auch anhand der
Anforderungsdokumente durch externe Unternehmen getestet.