Test Driven Development (TDD)

Bei einem Test-Driven-Development (kurz TDD) oder ins Deutsche übersetzt: testgetriebene Entwicklung, werden Software-Tests vor der eigentlichen Programmierung der späteren Lösung entwickelt. Der Ablauf dieser Methode ist zyklisch und inkrementell. D.h. die Anwendung wird Schritt für Schritt entwickelt und immer wieder gegen zuvor erstelle Testfälle geprüft. Nach Bestehen eines Testfalls wird die Anwendung um weitere Funktionalitäten erweitert und durchläuft danach erneut einen Test.

TDD wird häufig bei der agilen Entwicklung angewendet und verfolgt das Ziel der Qualitätsoptimierung von Software - in unserem Fall webbasierter Software.

Vorteile von TDD

Qualitativ hochwertige Anwendungen

Weniger wartungsintensiv & fehlerunanfälliger 

Vereinfachte, schnellere Fehleranalyse & Wartung

Vermeidung von Redundanzen & nicht benötigten Quellcodes

Automated Unit Tests

Testautomatisierung (Automated Unit Test) ist ebenfalls ein fester Bestandteil agiler Qualitätssicherung und kann Entwicklungsprozesse erheblich optimieren. Obwohl der initiale Aufwand zunächst höher ausfällt, hat sich dieser Kostenfaktor aufgrund der daraus resultierenden Zeitersparnis für Tests schnell amortisiert. Im Gegenzug zur TDD Methode werden bei Automated Unit Tests begleitend zur Softwareentwicklung (in unserem Fall Webentwicklung), stetig weitere Tests generiert und dem Testzyklus hinzugefügt.

Vorteile von Automated Unit Tests (Testautomation)

Wiederholbarkeit & Genauigkeit im Vgl. zu manuellen Tests

Testausführung ohne manuelles Eingreifen

Langfristige Kosten- & Zeitersparnis

Verkürzung von Entwicklungszeiten

Backup-Strategien

Zur Qualitätssicherung innerhalb der Webentwicklung gehört auch die Planung und Umsetzung von Backup- sowie Fallback Strategien. Unsere Webanwendungen sind von ihrer Architektur her so aufgebaut, dass sie auf mehrere Systeme (Server) verteilt werden können. Dies ermöglicht es einerseits mit steigenden Anforderungen zu skalieren (Performance Optimierung) und andererseits einen Ausfall eines Servers abzufangen. Ein Heart-Beat-System oder Cluster könnten hier als Beispiele angeführt werden. Darüber hinaus planen und realisieren wir automatische, cronjob-gesteuerte Backups von Datenbanken und Anwendungsdaten. Auch eine Versionierung Ihrer Webanwendung stellt eine Form des Backups dar. Wie Sie Ihre Daten und Anwendungen am Besten absichern und für ein Höchstmaß an Verfügbarkeit sorgen, erörtern wir Ihnen gerne in einem persönlichen Gespräch.

Entwicklung von Backup- & Verfügbarkeitsstrategien

Automatische Backups von Datenbanken

Automatische Backups von Anwendungsdaten

Einrichtung von Fail-Over Systemen

Versionierung von Webanwendungen

Integrationstests

Nach erfolgreich verlaufenen Einzel- bzw. Modultests steht der Test des Gesamtsystems an. Bei diesen sogenannten Integrationstests wird das System erstmals mit allen Komponenten und deren Interaktion bzw. Abhängigkeiten geprüft. Integrationstests müssen jedoch nicht zwangsläufig erst am Ende eines Projekts erfolgen. Sobald ein weiteres Modul einer Webanwendung fertig implementiert wurde, kann ein anschließender Integrationstest bereits das Zusammenspiel mit anderen Modulen überprüfen.

Vorteile von Integartionstests

Fehler bei der Interaktion aller Module identifizieren

Vorhandene Unit Tests können weiterhin verwendet werden

Sicherstellung der Gesamtfunktionalität

Kompatibilität von Schnittstellen sind prüfbar

Projekt anfragen