Quality Engineering

Quality Engineering

Qualität in der
Software Entwicklung

Quality Engineering bei netz98 geht weit über einfache Unit Test Abdeckung hinaus. Qualität in der Software Entwicklung hat bei netz98 die höchste Priorität und entsprechend setzen wir strikt auf verschiedene Test Disziplinen wie Unit Test sowie Funktions- und Integrationstest.

Die Systeme, die wir für unsere Kunden entwickeln, sind in vielen Fällen für betriebskritische Prozesse verantwortlich, weshalb wir auf langfristige Qualität und Stabilität setzen.

Um langfristige Qualität und Stabilität gewährleisten zu können, arbeiten wir im Qualitätsmanagement strikt nach Test Driven Development Methoden. Dabei spielen Agilität, Automatisierungen und Testabdeckung eine zentrale Rolle.

Agilität

Veränderung
als Prinzip

Die Entwicklung und Ausführung von Tests müssen stets im Projektlauf parallel passieren. So kann sichergestellt werden, dass Entwickler unmittelbares Feedback zum Stand der Software erhalten und einschätzen können, ob die User Stories oder Anforderungen erfüllt wurden. Verschiedene Testdisziplinen wie Unit Test und Integrationstests werden über das gesamte Projekt hinweg über Continuous Integration Server ausgeführt und überwacht.

Automatisierung

Komplex,
ganz einfach

Um mehreren Entwicklern über das gesamte Projekt eine Übersicht und Zusammenführung von Tests zu ermöglichen, ist ein hoher Grad an Automatisierung und Standardisierung notwendig. Das Testen des Gesamtsystems, der einzelnen Module und das Überprüfen von Metriken geschieht automatisiert im Continuous Integration Server. Dabei kommen Technologien wie PHPUnit, Selenium, QUnit zum Einsatz.

Testabdeckung

Stabilität
durch Standards

Um eine kontinuierlich hohe Qualität bei maximaler Flexibilität gewährleisten zu können, ist eine hohe Testabdeckung unentbehrlich. Gerade im E-Commerce ist es besonders wichtig betriebskritische Funktionen vollständig mit Tests abzudecken, da ein Ausfall oder Fehler schnell zu großen Umsatzausfällen und Schäden führen kann.
In der agilen Software Entwicklung haben wir zwar bei den User Stories definierte Akzeptanzkriterien, jedoch bietet eine hohe Testabdeckung des Gesamtsystems die Möglichkeit Auswirkungen von Änderungen und Anpassungen auf andere Funktionen aufzudecken. Zusätzlich bieten automatisierte Tests zu Metriken und Architektur-Vorgaben sowie Last- und Stress-Tests eine weitere Möglichkeit, die Sicherheit und Stabilität des Systems zu gewährleisten.