Werbung

11 Wissenswertes zur Software-Qualitätssicherung SQA

Möchten Sie wissen, worum es bei der Qualitätssicherung in der Softwareentwicklung geht? Dann finden Sie hier die Informationen.

Qualitätssicherung ist ebenso wichtig für Softwareentwicklung wie bei jedem anderen Produkt oder jeder anderen Dienstleistung. Obwohl dies der Fluch vieler Softwareentwickler sein kann, existiert es aus gutem Grund.

Hier ist warum.

Was ist Qualitätssicherung in der Softwareentwicklung?

SQA, kurz für Software Quality Assurance, ist der Prozess der kritischen Analyse und Aufrechterhaltung festgelegter Anforderungen für die Entwicklung zuverlässiger Produkte wie Software. Ein gut konzipiertes SQA-System umfasst alle Softwareentwicklungsprozesse, angefangen von der Definition der Anforderungen bis hin zur Codierung und zum Testen.und alle anderen Prozesse dazwischen vor der Veröffentlichung.

Es muss wiederholt werden, dass das Hauptziel eines SQA darin besteht, vor allem Qualität zu gewährleisten.

Dies kann sein, um extern Standards von einem Körper wie dem zu setzen Internationale Organisation für Normung ISO, kann aber auch für interne und branchenübliche Standards gelten.

Der Prozess ist unglaublich wichtig zur Wahrung der Glaubwürdigkeit eines Unternehmens in einem ausgewählten Bereich sowie zur Stärkung des Kundenvertrauens in seine Produkte. Dies trägt auch zur Verbesserung der Workflow-Effizienz bei und bietet häufig einen echten Wettbewerbsvorteil gegenüber weniger QS-orientierten Wettbewerbern.

Bei vielen ISO-Standards kann ein Unternehmen die Akkreditierung durch eine externe Wirtschaftsprüfungsgesellschaft beantragen. Dadurch erhält eine Organisation eine offizielle Akkreditierung durch einen externen Prüfer, mit der sie nachweisen können, dass sie diese Standards einhalten.

VERBINDUNG: 15 LUSTIGE SOFTWARE-GLITCHES, DIE SIE GIGGELN WERDEN

Ein häufiges Beispiel hierfür ist die ISO / IEC 9000-Reihe, die viele Unternehmen anstreben, um dafür zu werben, dass ihre QS-Verfahren "zweckmäßig" sind. Unternehmen werden versuchen, eine Akkreditierung in den relevanten Normen innerhalb der für ihre am besten geeigneten Reihe zu erhaltenAktivitäten und Produkte.

Werbung

Qualitätssicherung der Softwareentwicklung kann als formalisierter Prozess seine Wurzeln auf das zurückführen verarbeitende Industrie. Es wurde inzwischen von vielen anderen Branchen auf der ganzen Welt übernommen.

Jeder QS-Prozess wie bei der Softwareentwicklung soll sicherstellen, dass das Endprodukt den Anforderungen und Erwartungen des Kunden entspricht. Fachleute in diesem Sektor arbeiten während des gesamten Lebenszyklus der Entwicklung sowohl an den Entwicklungs- als auch an den Implementierungsteilen des Prozessesbestimmter Software.

Es handelt sich naturgemäß um einen proaktiven Prozess, bei dem die Prozessentwicklung, die Fehlererkennung / -behebung / -prävention und die kontinuierliche Verbesserung im Vordergrund stehen.

Vergleich der Unterschiede zwischen Qualitätssicherung und Qualitätskontrolle Quelle : SAM-Lösungen

QS in der Softwareentwicklung sollte nicht mit Softwaretests verwechselt werden. Obwohl dies ebenfalls von entscheidender Bedeutung ist und normalerweise einen großen Teil des QS-Prozesses ausmacht, konzentriert es sich normalerweise darauf, einfach Fehler und Irrtümer in der Software zu identifizieren.

Werbung

Software-Tester wenden in der Regel strenge Testverfahren an, um Abweichungen von den festgelegten Anforderungen oder Mängel "Bugs" zu beseitigen, die vor der Veröffentlichung des Produkts behoben werden müssen.

Softwaretests sind praktisch nur ein Zahnrad der Software-Qualitätssicherung, nicht der gesamte Prozess. Beispielsweise werden beim Testen normalerweise nur Probleme erkannt, nicht behoben oder behoben - im Gegensatz zu Software-QS-Spezialisten.

Sie können es mit dem Unterschied zwischen Qualitätssicherung und vergleichen Qualitätskontrolle . Letzteres ist eher ein produktorientiertes und reaktives Korrekturinstrument. Ersteres soll proaktiv und prozessorientiert sein und die Parameter der Qualitätskontrolle definieren. Mit anderen Worten, QS ist das allgemeine,und QC die Truppen.

Werbung

Fachleute für Software-Qualitätssicherung verwalten, verfolgen und bewerten den gesamten Prozess von der Wiege bis zur Bahre über einen festgelegten, standardisierten Prozess. Theoretisch hilft dies dabei, Schluckauf im Entwurfsprozess zu identifizieren, um Verbesserungsmaßnahmen zu ermöglichen, die den Prozess beeinflussen könnenin Zukunft schlanker.

Durch eine strenge und ehrliche Bewertung aller Teile des Software-Design-Prozesses kann das Entwicklungsunternehmen seinen Kunden versichern, dass alle angemessenen Maßnahmen ergriffen wurden, um sicherzustellen, dass ihre Produkte von höchster Qualität sind.

Warum ist eine QS für die Softwareentwicklung erforderlich?

Wie bereits erwähnt SQA ist eine wichtige Komponente bei der Entwicklung vieler Produkte, einschließlich Software. Der QS-Prozess bei der Softwareentwicklung hilft Unternehmen dabei, Produkte und Dienstleistungen zu entwickeln, die zumindest den Erwartungen und Anforderungen ihrer Kunden entsprechen.

Werbung

Durch die formelle Erstellung von Methoden und Verfahren, die internationalen oder branchenüblichen Standards entsprechen, sollten Qualitätssicherungsprozesse in der Lage sein, Fehler zu erkennen und zu beheben, bevor sie zu einem ernsthaften Problem werden.

" Abhängig von der Größe des Unternehmens kann die Qualitätssicherung verschiedene Unteraufgaben umfassen. Im Kern schafft der Qualitätssicherungsprozess eine bestimmte Qualität. Da sich die Softwareanforderungen ständig ändern und die Teams neue Ziele hinzufügen, muss das Qualitätssicherungsteam sicherstellendass die neu hinzugefügten Ziele oder Anforderungen die Softwarequalität nicht negativ beeinflussen. "- Mittel .

Aus diesem Grund benötigen die Mitglieder des QS-Teams andere Fähigkeiten als die der Softwareentwickler. Die Qualitätssicherung erfordert in der Regel disziplinierte, sich wiederholende Menschen, die nicht akzeptieren, dass das Nichtfinden von Fehlern bedeutet, dass ein Produkt fehlerfrei ist.

Werbung

Qualitätssicherung Die Mitarbeiter müssen außerdem über ausreichend Selbstvertrauen, Selbstsicherheit und die Fähigkeit verfügen, jederzeit kreativ zu denken. Die besten QS-Experten werden sich mit den Nuancen der gesamten Anwendung in der Entwicklung vertraut machen und sollten bei ihren Tätigkeiten sehr effizient seinGut konzipierte QS-Systeme sollten den Prozess jedoch so reibungslos wie möglich gestalten.

Quelle : Tunarus / Pixabay

QS-Experten für Softwareentwicklung sind von Natur aus ebenfalls umstritten, was Entwickler häufig irritieren kann. Auf der anderen Seite bleiben sie jedoch gerade und eng, ohne dass sie mikromanagiert werden müssen.

Es gibt einen wachsenden Glauben an die Branche, dass Entwickler sind wahrscheinlich am besten in der Lage, auch die Qualitätssicherung für die Software zu gewährleisten. Sie haben sich entwickelt. Dies kann jedoch eine falsche Wirtschaft sein. Wie bei jeder kreativen Rolle in jeder Branche kann es manchmal schwierig sein, etwas, das Sie selbst geschaffen haben, kritisch zu bewerten.

Werbung

Softwareentwickler sind, um es anders auszudrücken, oft zu sehr auf die feineren Details fokussiert, um die Auswirkungen auf das Gesamtbild - das endgültige Softwareprodukt - zu sehen.

Der Prozess der Qualitätssicherung der Softwareentwicklung, einschließlich Tests, kann entweder von einer engagierten Person oder von einem kleinen Team durchgeführt und entweder intern oder an unabhängige Stellen ausgelagert werden. Um optimale Ergebnisse zu erzielen, sollten QS-Teams eng zusammenarbeitenmit Entwicklern, da dies tendenziell zu einer produktiveren Arbeitsumgebung für alle Beteiligten führt.

Dies ermöglicht auch persönliche Gespräche, die einige interessante Lösungen für die unzähligen Probleme liefern können, auf die etwas so Komplexes wie die Softwareentwicklung unweigerlich stößt. Es bietet auch ein dringend benötigtes Gleichgewicht zwischen der Rolle des Entwicklers, wie es die QS-Teams suchenzum Nutzen des Produkts für Dritte, deren Kunden.

Während einige Unternehmen begonnen haben, den Bedarf an engagierten QS-Mitarbeitern neu zu bewerten, stellen viele andere fest, dass eine geringere Berücksichtigung der Qualität tendenziell zu einer Zunahme von Kundenbeschwerden und Umsatzverlusten führt.

Welche SQA-Standards gibt es?

Es gibt weltweit verschiedene internationale Qualitätssicherungsstandards, einige der beliebtesten sind jedoch die folgenden.

  • ISO / IEC 9000-Serie - Einer der anerkanntesten und angesehensten Qualitätssicherungsstandards, der auf 7 grundlegenden Managementprinzipien basiert. Dies sind: Kundenorientierung, Führung, Mitarbeiterengagement, Prozessansatz, Verbesserung, evidenzbasierte Entscheidungsfindung und BeziehungsmanagementEinige der relevantesten Serien sind ISO / IEC 9126 und ISO / IEC 9241-11.
  • ISO / IEC 25000 - Allgemein bekannt als Standard, der Richtlinien für Softwarequalitätsanforderungen und -bewertung SQuaRE, diese Norm hilft Unternehmen, die Prozesse in Bezug auf Softwarequalitätsanforderungen und deren Bewertungen zu verbessern. Diese Norm hat seitdem ISO 9126 und ISO 14598 ersetzt.
  • ISO / IEC 12119 - Dieser Standard befasst sich mit Softwarepaketen, die an den Kunden geliefert werden. Er konzentriert sich nicht auf den Produktionsprozess des Kunden.
Quelle : wistechcolleges / Flickr
  • CMMI-Stufen 1-5 - Dieser Standard steht für Capability Maturity Model Integration und ist einer der vielen Softwareentwicklungsprozesse, die Standards gewidmet sind. Es kann verwendet werden, um die Prozessverbesserung während eines Projekts, in einer bestimmten Abteilung oder in einer gesamten Organisation zu steuern. Jede Ebene von 1 bis 5 Stufe 5 am höchsten wird basierend auf der Integrität und Wirksamkeit der Prozesse einer Organisation vergeben.
  • IEEE-Standards - IEEE hat verschiedene Standards, die sich auf Softwareentwicklung und -tests beziehen. Dazu gehören: IEEE 829, IEEE 1061, IEEE 1059, IEEE 1008, IEEE 1012, IEEE 1028, IEEE 1044, IEEE 1044-1, IEEE 830, IEEE 730, IEEE 1061 und IEEE 12207
  • BS EN-Normen - BS EN oder British Standard haben auch verschiedene Standards, die für die Softwareentwicklung relevant sind. Einige der relevantesten sind BS 7925-1 und 7925-2.

Was beinhaltet der SQA-Prozess?

Jeder SQA-Prozess besteht in der Regel aus zehn wesentlichen Elementen. Dies sind im Großen und Ganzen :

  • Software-Engineering-Standards
  • Technische Überprüfungen und Audits
  • Softwaretests zur Qualitätskontrolle
  • Fehlersammlung und -analyse
  • Änderungsmanagement
  • Bildungsprogramme
  • Lieferantenverwaltung
  • Sicherheitsmanagement
  • Sicherheit
  • Risikomanagement

Wie jedes Qualitätssicherungssystem umfasst der SQA-Prozess im Allgemeinen auch die folgenden allgemeinen Aktivitäten. Diese Liste ist alles andere als vollständig und soll nur auf einige der kritischeren Elemente hinweisen.

Quelle : Michael Kappel / Flickr

1. Ein übergreifender Managementplan muss erstellt werden

Einer der wichtigsten Schritte in jedem Qualitätssicherungssystem ist die Formulierung von a Managementplan .

Dies schließt Verweise auf relevante internationale Standards sowie gegebenenfalls auf bestimmte Industriestandards ein.

Der Plan ordnet dann die Verfahren, Richtlinien und anderen Prozesse des Unternehmens diesen Standards zu, um zumindest deren Einhaltung sicherzustellen. Er kann auch Aktivitäten umfassen, die die erwarteten Mindeststandards überschreiten.

Ein SQA-Managementplan sollte auch den allgemeinen Ansatz beschreiben, den die Organisation während des gesamten Entwicklungsprozesses verfolgen wird, z. B. welche bestimmten Engineering-Aktivitäten ausgeführt werden.

Es wird auch sichergestellt, dass das Entwicklungsteam über eine ausreichende Anzahl von entsprechend erfahrenen, qualifizierten und gegebenenfalls zertifizierten Mitarbeitern verfügt, um das Projekt abzuschließen. Es sollte auch enthalten, welche Maßnahmen gegebenenfalls ergriffen werden, wenn Teile der Entwicklung vorhanden sindProzesse werden an Drittunternehmen oder Auftragnehmer ausgelagert.

2. Der SQA-Prozess umfasst eine Reihe von Kontrollpunkten und Audits.

Jedes gut entwickelte SQA-System legt auch eine Reihe von Kontrollpunkten entlang des Lebenszyklus des Entwicklungsprogramms fest. Diese dienen als regelmäßige Bewertungen des Projektfortschritts mit Überprüfungen anhand von Standards und des Entwicklungsumfangs der Arbeiten, um dies sicherzustellenProjekt kommt nicht aus der Bahn.

"Checkpoint Charlie", Berlin, Quelle : edwin.11 / Flickr

Solche Überprüfungen stellen auch die Qualität des Produkts zu diesem bestimmten Zeitpunkt sicher und bewerten häufig aber nicht immer die Kompetenz und Leistung des technischen Personals. Solche Überprüfungen sollten an strategischen Punkten im Entwicklungsprozess durchgeführt werdensowie regelmäßige, unangekündigte "Stichproben" durchführen, um sicherzustellen, dass das Mandat des Qualitätssicherungssystems eingehalten wird.

3. Eine gute SQA wendet Software-Engineering-Techniken an.

Jede SQA, die es wert ist, gesalzen zu werden, wird einige Hilfsmittel anwenden. Software-Engineering-Techniken auch. Diese helfen Softwareentwicklern, die höchstmögliche Qualität zu erzielen und die oft engen Zeitpläne einzuhalten.

Beispiele sind: Interviews, Funktionsanalysesystemtechniken FAST, Projektstrukturpläne PSP, Quellcodezeile SLOC und Funktionspunktschätzung.

4. SQA-Systeme stützen sich stark auf formale technische Überprüfungen

Formale technische Überprüfungen FTR sind ein weiterer unglaublich wichtiger Bestandteil von SQA-Systemen. Diese bewerten, wie der Name schon sagt, die Qualität und das Design jeder Prototypsoftware.

Diese Überprüfungen werden normalerweise zu Beginn des Projekts durchgeführt und helfen dabei, Fehler so schnell wie möglich zu erkennen, sodass später keine Nacharbeiten mehr erforderlich sind.

Quelle : wynpnt / Pixabay

5. Multitests sind ein wichtiger Teil des Prozesses

A gut SQA-Verfahren basiert nicht nur auf einem Testansatz. Es sollten mehrere Testtypen verwendet werden, um sicherzustellen, dass jedes Softwareprodukt aus mehreren Blickwinkeln getestet wird, um seine Qualität weiter zu gewährleisten.

6. Die Durchsetzung der Prozesseinhaltung ist wichtig.

Die Einhaltung von Prozessen ist in der Regel eine Mischung aus zwei Unteraktivitäten, Produktbewertung und Prozessüberwachung. Ersteres bestätigt, dass das Softwareprodukt tatsächlich die Anforderungen erfüllt, für die es entwickelt wird, und stellt sicher, dass es alle vorgegebenen Standards erfüllt.

Letzterer prüft, ob während des gesamten Softwareentwicklungsprozesses die richtigen Schritte unternommen wurden. Dies wird normalerweise erreicht, indem die tatsächlich unternommenen Schritte mit den dokumentierten Schritten im SQA-Managementplan verglichen werden.

7. SQA-Systeme müssen flexibel sein

Jeder gute SQA-Plan muss flexibel genug sein, um sich an Änderungen anzupassen. Er sollte Verfahren integrieren, die erforderlich sind, um die Änderungen zu bewältigen, die während eines Softwareentwicklungsprozesses auftreten müssen.

Änderungen müssen über ein formalisiertes System behandelt werden, das jedes einzelne protokolliert und validiert. Der Validierungsprozess prüft, ob vorgenommene Änderungen den festgelegten Standards entsprechen und realisierbar sind.

Alle vorgenommenen Änderungen, unabhängig davon, ob Fehler behoben wurden oder nicht, müssen ebenfalls bewertet und ihre Auswirkungen, falls vorhanden, gemessen werden. Durch diese Überprüfungen wird sichergestellt, dass alle zur Behebung von Fehlern vorgenommenen Änderungen wirksam sind und dass sie mit dem Fehler kompatibel sindProjekt als Ganzes.

Dies wird normalerweise mithilfe verschiedener Softwarequalitätsmetriken erreicht, mit denen Manager und Entwickler Aktivitäten beobachten und Änderungen von Anfang bis Ende verfolgen können. Bei Bedarf werden auch Korrekturmaßnahmen durchgeführt.

Quelle : Katie Dalton / Flickr

9. Das große "A" - Audits

Der Fluch vieler technischer Mitarbeiter Audits sind von grundlegender Bedeutung zu einer gut geölten SQA. Diese überprüfen die allgemeine "Fitness" des Managementsystems und "Drilldown" in den Fortschritt der Softwareentwicklungsprozess sowie Einhaltung von Standards.

Durch Audits wird auch überprüft, ob die Statusberichte aller Teammitglieder den tatsächlichen Status des Projekts korrekt wiedergeben und etwaige Verstöße aufdecken.

10. Aufzeichnungen, Aufzeichnungen, Aufzeichnungen

Jeder, der jemals das "Vergnügen" hatte, ein Qualitätssystem jeglicher Art zu verwalten, versteht die Bedeutung einer guten Aufzeichnung und Berichterstellung . Der SQA-Prozess ist nicht anders, und alle erforderlichen Dokumente sollten auf dem neuesten Stand gehalten und unter allen relevanten Aktionären verbreitet werden.

Dinge wie Testergebnisse, Prüfungsergebnisse, Überprüfungsberichte, Dokumentation von Änderungsanforderungen usw. sollten zur späteren Bezugnahme aufbewahrt werden.

11. Ein großartiges SQA-System wird auch dazu beitragen, gute Beziehungen zwischen allen Parteien aufzubauen.

Und schließlich ist es ein sehr wichtiger Teil einer SQA, gute Beziehungen aufrechtzuerhalten. Der gesamte Prozess wird reibungsloser verlaufen, wenn die Harmonie zwischen der Qualitätssicherung und den Entwicklungsteams aufrechterhalten wird.

Dies "schmiert nicht nur die Räder" und ermöglicht es Qualitätssicherungsaktivitäten, Hindernisse zu überwinden, sondern trägt auch dazu bei, ein Gefühl der Kameradschaft zwischen verschiedenen Abteilungen aufzubauen. Niemand lässt seine Arbeit gerne von jemand anderem überprüfen, daher ist es am besten, sie beizubehaltender Prozess freundlich und konstruktiv.

Quelle : Sriram Jagannathan / Flickr

Und das ist ein Wrap. Wir hoffen, dass Sie inzwischen eine Wertschätzung dafür erhalten haben, warum SQA existiert und warum Sie es ernst nehmen sollten.

Ja, es kann schmerzhaft sein, aber letztendlich stellt die Qualitätssicherung sicher, dass das Endprodukt das Beste ist, das es sein kann, und dass Ihre Kunden es tatsächlich kaufen.

Die Aufrechterhaltung einer hohen Qualität und der Aufbau von Vertrauen in Ihren Kundenstamm sind, wie sie sagen, Gold wert.

Folgen Sie uns auf

Bleiben Sie über die neuesten technischen Neuigkeiten auf dem Laufenden

Geben Sie einfach Ihre E-Mail-Adresse ein und wir kümmern uns um den Rest :

Mit Ihrer Anmeldung stimmen Sie unserer zu Nutzungsbedingungen und Datenschutzerklärung . Sie können sich jederzeit abmelden.