Qualitätssicherung

Software muss fehlerlos funktionieren. Diese Erwartung an die Software haben nicht nur die Kund:innen, sondern natürlich auch die Software Developer. Daher wird die Entwicklung von Software durch Quality Assurance – kurz QA – begleitet.

Testen, testen, testen

Durch die Qualitätssicherung wird sichergestellt, dass Fehler entdeckt werden, ehe sie sich manifestieren. Dies unterscheidet Quality Assurance auch von einer nachträglichen Fehlerkontrolle.

Grundlegend für eine erfolgreiche Qualitätssicherung ist, dass die Tests sinnvoll geplant werden, professionell durchgeführt werden und sorgfältig dokumentiert werden. Für umfangreiche und standardisierte Tests bieten sich automatisierte Tests an.

Besprechen wir gemeinsam, wie wir auch für Ihre Software höchste Qualität garantieren!

Mehr Sicherheit fürs Budget

Qualitätssichernde Softwaretest sparen Kosten: Je früher ein Fehler entdeckt wird, desto einfach ist er zu beheben. Teuer werden Fehler dann, wenn sie erst am Ende des Entwicklungsprozesses oder gar nach der Auslieferung entdeckt werden. Quality Assurance verhindert dies und gibt Auftraggeber:innen dadurch auch finanzielle Sicherheit.

Von Anfang an ein Teil der Entwicklung

Die grundlegende Frage beim Thema Qualitätssicherung lautet: Wie können Software-Entwickler:innen sicherstellen, dass ein qualitativ hochwertiges Endprodukt an die Auftraggeber:innen ausgeliefert wird? Diese Frage stellt sich schon am Anfang des Entwicklungsprozesses. Schon während die Entwickler:innen programmieren, werden bereits Tests zur Qualitätssicherung geschrieben. Qualitätssicherung ist somit von Anfang an ein Bestandteil von anspruchsvoller Softwareentwicklung.

Die richtige Teststrategie

Die Arbeit der Quality Assurance beginnt nicht erst beim Testen, sondern schon weit vorher: Es müssen die Standards definiert werden, die für das Testen vorgegeben werden. Welche Anforderungen muss eine Software erfüllen, wie können dies Tests systematisch prüfen? Ein Testkonzept beziehungsweise eine Teststrategie ist notwendig, um durch eine standardisierte Vorgehensweise belastbare und vergleichbare Ergebnisse zu erhalten. Die Teststrategie beinhaltet auch die Auswahl der Testtools und die Festlegung des Testumfangs. Am Ende muss die Frage beantwortet werden: Wurden die vorher abgesprochenen spezifizierten Anforderungen an die Software genauso umgesetzt und funktionieren sie?

Effizienter durch Automation

Automatisierte Tests haben gegenüber manuellen Tests Vorteile: So lassen sich zum Beispiel in kürzerer Zeit mehr Testfälle überprüfen. Da es sich bei Quality Assurance immer um systematische Prozesse handelt, ist Testing immer mit gewissen Vorbereitungen verbunden. Bei automatisierten Tests werden Testszenarien konzipiert, Testfälle geschrieben und die passenden Testtools identifiziert. Automatisierte Testfälle können schnell und effizient ausgewertet werden. Auch die Dokumentation der Testergebnisse ist durch Testautomation schneller und systematischer.

Tanja Huber, Quality Analyst cyan.it

„Testing ist von Beginn an ein Teil der Softwareentwicklung. So können sich Fehler gar nicht erst manifestieren.”

Verschiedene Tests für verschiedene Bereiche

Regressionstests

Mit Regressionstests beurteilen Entwickler:innen, ob Änderungen oder Erweiterungen einer Anwendung oder einer Softwarekomponente Fehler verursacht haben. Unbeabsichtigte Nebeneffekte einer Softwareänderung können so entdeckt werden. Überprüft wird, ob sich durch die durch den geänderten oder modifizierten Code die Funktionalität, die Leistung oder die Stabilität verschlechtert hat.

Integrationstests

Bei Integrationstests werden die verschiedenen Komponenten eines Systems zusammengeführt, um zu überprüfen, ob sie korrekt zusammenarbeiten. Dabei werden vor allem die Schnittstellen getestet, um die korrekte Kommunikation unter den Komponenten und deren reibungslosen Datenaustausch sicherzustellen. Der Integrationstest zeigt, ob das System als Ganzes funktioniert und die Anforderungen erfüllt.

Unit-Tests

Unit-Tests sind eine Art von Softwaretests, bei denen einzelne Code-Einheiten getestet werden, um sicherzustellen, dass sie ordnungsgemäß funktionieren. Deshalb sind solche Tests auch unter dem Namen Modul- oder Komponententest bekannt. Diese Tests werden üblicherweise vor der Veröffentlichung einer Anwendung durchgeführt und lassen sich kostengünstig automatisieren.

End-to-End-Tests

End-to-End-Tests überprüfen die gesamte Anwendung. Mit einem manuellen End-to-End-Test beispielsweise wird der Workflow einer Anwendung aus Sicht des Endnutzers durchlaufen und dabei das Softwareprodukt als Ganzes betrachtet. Ein End-to-End-Test prüft alle Funktionen der Anwendung, einschließlich Benutzeraktionen, Datenbankzugriff, Nutzung verschiedener APIs und vieles mehr.

Fangen wir an!

Rufen Sie uns an unter +49 8509 93091-15 . . .

Unsere weiteren Leistungsbereiche