Definition „Software Quality“

Was ist Softwarequalität?

| Autor / Redakteur: Ilan_r_r / Stephan Augsten

Um die Softwarequalität vernünftig bewerten zu können, müssen verschiedene Kriterien und Merkmale herangezogen werden.
Um die Softwarequalität vernünftig bewerten zu können, müssen verschiedene Kriterien und Merkmale herangezogen werden. (Bild: mcmurryjulie - Pixabay.com / CC0)

Der Begriff der Softwarequalität spielt sowohl für die Entwicklung als auch für die Akzeptanz einer Software eine wichtige Rolle. Zur Bewertung der Softwarequalität werden verschiedene Merkmale bewertet und herangezogen.

Zunächst einmal gilt es, sich dem Begriff der Softwarequalität zu nähern. Denn das Word Qualität stammt ursprünglich aus dem Lateinischen und kann dort unter anderem mit „Art und Beschaffenheit“, „Eigenschaft“, „Fähigkeit“ und „Güte“ übersetzt werden. In der heutigen Zeit ist der Begriff der Qualität allerdings in der Regel positiv besetzt.

Letztlich kann Qualität also durchaus mit dem Begriff der Güte eines Objekts oder Produkts definiert werden. Der Begriff der Softwarequalität bedeutet also die Güte einer Software. Um diese zu ermitteln, müssen allerdings Kennzahlen, Bereiche und Merkmale definiert werden, die eine Bewertung erlauben.

Definition laut ISO-Norm

Die Definition der Softwarequalität kann anhand verschiedener Merkmale erfolgen. Die wohl gängigste und in den meisten Bereichen geläufigste Definition findet sich in der Norm ISO/IEC 9126.

In dieser Norm werden nicht nur die verschiedenen Merkmale der Softwarequalität definiert, sondern es findet sich auch eine gute Definition der Qualität an und für sich. So versteht man unter dem Begriff der Softwarequalität die gesamten Merkmale und Eigenschaften eines Softwareprodukts, die sich auf dessen Eignung beziehen müssen, um spezifische und im Vorfeld definierte Erfordernisse zu erfüllen.

Wichtige Merkmale der Softwarequalität im Überblick

Entsprechend der oben genannten Definitionen spielen verschiedene Merkmale eine Rolle, wenn die Softwarequalität bewertet werden soll. Betrachten wir die verschiedenen Merkmale einmal genauer:

Funktionalität

Der Funktionsumfang der Software ist ein wichtiger Punkt der Softwarequalität. Eine hochwertige Software muss in der Lage sein, die im Vorfeld definierten Leistungen zu erbringen und die gewünschten Funktionen zu erfüllen.

Zuverlässigkeit

Auch die Zuverlässigkeit ist ein wichtiges Kriterium der Softwarequalität. Eine Software muss ein vorher definiertes Leistungsniveau über einen vorher definierten Zeitraum unter bestimmten Bedingungen halten können, um als zuverlässig zu gelten. Zudem müssen die bestehenden Funktionen der Software immer identisch funktionieren und ein immer gleiches Ergebnis liefern. Zur Bewertung der Zuverlässigkeit werden in vielen Unternehmen sogenannte Unit-Tests genutzt, welche genau diese Szenarien durchspielen und somit die Softwarequalität sicherstellen.

Effizienz

Der Begriff der Effizienz ist eine Frage der Performance. Das bedeutet, dass eine hohe Softwarequalität die Lauffähigkeit und Arbeitsleistung der Software unter bestimmten, vorher definierten Anwendungsumgebungen und Hardwarestrukturen bewertet. Je effizienter die Software arbeitet, umso größer die Bandbreite an möglicher Hardwareunterstützung. Somit steigt durch eine gute Effizienz auch die Bandbreite der möglichen Nutzer.

Benutzbarkeit

Der Begriff der Benutzbarkeit kann durchaus auch mit dem Begriff der Usability beschrieben werden. Die Frage nach der Benutzerfreundlichkeit der Software umfasst sowohl den Aufwand, welcher zum Erlernen einer Software notwendig ist, als auch die Leistung der Software in den verschiedensten Nutzungsszenarien. Die Benutzbarkeit wird unter anderem durch Software-Tester, aber auch durch die Reaktionen und das Feedback der Kunden ermittelt. Eine Software mit einer guten Benutzbarkeit lässt sich beispielsweise möglichst intuitiv bedienen.

Übertragbarkeit

Unter dem Begriff der Übertragbarkeit wird die Kompatibilität zu anderen Betriebssystemen beschrieben. Es wird die Frage gestellt, ob und mit welchem Aufwand eine Software in ein anderes System migriert und dort lauffähig gemacht werden kann. Hierunter fallen nicht nur unterschiedliche Betriebssysteme, sondern unter anderem auch unterschiedliche Anwendungsumgebungen wie der mobile Bereich. Je flexibler die Software ist und je einfacher die Portierung in ein anderes System, umso höher wird die Softwarequalität bewertet.

Änderbarkeit

Der Begriff der Änderbarkeit misst und bewertet die Möglichkeit, die Software durch Programmierung zu verändern. Je modularer und klarer strukturiert eine Software aufgebaut ist, umso größer ist deren Änderbarkeit und umso höher die Bewertung der Softwarequalität.

Probleme der einzelnen Merkmale

Es gibt allerdings bei der Verbesserung der Softwarequalität durchaus Probleme. Denn es ist in der Regel nicht möglich, alle Qualitätseigenschaften gleichermaßen zu verbessern, da es unter anderem Zielkonflikte der unterschiedlichen Eigenschaften gibt. Dementsprechend ist es immer notwendig, bei der Qualitätssicherung einer Software Schwerpunkte zu setzen und diese zu priorisieren.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Automatisierte Sicherheit in DevOps-Prozessen

Privilegierte Accounts in der Softwareentwicklung

Automatisierte Sicherheit in DevOps-Prozessen

DevOps-Strategien verbessern die Entwicklerproduktivität, erhöhen die Softwarequalität und verkürzen die Bereitstellungszyklen. Doch bei all der Euphorie darf auch der Sicherheitsaspekt nicht vernachlässigt werden. lesen

DevOps für Salesforce-Umgebungen

Prozessoptimierung im Cloud CRM

DevOps für Salesforce-Umgebungen

Bei der Entwicklung und dem Betrieb für Salesforce werden Unternehmen vor verschiedene Herausforderungen gestellt. Welche Herausforderungen das sind und wie DevOps bei der Optimierung des Software-Lifecycles unterstützen kann, werde ich in diesem Fachartikel erläutern. lesen

Eigene Unit für Testing und Softwarequalität

Applause Labs gehen an den Start

Eigene Unit für Testing und Softwarequalität

Ganz im Sinne der Software-Qualitätssicherung hat Applause eine Business Unit namens „Labs“ ins Leben gerufen. Diese soll zukunftsfähige Testing-Methoden entwickeln, erstes Ergebnis ist ein Quality Benchmarking Tool für Unternehmen. lesen

Funktionale Sicherheit in agilen Software-Projekten

Sicherheitsanalysen und verhaltensgetriebene Entwicklung

Funktionale Sicherheit in agilen Software-Projekten

Während agiles Software Engineering stark verändert hat, wie in der Praxis Software entwickelt wird, spielt es bei sicherheitskritischen Systemen noch eine untergeordnete Rolle. Die Integration von Sicherheitsanalysen in ein Vorgehen nach Scrum ist aber möglich ohne an Agilität zu verlieren. lesen

Was ist DevSecOps?

Definition „Development, Security, Operations“

Was ist DevSecOps?

Bei immer kürzeren Software-Entwicklungs-Zyklen kommt die Sicherheit meistens zu kurz. Ein neuer Ansatz namens „DevSecOps“ beseitigt dieses wichtige Problem und hilft IT-Unternehmen, trotz etablierter Sicherheitsprozesse schnell und agil zu bleiben. lesen

Agile Methoden in großen Unternehmen

Klare Strukturen – so wird agiles Arbeiten zum Erfolg

Agile Methoden in großen Unternehmen

Agiles Arbeiten mausert sich zum Standard in der Softwareentwicklung. Allerdings besteht bei allzu hastiger Einführung agiler Methoden die Gefahr, über die eigenen Füße zu stolpern. Doch Hindernisse und Anfangsprobleme lassen sich methodisch aus dem Weg räumen. lesen

7 Lektionen für IoT-Softwareentwicklung

Unterschiede zu klassischem Development

7 Lektionen für IoT-Softwareentwicklung

Das Internet der Dinge, kurz IoT, wächst und gedeiht. Aus diesem Trend hin zu immer mehr vernetzten Produkten ergeben sich einige Änderungen für die Softwareentwicklung. Dieser Beitrag beleuchtet die wichtigsten Unterschiede und sieben Lehren, die sich daraus ziehen lassen. lesen

CxOSA-Engine für die Open-Source-Analyse

Analyse-Lösung für DevOps von Checkmarx

CxOSA-Engine für die Open-Source-Analyse

Checkmarx CxOSA ist eine Software Composition Analysis Engine für Open-Source-Komponenten und sichert den kompletten Software Development Lifecycle ab. DevOps-Umgebungen sollen so von hoher Software-Qualität und Compliance profitieren. lesen

Was ist Software-Zuverlässigkeit?

Definition „Software Reliability“

Was ist Software-Zuverlässigkeit?

Die Software-Zuverlässigkeit ist eine Metrik der sogenannten Softwarequalität. Sie wird durch umfangreiche Testverfahren ermittelt. Die Software sollte fehlerfrei über eine bestimmte Zeit oder eine spezifische Zahl von Anwendungen laufen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45698972 / Definitionen)