Was ist Softwarequalitätssicherung?

Die Qualität von Software wird anhand ihrer äußeren und inneren Eigenschaften beurteilt. Die äußere Qualität zeigt sich daran, wie gut die Software unter realen Betriebsbedingungen funktioniert und wie nützlich sie für ihre Anwender ist. Die innere Qualität betrifft den zugrunde liegenden Code. Anwender erleben vor allem das sichtbare Verhalten. Damit dieses Verhalten auf Dauer verlässlich bleibt, ist gut verständlicher und sorgfältig geschriebener Code erforderlich.

External and Internal Software QualityTest External Quality(Visible)ReliabilityEfficiencyMaintenanceCostReview Internal Quality (Invisible)ComplexityProgramStructureFlexibilityReadabilityReusabilityTestabilityCodingPractices
Diagramm in voller Größe öffnen

Softwarequalität

Was ist Softwarequalitätssicherung?

Zwei wichtige Ansätze zur Bewertung der Softwarequalität sind die folgenden.

  1. Ansatz über das Fehlermanagement
  2. Ansatz über Qualitätsmerkmale
Alles, was die Anforderungen des Kunden nicht erfüllt, kann als Fehler gelten. Missverstandene Anforderungen können Entwurfsfehler verursachen. Auch fehlerhafte Funktionslogik, falscher Code und unsachgemäße Datenverarbeitung können zu Fehlern führen. Beim Fehlermanagement werden Fehler erfasst, nach Schweregrad eingeteilt und gezählt. Das Team ergreift dann die dem jeweiligen Schweregrad entsprechenden Maßnahmen. Regelkarten können helfen, die Leistungsfähigkeit des Entwicklungsprozesses zu messen.

Defect Management ApproachMetricsDevelopmentProcessQAProcessQA1. RiskAnalysis2. DefectDetection3. AnalysisSoftwareDevelopmentAssign Severityand PrioritySoftwareDevelopmentConductImpactAnalysisfor HighPriorityDefect Management Approach
Diagramm in voller Größe öffnen

Ansatz über das Fehlermanagement


Ein früheres Modell für Softwareproduktqualität, ISO/IEC 9126-1, fasst Qualitätsmerkmale in sechs Kategorien zusammen.

Quality Attribute ApproachFunctionalitySuitabilityAccuracyInteroperabilityComplianceSecurityReliabilityMaturityRecoverabilityUsabilityUnderstandabilityLearnabilityEfficiencyTime Behavior(Time Taken)Resource UtilizationMaintainabilityAnalyzabilityChangeabilityStabilityTestabilityPortabilityAdaptabilityInstallabilityConformanceReplaceability
Diagramm in voller Größe öffnen

Ansatz über Qualitätsmerkmale

1. Funktionalität Gesamtheit der wesentlichen Funktionen, die die Software bietet.

  • Angemessenheit. Sind die Funktionen der Software für ihren Zweck geeignet?
  • Richtigkeit. Sind die Funktionen korrekt umgesetzt?
  • Interoperabilität. Wie arbeitet die Software mit anderen Systemkomponenten zusammen?
  • Konformität. Entspricht die Software den geltenden Gesetzen und Richtlinien?
  • Sicherheit. Kann die Software Datenübertragungen und Transaktionen sicher verarbeiten?
2. Zuverlässigkeit Fähigkeit der Software, unter festgelegten Bedingungen über einen bestimmten Zeitraum zu funktionieren und dabei auch Ausfälle einzelner Komponenten zu verkraften.
  • Reife. Wie häufig fällt die Software aus?
  • Wiederherstellbarkeit. Wie gut lässt sich der vollständige Betrieb nach einem Ausfall wiederherstellen?
3. Benutzbarkeit Wie einfach sich eine Funktion bedienen lässt.
  • Verständlichkeit. Wie leicht können Anwender die Funktionen verstehen?
  • Erlernbarkeit. Wie viel Aufwand brauchen Anwender mit unterschiedlicher Erfahrung, um die Funktionen zu verstehen?
4. Effizienz Hängt in der Regel von der Architektur und den bei der Entwicklung angewandten Programmierpraktiken ab.

5. Wartbarkeit Auch als Unterstützbarkeit bezeichnet. Sie hängt stark von der Lesbarkeit und Komplexität des Codes ab und betrifft die Fähigkeit, Fehler zu erkennen und zu beheben.
  • Analysierbarkeit. Wie leicht lässt sich die Hauptursache eines Ausfalls ermitteln?
  • Änderbarkeit. Welcher Aufwand ist nötig, um den Code zu ändern und einen Fehler zu beheben?
  • Stabilität. Wie stabil bleibt das Verhalten des Systems nach Änderungen?
  • Prüfbarkeit. Wie aufwendig ist es, das System zu testen?
6. Übertragbarkeit Fähigkeit des Systems, sich an Änderungen seiner Umgebung anzupassen.
  • Anpassbarkeit. Wie leicht lässt sich das System an geänderte Spezifikationen anpassen?
  • Installierbarkeit. Wie einfach lässt sich das System installieren?
  • Konformität. Entspricht der Konformität bei der Funktionalität.
  • Austauschbarkeit. Wie leicht lässt sich eine Systemkomponente in einer bestimmten Umgebung ersetzen?

Kosten der Softwarequalität Testen erfordert Zeit, Geld und Aufwand. Eine Analyse der Softwarequalitätskosten zeigt, welchen Nutzen diese Investition bringt (ROI).

Cost of Software QualityCost ofSoftwareQualityPreventionCostsTestabilityAutomation Testing(Unit and Integration)ContinuousIntegrationAppraisal CostsQA Test PlansUATManual TestingInternal FailureCostsOperationalDowntimeExternal FailureCostsFinancial LossesLoss of Business
Diagramm in voller Größe öffnen

Kosten der Softwarequalität

Qualitätskosten umfassen Konformitätskosten und Nichtkonformitätskosten. Zu den Konformitätskosten gehören die folgenden Posten.
  1. Vorbeugungskosten. Kosten für die korrekte Anwendung von Qualitätssicherungspraktiken, etwa Schulungen, Codeprüfungen und andere Aktivitäten der Qualitätssicherung.
  2. Prüfkosten. Kosten für die Planung und Durchführung von Tests, einschließlich der Entwicklung und Ausführung von Testfällen.
Nichtkonformitätskosten entstehen in den folgenden Fällen.
  1. Interne Fehler. Kosten, die entstehen, wenn die ersten internen Tests fehlschlagen. Dazu zählt der Aufwand der Entwickler, um bei Modul- oder Komponententests gefundene Fehler zu beheben.
  2. Externe Fehler. Kosten, die anfallen, wenn Kunden Fehler entdecken, die beim Testen unentdeckt blieben. Diese Kosten sind deutlich höher als interne Fehlerkosten, besonders wenn Kunden unzufrieden sind oder einen Softwareausfall eskalieren.
Kosten von Softwareausfällen Mehrere Faktoren können zu Softwareausfällen beitragen.
  1. Fehlende Anpassungsfähigkeit. Wenn beim Hinzufügen neuer Funktionen immer mehr Code entsteht und der vorhandene Code nie überarbeitet wird, wächst die Software und wird schwerer wartbar. Mit der Zeit lässt sich immer schwieriger erkennen, welche Teile geändert werden müssen.
  2. Die Leistung kann nachlassen, wenn sich die Software, ihre Auslastung oder ihre Daten verändern. Ein Speicherleck kann zum Beispiel dazu führen, dass die Software im laufenden Betrieb immer mehr Speicher beansprucht. Messen Sie das Problem und untersuchen Sie seine Ursache, bevor Sie entscheiden, ob Sie die Software reparieren, aktualisieren oder ersetzen.
  3. Eine Fehlerbehebung kann eine Regression auslösen, besonders wenn andere Komponenten vom geänderten Code abhängen. Prüfen Sie, ob die Korrektur das ursprüngliche Problem löst, und testen Sie das betroffene Verhalten. Entscheiden Sie anhand der Ergebnisse, der Wartungskosten und der Auswirkungen auf das Geschäft, wie Sie vorgehen.
Softwaretest und Qualitätssicherung In der IT werden Softwarequalitätssicherung und Softwaretest häufig verwechselt. Tester werden mitunter als Fachkräfte für Qualitätssicherung bezeichnet, weil beide Tätigkeiten dasselbe Ziel verfolgen, nämlich hochwertige Software.
Die Qualitätssicherung entwickelt die Prozesse, die für die Qualitätsanforderungen des Kunden und die Verfahren des Softwareentwicklungszyklus nötig sind, und setzt sie um. Sie arbeitet vorausschauend und konzentriert sich auf die folgenden Aufgaben.
  1. Fehlervermeidung
  2. Prozesse
  3. Kontinuierliche Verbesserung dieser Prozesse
Beim Softwaretest wird die Software gründlich auf Fehler und Mängel untersucht. Tests decken Abweichungen von den Kundenanforderungen auf, die behoben werden müssen. Das Testen ist der produktbezogene Teil der Qualitätskontrolle. Es identifiziert Fehler. Die Fehlerbehebung gehört zum Debugging.

Qualitätssicherung und Qualitätskontrolle Qualitätssicherung und Qualitätskontrolle sind eng verwandt und erfüllen unterschiedliche Aufgaben. Die Qualitätssicherung beugt Problemen durch geeignete Prozesse vor. Die Qualitätskontrolle umfasst Maßnahmen, um Qualitätsprobleme am Produkt zu erkennen und zu beheben.
Tests gehören zur Qualitätskontrolle. Qualitätssicherung und Qualitätskontrolle tragen zum Qualitätsmanagement bei. Die Qualitätssicherung richtet Prozesse ein und verbessert sie, damit Teams die Kundenanforderungen erfüllen können.

Quality Management, Assurance and ControlQuality ManagementQuality AssuranceQuality Control
Diagramm in voller Größe öffnen

Qualitätssicherung und Qualitätskontrolle

Die Qualitätskontrolle prüft und steuert Produkteigenschaften und kontrolliert, ob die Entwicklung die festgelegten Anforderungen erfüllt. Die wichtigsten Tätigkeiten sind die Prüfung und das Testen des Produkts.

Ein Team für Qualitätskontrolle erkennt Produkte oder Dienstleistungen, die den Qualitätsstandards des Unternehmens nicht genügen. Stellt es ein Problem fest, kann es die Produktion anhalten, bis das Problem behoben ist.

Bedeutung von Audits und Inspektionen

Ein Audit untersucht systematisch, wie ein Unternehmen Softwaretests durchführt. Die Auditoren prüfen die dokumentierten Prozesse und stellen fest, ob das Unternehmen oder Team die festgelegten Standards einhält.

Eine Inspektion ist eine formale Prüfung eines Arbeitsergebnisses wie Anforderungen, Entwurf oder Code. Prüfer, die nicht selbst die Autoren sind, suchen nach Fehlern und Abweichungen von vereinbarten Standards. Eine typische Inspektion umfasst die folgenden Aktivitäten.

  1. Planung
  2. Überblick und individuelle Vorbereitung
  3. Inspektionsbesprechung
  4. Nacharbeit
  5. Nachkontrolle




Wir garantieren Ihnen, dass Sie mit Ihrer kostenlosen Onlineschulung die Prüfung zum Zertifikat im Softwaretest bestehen!

  1. 01

    Online anmelden

    Wählen Sie Ihre akkreditierte Zertifizierung und schließen Sie die Anmeldung ab.

  2. 02

    Zugangscode erhalten

    Ihr persönlicher Prüfungszugangscode wird Ihnen sofort per E-Mail zugesandt.

  3. 03

    Vorbereiten und Prüfung ablegen

    Nutzen Sie die kostenlose Schulung und beantworten Sie online 50 Multiple-Choice-Fragen.

  4. 04

    Lebenslange Zertifizierung erwerben

    Sie erhalten Ihr weltweit gültiges Zertifikat und ein digitales Abzeichen, dessen Echtheit sich überprüfen lässt.

Muster für Accredited Software Test Manager Certification™
Zur Zertifizierung anmelden

IHRE KOSTENLOSE PREMIUMSCHULUNG ONLINE

Die zweite Auflage von Software Testing Revealed steht für Sie bereit.

Wir haben Ihre Schulung gemeinsam mit einer Gruppe namhafter Unternehmensführungskräfte, Teamleitungen, Coaches, Mentoren, Fachleute und anerkannter Experten für Softwaretests aus allen wichtigen Branchen entwickelt. Alle Besucher von International Software Test Institute™ können darauf zugreifen. Sie finden die Unterlagen unter Ihr kostenloses Softwaretest-Buch und Ihre kostenlose Premium-Schulung zu Softwaretests im Hauptmenü.

Die Schulungsunterlagen sind urheberrechtlich geschütztes geistiges Eigentum von International Software Test Institute™. Wir stellen sie allen kostenlos zur Verfügung, weil unser Fachwissen Testprofis unterstützt und die Branche weiterbringt.

Ihre Zertifizierungsprüfung besteht aus Auswahlfragen. Nutzen Sie Ihre Onlineschulung, um sich das Wissen anzueignen, das Sie für die Prüfung und Ihre Softwaretestzertifizierung brauchen.

Wir garantieren Ihnen, dass Sie die Prüfung für Ihre Softwaretestzertifizierung mit Ihrer kostenlosen Premium-Onlineschulung bestehen!