Welche Rolle übernimmt Qualitätssicherung in der Softwareentwicklung?

Ich bin sehr glücklich darüber, in einem Unternehmen arbeiten zu dürfen, das viel Energie und Zeit in die Qualitätssicherung jedes Software-Projektes investiert.

Die Qualitätssicherung ist viel zu oft eine Disziplin, die nicht ausreichend gewürdigt wird.

Wir entwickeln Software, teilen diese intern im Team, testen sie, sammeln Feedback, befragen Beta Tester und wiederholen diesen Prozess.

Dennoch gibt es Personen und Unternehmen, die Qualitätssicherung nur sehr oberflächlich behandeln. Ein paar Tests hier, ein bisschen User-Feedback dort. Das Auge ist dabei immer auf den Go-Live-Button gerichtet.

Interessantes Thema? Teilen Sie diesen Artikel ❤️

Der traditionelle Wasserfall-Ansatz in der Qualitätssicherung

Die Softwareentwicklung generell verfolgte lange den traditionellen Ansatz des Wasserfall-Modells. Und die Qualitätssicherung (auch unter QA oder Quality Assurance bekannt) ist hier der bekanntlich letzte Schritt vor dem Launch.

qualitaetssicherung-softwareentwicklung

Wie man vermuten mag, gibt es nicht allzu viele Vorteile dieser Methodik. Meist müssen zum Schluss Projektverzögerungen aufgeholt und Ressourcen zum finalen Go-Live abgezogen werden.

Und im schlimmsten Fall wurde im letzten Schritt der Qualitätssicherung festgestellt, dass das zuvor entwickelte Projekte für die eigentliche Zielgruppe nicht funktioniert.

Mehr agile Qualitätssicherung.

Die agile Bewegung in der Softwareentwicklung führte vermehrt auch zum agilen Ansatz in der Qualitätssicherung. Und obwohl hier noch Spielraum nach oben ist, führte dieser agile Ansatz zu einer verbesserten und intensiveren Zusammenarbeit zwischen Entwicklungs- und QA-Teams.

qualitaetssicherung-software

Der Mittelsmann

Gute Software wird von sehr guten Programmierern entwickelt. Doch ein guter Programmierer ist noch lange kein guter Tester und QA-Agent.

Die Qualitätssicherung erfordert zusätzliche Fähigkeiten und Erfahrungen, vor allem in der Kommunikation zwischen Entwicklung und QA ist viel Feingefühl gefragt.

Personen in der Qualitätssicherung agieren in der Regel als Kundenvertreter. Software Tester und QA-Agent vertreten unternehmensintern die Wünsche und Ansprüche der (potentiellen) Kunden. Und sie unterstützen Software-Entwickler dabei, diese Zielgruppe besser zu erreichen.

Was bedeutet Qualitätssicherung?

Was bedeutet QA? Wie wird Qualitätssicherung definiert?

Wenn wir einen Blick auf die Standarddefinitionen werfen, so ergibt sich folgendes Bild von QA:

When developing hardware or software, quality assurance (QA) is “any systematic process of checking to see whether a product or service being developed is meeting specified requirements.

(Quelle: http://searchsoftwarequality.techtarget.com/definition/quality-assurance)

Oder wie Wikipedia sagt:

wikipedia-definition-qa

Zusammenfassend kann festgehalten werden, dass es sich bei der Qualitätssicherung um die strategische und operative Überprüfung, Identifikation und Lösung von Softwarefehler handelt, mit dem Ziel eine funktionierende Lösung bereitzustellen.

Tools und Standards, wie ISO 9000, unterstützten Unternehmen dabei, effektive Qualitätssicherungs-Abläufe zu implementieren. Das mag etwas unpraktisch klingen. Ich empfehle Ihnen jedoch einen Blick auf die ISO 9000 Standards zu werfen. Diese bieten durchaus praktische Unterstützung und Ratschläge wenn Sie eine neue Software oder Hardware entwickeln

Ein Beispiel: Der erste Prinzip welches im ISO 9000 Standard definiert ist, behandelt das Thema “Kundenfokus”. Und dieses stellt klar, das Software dann erfolgreich ist, wenn die Entwicklung bestrebt ist, Kundenerwartungen zu übertreffen.

Es gibt mehr als einen QA-Ansatz

Qualitätssicherung in der Softwareentwicklung behandelt nicht einen einzigen Prozess. Es gibt einen Vielzahl an QA-Typen, -Abläufe, und Projektphasen im Rahmen der Qualitätssicherung.

Abhängig vom Softwareprodukt, vom Unternehmen, und den dazugehörigen Abläufen, kann es etwa folgende Typen geben:

qa-types-approaches

Ein gängiger Fehler ist, sich lediglich auf eine der genannten Bereiche zu fokussieren. Vor allem als kleines Entwicklungsteam gilt es Prioritäten abzuwägen und eine gute Mischung an Stress-Tests, Integration-Tests und CI zu finden.

Auch sollten QA-Frameworks und Software-Testing Arten, wie Kompatibilitätstests, User Acceptance Tests, oder auch Smoke Tests beachtet werden.

Qualitätssicherung & Unternehmenskultur

Als Softwareentwicklungs-Team tut man sich keinen Gefallen damit, das Thema Qualitätssicherung zu vermeiden. Man wird zwar zu Beginn Zeit und Ressourcen einsparen, aber schlussendlich auch User und Kunden verlieren.

Wir von Usersnap hoffen, dieser Post hat Ihnen gefallen und freuen uns, wenn Sie uns auf Twitter folgen. Dort tweeten wir regelmäßig über Web Development, Webdesign und UAT.

Usersnap ist ein Bug Tracking und Screenshot-Tool für jedes Webprojekt. Erhalten Sie sofort Feedback von Ihren Website-Besuchern. Jetzt kostenlos testen!

Interessantes Thema? Teilen Sie diesen Artikel ❤️