IT-Entwicklung

Von Mensch zu Mensch

Gerade weil bei der IT-Entwicklung der Trend dahingeht, dass Analyse-, Design- und Modellierungstools signifikante Teile der Anwendung generieren. Das bedeutet, dass die Dialog-Phasen mit dem Kunden zunehmend größeres Gewicht bekommen. Damit die generierten Teile der Anwendung Ihren speziellen Anforderungen entsprechen, übernimmt KYBEIDOS gerne die notwendige Entwicklung und Anpassung bei Ihnen vor Ort – von Mensch zu Mensch. 

KYBEIDOS testet mit Strategie

KYBEIDOS legt bei Testings generell großen Wert auf Sorgfalt sowie Verständnis für die fachlichen Abläufe. Ein wichtiger Teil unserer Teststrategie besteht darin, das Testing bereits in frühen Stadien der Entwicklung so einzurichten, dass es automatisiert und dokumentiert abläuft – denn je früher Fehler behoben werden, desto besser!

Test Driven Development

Sind die Anforderungen an eine Software klar definiert, so können diese in Tests überprüft und sichergestellt werden. Werden die Tests dabei noch vor dem eigentlichen Code der Anwendung entworfen, dann spricht man von Testgetriebener Entwicklung oder Test Driven Development (TDD). Das Testen kann damit schon in der Entwicklungsphase der Software zu einer hohen Robustheit und Zuverlässigkeit beitragen. Hierbei handelt es sich in dieser Entwicklungsphase vor allem um Komponententests. Wichtig ist es in dieser Phase, dass die Tests automatisiert und ihre Laufzeit kurz sind, damit das Testen leicht in den Entwicklungsprozess integriert werden kann. 

Unit-Testing-Frameworks

Für die Automatisierung der Test kommen dabei Frameworks aus dem xUnit-Umfeld zum Einsatz wie z.B. JUnit oder TestNG für Java oder SASUnit für SAS. Um die Laufzeit der Tests möglichst klein zu halten werden diese in Testsuiten eingeteilt, sodass man durch die Ausführung einer spezifischen Testsuite auch nur bestimmte Komponenten Testet. Auf dedizierten Testumgebungen kommen dann in der weiteren Entwicklung der Software umfangreichere Testsuiten zum Einsatz für Integrations-, Last- und Systemtests. 

Vor allem bei einem iterativen oder agilen Entwicklungsmodell sind alle Arten von Test als Regressionstests wichtig, um sicherzustellen, dass sich mit den Änderungen der letzten Iteration in bisherigen Funktionalitäten keine neuen Fehler eingeschlichen haben. Die Testabdeckung sollte dabei möglichst umfänglich sein, um auch alle Fehlerfelder abzudecken. Zudem sind Testdaten für alle Testphasen nötig.

"Tests sind nicht die einzige Maßnahme im Qualitätsmanagement der Softwareentwicklung, aber oft die letztmögliche. Je später Fehler entdeckt werden, desto aufwändiger ist ihre Behebung, woraus sich der Umkehrschluss ableitet: Qualität muss (im ganzen Projektverlauf) implementiert und kann nicht 'eingetestet' werden.“ 

M. Pol, T. Koomen, A. Spillner: Management und Optimierung des Testprozesses. dpunkt