SQA-Komponenten
Software Quality Assurance(SQA) ist eine Reihe von Aktivitäten zur Qualitätssicherung in Softwareentwicklungsprozessen. Es stellt sicher, dass entwickelte Software die definierten oder standardisierten Qualitätsspezifikationen erfüllt und erfüllt. SQA ist ein fortlaufender Prozess innerhalb des Software Development Life Cycle (SDLC), der die entwickelte Software routinemäßig überprüft, um sicherzustellen, dass sie die gewünschten Qualitätsmaßnahmen erfüllt.
SQA-Praktiken werden in den meisten Arten der Softwareentwicklung implementiert, unabhängig vom zugrunde liegenden Softwareentwicklungsmodell. SQA enthält und implementiert Softwaretestmethoden zum Testen der Software. Anstatt nach Abschluss die Qualität zu überprüfen, testet SQA die Qualität in jeder Entwicklungsphase, bis die Software vollständig ist. Mit SQA geht der Softwareentwicklungsprozess erst dann in die nächste Phase über, wenn die aktuelle / vorherige Phase den erforderlichen Qualitätsstandards entspricht. SQA arbeitet im Allgemeinen an einem oder mehreren Industriestandards, die beim Erstellen von Softwarequalitätsrichtlinien und Implementierungsstrategien helfen.
Es umfasst die folgenden Aktivitäten:
- Prozessdefinition und Implementierung
- Auditing
- Training
Prozesse könnten sein -
- Softwareentwicklungsmethode
- Projektmanagement
- Konfigurationsmanagement
- Anforderungsentwicklung / -management
- Estimation
- Software-Design
- Testen usw.
Sobald die Prozesse definiert und implementiert wurden, hat die Qualitätssicherung die folgenden Verantwortlichkeiten:
- Identifizieren Sie die Schwachstellen in den Prozessen
- Korrigieren Sie diese Schwachstellen, um den Prozess kontinuierlich zu verbessern
Komponenten des SQA-Systems
Ein SQA-System kombiniert immer eine Vielzahl von SQA-Komponenten. Diese Komponenten können in die folgenden sechs Klassen eingeteilt werden:
Komponenten vor dem Projekt
Dies stellt sicher, dass die Projektverpflichtungen unter Berücksichtigung der erforderlichen Ressourcen, des Zeitplans und des Budgets klar definiert wurden. und die Entwicklungs- und Qualitätspläne wurden korrekt festgelegt.
Komponenten der Bewertung von Projektlebenszyklusaktivitäten
Der Projektlebenszyklus besteht aus zwei Phasen: der Entwicklungslebenszyklusphase und der Betriebs- und Wartungsphase.
Die Komponenten der Entwicklungslebenszyklusphase erkennen Entwurfs- und Programmierfehler. Die Komponenten sind in folgende Unterklassen unterteilt: Reviews, Expertenmeinungen und Softwaretests.
Zu den SQA-Komponenten, die während der Betriebs- und Wartungsphase verwendet werden, gehören spezielle Wartungskomponenten sowie Komponenten für den Entwicklungslebenszyklus, die hauptsächlich für Funktionen zur Verbesserung der Wartungsaufgaben verwendet werden.
Komponenten zur Verhinderung und Verbesserung von Infrastrukturfehlern
Das Hauptziel dieser Komponenten, die im gesamten Unternehmen angewendet werden, besteht darin, die Fehlerrate auf der Grundlage der gesammelten SQA-Erfahrung des Unternehmens zu beseitigen oder zumindest zu verringern.
Komponenten des Software-Qualitätsmanagements
Diese Klasse von Komponenten befasst sich mit verschiedenen Zielen, wie der Kontrolle von Entwicklungs- und Wartungsaktivitäten und der Einführung frühzeitiger Maßnahmen zur Unterstützung des Managements, die hauptsächlich Zeitplan- und Budgetfehler und deren Ergebnisse verhindern oder minimieren.
Komponenten der Standardisierung, Zertifizierung und SQA-Systembewertung
Diese Komponenten implementieren internationale Fach- und Managementstandards innerhalb der Organisation. Die Hauptziele dieser Klasse sind die Nutzung des internationalen Fachwissens, die Verbesserung der Koordination der organisatorischen Qualitätssysteme mit anderen Organisationen und die Bewertung der Leistungen von Qualitätssystemen nach einer gemeinsamen Skala. Die verschiedenen Standards können in zwei Hauptgruppen eingeteilt werden: Qualitätsmanagementstandards und Projektprozessstandards.
Organisation für SQA - die menschlichen Komponenten
Die Organisationsbasis der SQA umfasst Manager, Testpersonal, die SQA-Einheit und Personen, die an Softwarequalität interessiert sind, wie SQA-Treuhänder, Mitglieder des SQA-Komitees und Mitglieder des SQA-Forums. Ihre Hauptziele sind die Initiierung und Unterstützung der Implementierung von SQA-Komponenten, das Erkennen von Abweichungen von den SQA-Verfahren und -Methoden sowie das Vorschlagen von Verbesserungen.
Softwarequalitätskomponenten vor dem Projekt
Diese Komponenten tragen dazu bei, die vor dem Start eines Projekts unternommenen vorbereitenden Schritte zu verbessern. Es beinhaltet -
- Vertragsprüfung
- Entwicklungs- und Qualitätspläne
Vertragsprüfung
Normalerweise wird eine Software für einen mit einem Kunden ausgehandelten Vertrag oder für einen internen Auftrag zur Entwicklung einer Firmware entwickelt, die in ein Hardwareprodukt eingebettet werden soll. In all diesen Fällen verpflichtet sich die Entwicklungseinheit zu einer vereinbarten Funktionsspezifikation, einem Budget und einem Zeitplan. Daher müssen die Aktivitäten zur Vertragsüberprüfung eine detaillierte Prüfung des Entwurfs des Projektvorschlags und der Vertragsentwürfe umfassen.
Zu den Aktivitäten zur Vertragsüberprüfung gehören insbesondere:
Klärung der Kundenanforderungen
Überprüfung des Zeitplans und des Ressourcenbedarfs des Projekts
Bewertung der Fähigkeit des Fachpersonals, das vorgeschlagene Projekt durchzuführen
Bewertung der Fähigkeit des Kunden, seinen Verpflichtungen nachzukommen
Bewertung von Entwicklungsrisiken
Entwicklungs- und Qualitätspläne
Nach Unterzeichnung des Softwareentwicklungsvertrags mit einer Organisation oder einer internen Abteilung derselben Organisation wird ein Entwicklungsplan des Projekts und seiner integrierten Qualitätssicherungsaktivitäten erstellt. Diese Pläne enthalten zusätzliche Details und erforderliche Überarbeitungen auf der Grundlage früherer Pläne, die die Grundlage für den aktuellen Vorschlag und Vertrag bildeten.
Meistens dauert es mehrere Monate zwischen der Einreichung des Angebots und der Unterzeichnung des Vertrags. Während dieses Zeitraums können sich Ressourcen wie die Verfügbarkeit des Personals und die beruflichen Fähigkeiten ändern. Die Pläne werden dann überarbeitet, um den in der Zwischenzeit eingetretenen Änderungen Rechnung zu tragen.
Die im Projektentwicklungsplan behandelten Hauptthemen sind:
- Schedules
- Erforderliche Personal- und Hardwareressourcen
- Risikobewertungen
- Organisatorische Probleme: Teammitglieder, Subunternehmer und Partnerschaften
- Projektmethodik, Entwicklungswerkzeuge usw.
- Pläne zur Wiederverwendung von Software
Die Hauptprobleme, die im Qualitätsplan des Projekts behandelt werden, sind:
Qualitätsziele, ausgedrückt in den entsprechenden messbaren Begriffen
Kriterien für den Start und das Ende jeder Projektphase
Listen mit Überprüfungen, Tests und anderen geplanten Überprüfungs- und Validierungsaktivitäten