Qualitätssicherung (QA) im Softwaretesting: QA-Ansichten und Best Practices

Qualitätssicherung (QA) im Softwaretesting: QA-Ansichten und Best Practices

  • ITOps & DevOps
6 Minuten Lesezeit Aktualisiert Apr 16, 2021

Auf einen Blick: Qualitätssicherung (QA) im Softwaretesting gewährleistet eine einheitliche Softwarequalität durch systematische Praktiken, wobei der Schwerpunkt auf frühzeitiger Fehlererkennung und Nutzerfeedback gelegt wird. Sie umfasst sowohl Qualitätskontrolle (QC) als auch einen proaktiven Ansatz zur Prozessverbesserung.

  • Implementieren Sie Automatisierung für wiederholte Testaufgaben, um die Produktivität zu steigern.
  • Verfolgen Sie einen kundenorientierten Ansatz, um Software-Qualitätsstandards aufrechtzuerhalten.

Softwarequalität kann schwer zu bestimmen sein. Das liegt daran, dass jede Beteiligte Qualität unterschiedlich definieren kann. Verschiedene Perspektiven aus verschiedenen Interessengruppen und Einrichtungen können die Softwarequalität daran messen, wie sie zu ihren eigenen Anforderungen, Erwartungen und Standards passt.

Qualitätssicherung (QA) ist eine gängige Praxis, um sicherzustellen, dass das Endprodukt eines Softwareentwicklungslebenszyklus (SDLC) den übergeordneten und vom Umfang vereinbarten Erwartungen entspricht.

In diesem Artikel besprechen wir die Grundlagen der Qualitätssicherung (QA) und ihre Rolle im Softwaretest.

Was ist Qualitätssicherung?

Um Qualitätssicherung zu definieren, beginnen wir zunächst mit der Definition von Qualität:

Qualität bezeichnet die Einhaltung impliziter oder expliziter Anforderungen, Erwartungen und Standards.

Um diese Anforderungen zu erfüllen, wird ein Qualitätskontrollmechanismus eingerichtet.

Qualitätskontrolle (QC) ist der Prozess , durch den Sie Produktqualität erreichen oder verbessern. Der QC-Prozess kann auch die Aktivitäten umfassen, die zur Beseitigung von Abfallprozessen im SDLC eingesetzt werden. QC-Funktionen umfassen eine Reihe von Testaktivitäten, die zur Erkennung und Lösung technischer Probleme eingesetzt werden. Diese werden gemeinsam mit den Entwicklungsprozessen im Verlauf des SDLC durchgeführt.

Qualitätssicherung (QA) bezeichnet den Metaprozess, der eine kontinuierliche und konsistente Verbesserung und Wartung von Prozessen sicherstellt, die eine QC-Aufgabe ermöglichen.

Ansichten zur Qualitätssicherung

In der Softwareprüfung geht die Qualitätssicherung über Qualitätskontrollfunktionen und Testaktivitäten hinaus, um die Softwarequalität anhand verschiedener Ansichten zu bewerten:

  • Transzendentale Sichtweise. Eine Vorstellung, dass wir Qualität erkennen können – aber sie nicht messen können.
  • Benutzeransicht. Wie der Endnutzer Softwarequalität wahrnimmt und erlebt.
  • Fertigungsansicht. Wenn das Produkt beim ersten Mal richtig entwickelt wird und während des End-to-End-SDLC-Prozesses fehlerfrei ist.
  • Produktansicht. Wie gut die internen und innewohnenden Eigenschaften den definierten Anforderungen entsprechen.
  • Wertorientierte Sichtweise. Wie gut das Produkt die Anforderungen verschiedener Stakeholder und Akteure erfüllt, die mit dem Produkt verbunden sind.

Diese unterschiedlichen Ansichten sind der wesentliche Bestandteil jedes QA-Prozesses. Eine Softwareentwicklung kann allen notwendigen Anforderungen entsprechen und den zugrunde liegenden Qualitätskontrolltest bestehen – aber all das garantiert keine positiven geschäftlichen Auswirkungen oder eine verbesserte Benutzererfahrung.

Wir können QA also wie folgt definieren:

Der QA-Prozess stellt sicher, dass das übergeordnete Ziel und die Vision des Unternehmens erreicht werden, indem Software bereitgestellt wird, die alle Qualitätsanforderungen sowohl aus technischer als auch geschäftlicher Sicht erfüllt.

(Entdecken Sie gängige Qualitätskennzahlen für Software.)

QC vs. QA

Vergleichen wir die tatsächlichen Test- und QC-Aktivitäten mit dem QA-Prozess, um den Umfang und den Mechanismus jeder zu verstehen:

Qualitätskontrolle Qualitätssicherung
Ein Walkthrough, der mehrere Testaktivitäten umfasst Der Prozess der Überprüfung der Softwarequalität basierend auf unterschiedlichen Sichtweisen
Produktorientierte Aktivitäten Prozessorientierte Aktivitäten
QC-Maßnahmen konzentrieren sich ausschließlich auf die Verifikation und Konformität des Produkts mit den Anforderungen QA-Maßnahmen konzentrieren sich auf den Prozess, mit dem das Produkt erstellt wird
Die Maßnahmen umfassen Inspektion, Probenahme und Tests Maßnahmen umfassen Dokumentation, Audit, Management, Schulungen, Change Control sowie Management und Untersuchung
Ein reaktiver und korrigierender Prozess Ein proaktiver und präventiver Prozess
Das Team Das Team und die relevanten Interessengruppen

Für Organisationen, die den modernen SDLC-Methoden wie DevOps folgen, folgt die Qualitätssicherung im Softwaretest dem Konzept der kontinuierlichen Verbesserung, also der iterativen Verbesserung der Prozesse, die Sie zur Bereitstellung hochwertiger Software verwenden.

Die Verbesserung wird daran gemessen, wie Endnutzer und die Geschäftsorganisation Softwarequalität wahrnehmen, was auf Verbesserungsbereiche hinweist. Das Feedback wird dann an den SDLC-Prozess weitergeleitet, wo eine andere oder zusätzliche Reihe von Qualitätskontrollfunktionen eingeführt werden kann, um diese neuen Anforderungen zu erfüllen.

Best Practices zur Qualitätssicherung

Diese branchenerprobten Best Practices können Ihre QA-Fähigkeiten, den zugehörigen SDLC-Prozess und die Gesamtqualität von Softwareprodukten in DevOps-Umgebungen verbessern:

  • Automatisieren Sie Tests. Die Automatisierung von Tests , die repetitiv sind und nur minimale manuelle Eingriffe erfordern, erhöht Ihre Geschwindigkeit, Agilität und Produktivität.
  • Nach links verschieben. Stellen Sie sicher, dass Softwarefehler während des SDLC-Lebenszyklus schnell und früh erkannt werden – also nach links verschieben.
  • Sammeln Sie Feedback. Das Feedback von Endnutzern und Stakeholdern sollte kontinuierliche Verbesserungen Ihrer QA-Strategie vorantreiben.
  • Testen Sie mit Ziel. Stellen Sie sicher, dass Testressourcen sinnvoll genutzt werden und folgen Sie der Code-Deployment-Struktur des Software Development Lifecycle.
  • Sicherheit von Grund auf in die Softwarequalität einbetten. Sicherheitsrelevante Testfälle als Teil der Shift-left-Teststrategie einführen.
  • Automatisiert sorgfältig. Die Automatisierung eines Abfallprozesses führt nur zu weiteren Abfallprozessen.
  • Integrieren Sie menschliche Fähigkeiten. Automatisierung und kontinuierliche Verbesserung funktionieren nicht immer gut zusammen, um die QA-Ziele von DevOps zu erreichen. Beispielsweise sind mobile Benutzeroberflächen- und User-Experience-Tests schwierig zu automatisieren, da sie eine Reihe unkontrollierter Faktoren berücksichtigen müssen, wie die menschliche und Marktwahrnehmung der Nutzererfahrung der mobilen App. Daher kann menschliches Eingreifen als Teil einer effektiven QA-Strategie in DevOps notwendig sein, wodurch die durch Automatisierung inspirierte kontinuierliche Testpraxis kompromittiert wird.
  • Den Kunden an erste Stelle zu setzen. Schließlich muss ein DevOps-QA die Kundensicht auf Softwarequalität bei allen QA-Aktivitäten in den Vordergrund stellen.

Verwandte Literatur

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus ITOps & DevOps

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.