Qualität ist keine Phase des Projekts, sondern eine fortlaufende Verantwortung. QA (Qualitätssicherung) umfasst Prozesse, Praktiken und Kultur, die garantieren, dass Produkte ordnungsgemäß funktionieren. In diesem Leitfaden erfahren Sie, wie Sie eine effektive Qualitätssicherung für digitale Produkte implementieren.
Was ist Qualitätssicherung?
Definition
Eine Reihe von Aktivitäten, die die Softwarequalität garantieren.
QA vs. QC
Qualitätssicherung ist ein Prozess (Fehlervermeidung). QC ist Inspektion (Feststellen von Mängeln).
Geltungsbereich
Nicht nur Tests. Prozesse, Standards, Dokumentation.
Warum Qualitätssicherung wichtig ist
Kosten für Fehler
Fehler in der Produktion kosten 100x mehr als in der Entwicklung.
Benutzererfahrung
Fehler frustrieren. Benutzer geben auf.
Ruf
Fehlerhafte Apps erhalten negative Bewertungen.
Vertrauen
Zeit ist sicherer, Code zu ändern.
Arten von Tests
Unit-Tests
Testen Sie isolierte Funktionen. Schnell, viel.
Integrationstests
Testen Sie Komponenten gemeinsam. API, Bank.
End-to-End (E2E)
Vollständiger Ablauf als Benutzer.
Manuelles Testen
Menschen erkunden das Produkt.
Rauchtests
Überprüfen Sie schnell, ob der Build funktioniert.
Regressionstests
Stellen Sie sicher, dass Änderungen keine bestehenden Änderungen beeinträchtigen.
Leistungstests
Verhalten unter Last.
Sicherheitstests
Schwachstellen und Compliance.
Testpyramide
Konzept
Viele Unit-Tests, weniger Integration, wenig E2E.
Warum
Die Geräte sind schnell und günstig. E2E sind langsam und fragil.
Gleichgewicht
Jeder Typ hat einen Wert. Vernachlässigen Sie keines.
Testautomatisierung
Warum automatisieren?
Wiederholbarkeit, Geschwindigkeit, Abdeckung.
Was zu automatisieren ist
Wiederkehrende, kritische, stabile Fälle.
Werkzeuge
Scherz, Pytest, Zypresse, Dramatiker, Appium.
Wartung
Automatisierte Tests erfordern kontinuierliche Pflege.
Qualitätssicherung in Agile
Nach links verschieben
Qualität von Anfang an, nicht am Ende.
Kontinuierliche Tests
Bei jedem Commit werden Tests ausgeführt.
Definition von „Fertig“.
Beinhaltet Qualitätskriterien.
Funktionsübergreifend
Qualitätssicherung im Team integriert, nicht getrennt.
QA-Prozesse
Testplanung
Was zu testen ist, wie, wann.
Testfälle
Szenariodokumentation.
Fehlerberichterstattung
Klare Beschreibung, Wiedergabe, Schweregrad.
Triage
Priorisierung von Fehlern.
Regression
Erneute Tests nach Korrekturen.
Testumgebungen
Entwickler
Für Entwickler. Instabil.
Inszenierung
Produktionsspiegel. Vollständige Qualitätssicherung.
###Produktion
Immer stabil. Begrenzte Tests.
Datum
Realistische, aber sichere Testdaten.
Mobile Qualitätssicherung
Gerätefragmentierung
Viele Geräte, Ausführungen, Größen.
Gerätelabore
Testen Sie auf echten Geräten.
Cloud-Tests
BrowserStack, Firebase-Testlabor.
Plattformspezifisch
iOS und Android haben Macken.
Exploratives Testen
Was ist das?
Tests ohne Drehbuch. Untersuchung.
Wann zu verwenden
Finden Sie unerwartete Fehler.
Heuristiken
Techniken leiten die Erkundung.
Dokumentation
Halten Sie fest, was Sie entdecken.
QA-Metriken
Bug-Escape-Rate
Fehler, die in der Produktion auftreten.
Testabdeckung
Durch Tests abgedeckter Code.
Fehlerdichte
Fehler nach Codegröße.
Zeit zum Reparieren
Wie lange dauert die Reparatur?
Testerfolgsquote
Prozentsatz der bestandenen Tests.
CI/CD und Qualitätssicherung
Kontinuierliche Integration
Bei jeder Zusammenführung werden Tests ausgeführt.
Gating
Zusammenführung blockiert, wenn Tests fehlschlagen.
Kontinuierliche Bereitstellung
Automatische Bereitstellung, wenn die Tests erfolgreich sind.
Überwachung
Beobachtbarkeit in der Produktion als kontinuierliche Qualitätssicherung.
Qualitätskultur
Geteilte Verantwortung
Qualität gehört allen, nicht nur der Qualitätssicherung.
Codeüberprüfung
Peers-Review-Code.
Definition von „Fertig“.
Qualität inklusive.
Tadellose Postmortems
Aus Fehlern lernen, nicht beschuldigen.
Dokumentation
Testpläne
Teststrategie für Feature/Release.
Testfälle
Schritte zum Testen von Szenarien.
Fehlerberichte
Vollständige Beschreibung zum Spielen.
Versionshinweise
Was hat sich geändert, was soll getestet werden?
Häufige Fehler
Qualitätssicherung am Ende
Warten Sie bis zur letzten Minute. Nach links verschieben.
Nur manuell
Manuelle Tests lassen sich nicht skalieren.
Feedback ignorieren
Bekannte Fehler nicht behoben.
Verschiedene Umgebungen
Sehr unterschiedliche Inszenierung der Produktion.
Fazit
Qualitätssicherung ist eine Investition, die deutlich höhere Kosten verhindert. Automatisieren Sie Wiederholungen, testen Sie frühzeitig und bauen Sie eine Qualitätskultur auf. Gut getestete Produkte sind zuverlässige Produkte.
##FAQs
1) Liegt die Qualitätssicherung allein in der Verantwortung des Testers? Nein. Für die Qualität ist das gesamte Team verantwortlich.
2) Wie viel soll automatisiert werden? So sehr es auch Sinn macht. Umfangreiche Unit-Tests, selektives E2E.
3) Verzögert die Qualitätssicherung die Lieferungen? Kurzfristig vielleicht. Langfristig, vermeidet Nacharbeiten.
4) Benötige ich eine dedizierte Qualitätssicherung? Es kommt auf die Größe an. Kleine Teams können sich die Verantwortung teilen.
5) Wie priorisiere ich Fehler? Schweregrad x Auswirkung. Blocker zuerst.
