We digitize our customers' individuality

BLOG

Qualitätssicherung in der Softwareentwicklung: Alles, was Sie wissen müssen!

softwareentwicklung dienstleister

Inhaltsverzeichnis

Es gibt Fragen, die uns als Softwareschmiede im Alltag immer wieder begegnen. Etwa die Frage nach der Qualitätssicherung. Lesen Sie in diesem Blogbeitrag, wie unsere Entwickler die Qualität der Software sicherstellen!

Wir sind beim Thema Qualitätssicherung angekommen.

Das bedeutet: Wir befinden uns auf der Zielgeraden.

Die Qualitätssicherung ist der letzte Schritt eines Softwareentwicklungsprojekts. Das macht sie jedoch nicht weniger wichtig. Schließlich hat sich Ihr Unternehmen nach reiflicher Abwägung aller Vorteile und Kosten gegen eine Standardsoftware entschieden und hat gemeinsam mit dem Dienstleister Ihrer Wahl die verschiedenen Phasen des Entwicklungsprozesses durchlaufen. Am Ende halten Sie nun Ihre ganz persönliche Software in der Hand.

Bleibt nur die Frage: Wie wird sichergestellt, dass die Software ihr Soll zu jeder Zeit erfüllt? Wie werden Bugs gefunden und in Schach gehalten?

Ganz einfach: durchtesten, testen, testen. Vor, während und nach der Fertigstellung wird die Software vom Entwicklerteam kontinuierlich auf ihre Funktionalität geprüft. So werden Fehler früh erkannt und der hohe Qualitätsstandard kann zu jeder Zeit garantiert werden.

Jedes Unternehmen greift bei der Qualitätssicherung auf sein ganz eigenes Set an Maßnahmen und Tools zurück. Für uns bei Halvotec hat sich in den letzten 20 Jahren folgendes Vorgehen bewährt:

Qualitätssicherung per Source Control

Für die Entwicklung des Quellcodes nutzen wir bei all unseren Projekten das Source-Control-System Git. Dieses bietet alle gängigen Kontroll- und Zusammenarbeitsfeatures an und ermöglicht zudem einen Einblick in die Änderungshistorie der Software. Dadurch können wir im Nachgang jederzeit nachvollziehen, welches Codestück zu welchem Zeitpunkt geändert wurde und so mögliche Fehlfunktionen lokalisieren.

Qualitätssicherung per Pull Requests

Vier Augen sehen mehr als zwei. Dieses Prinzip machen wir uns auch bei der Softwareentwicklung zunutze. Über sogenannte Pull Requests wird jeder Check-in (also die Bereitstellung eines neuen Codestücks für alle beteiligten Entwickler) von mindestens einem weiteren Entwickler geprüft, bevor die Änderung übernommen wird. Das garantiert, dass die vorgenommenen Änderungen allen vom Kunden gewünschten Spezifikationen entsprechen.

Qualitätssicherung durch Testautomatisierung

In der Entwicklungsphase schreiben unsere Entwickler nicht nur den Code für die Funktionalität, sondern programmieren parallel auch passende Tests, um die korrekte Funktionsweise des geschriebenen Codes sicherzustellen. Im Laufe des Projekts wachsen die Tests zu einer umfangreichen Testsuite heran, die automatisiert bei jedem Check-in Source Control System ausgeführt wird, um mögliche Probleme frühzeitig zu erkennen. Die Testautomatisierung stellt somit ein wichtiges Tool der Qualitätssicherung während der Softwareentwicklung dar.

Qualitätssicherung durch manuelle Entwicklertests

Neben den oben erwähnten programmierten Tests werden neue Features von unseren Entwicklern vor dem Check-in mehrfach manuell geprüft. Dadurch wird sichergestellt, dass neue Funktionen bzw. geänderte Code-Stellen wie gewünscht allen definierten Anforderungen gerecht werden.

Qualitätssicherung per CI/CD

Die Continuous Integration (CI) und das Continuous Deployment (CD) sind ein wichtiges Tool im Entwicklungsprozess. CI/CD sorgt für die Automatisierung und Überwachung aller Phasen des Softwareentwicklungszyklus. Nach jedem Pull Request wird die Software auf Basis des aktuellsten Quellcode-Standes erstellt, alle verfügbaren Tests automatisch ausgeführt und anschließend die neue Softwareversion bereitgestellt.

Qualitätssicherung mittels manueller Tests/Regressionstests

Mit jedem Release führen unsere QS-Mitarbeiter neben den automatisierten Tests auch manuelle Tests/Regressionstests durch. Hierbei wird sichergestellt, dass die Funktionalität der Software auch aus Anwendersicht einwandfrei funktioniert.

Qualitätssicherung per Integrationstest

Für die Kernfunktionalität unserer Softwarelösung erstellen unsere Entwickler und Mitarbeiter in der Qualitätssicherung sogenannte Coded Ui Tests. Das sind kleine Programme, welche die Anwendung so verwenden, wie es ein Mensch tun würde. Durch diese Tests ist es möglich, die Haupt-Use Cases der Anwendung ohne großen manuellen Aufwand wiederholbar testen zu lassen. Das verschafft den QS-Mitarbeitern Zeit, sich voll und ganz auf Spezialfälle und Regressionstests zu fokussieren.

Qualitätssicherung durch die Prozessschritte Dev-QS-Prod

Bei der Entwicklung und dem Deployment achten wir strikt darauf, die Software in verschiedenen Systemumgebungen zu testen und erst danach für den nächsten Schritt freizugeben. Änderungen an der Software werden von uns immer erst auf internen Testsystemen auf Herz und Nieren geprüft. Sind die internen Tests erfolgreich beendet, stellen wir die neue Softwareversion auf dem Testsystem bereit, wo sie der Kunde nun selbst intensiv testen kann. Erst wenn der Kunde sein GO gibt, wird die Software zum vereinbarten Zeitpunkt im Produktivsystem aktualisiert.

Individualsoftware: Ein lohnendes Projekt

Wer mit dem Gedanken spielt, eine Software nach Wunsch entwickeln zu lassen, sieht sich mit zahlreichen offenen Fragen konfrontiert. Meist beginnt das Gedankenspiel mit der Recherche im Netz. Warum sollte ich Geld für eine Individualsoftware ausgeben, wenn es doch auch Standardsoftwareprodukte gibt? Die Antwort ist überwiegend simple: Weil die auf dem Markt erhältlichen Produkte Spezialfälle selten zufriedenstellend abdecken können. Auch die hohen Initialkosten relativieren sich schnell, wenn man diese den Lizenz- und Wartungskosten von Standardsoftwareprodukten gegenüberstellt.

Am Ende entscheidet, wie so oft im Leben, immer auch die richtige Partnerwahl über Erfolg oder Misserfolg eines Projekts. Ein erfahrenes und kompetentes Entwicklerteam begleitet Sie während jeder Phase der Softwareentwicklung. Probleme oder Änderungswünsche werden gemeinschaftlich besprochen. Nur so erhalten Sie am Ende eine Software, die zu 100 % Ihren Wünschen entspricht und Sie nicht enttäuschen wird.

Sprechen wir über Ihr Projekt

Softwareentwicklung Services

Digital Experts bietet umfangreiche Leistungen im Bereich der Software-Entwicklung

kostenlos & unverbindlich