Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| de:modul:m287:learningunits:lu07:einfuehrung [2026/01/27 10:49] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m287:learningunits:lu07:einfuehrung [2026/01/27 10:49] (aktuell) – ↷ Seite von modul:m287:learningunits:lu07:einfuehrung nach de:modul:m287:learningunits:lu07:einfuehrung verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU07a - Einführung Software-Qualität ====== | ||
| + | |||
| + | ===== Auswirkungen von Fehlern ===== | ||
| + | |||
| + | In der Praxis können kleine Fehler grosse Konsequenzen haben: | ||
| + | |||
| + | * Prestigeverlust | ||
| + | * frustrierte User/ | ||
| + | * Programmabbrüche | ||
| + | * Datenverfälschung - Anomalien | ||
| + | * falsches Systemverhalten | ||
| + | * Systemabstürze | ||
| + | |||
| + | Die Folgen und Kosten von Fehlern hängen stark vom Einsatzgebiet der Software ab – hier zwei Beispiele: | ||
| + | |||
| + | **Massenprodukt (z.B. internationaler Webauftritt)** | ||
| + | |||
| + | * Sehr viele Benutzer\*innen betroffen | ||
| + | * Support- und Schulungskosten steigen | ||
| + | * Reputationsschäden durch negative Nutzererfahrung | ||
| + | |||
| + | **Individuelle Software (z.B. firmeninterne Anwendung): | ||
| + | |||
| + | * Kleiner, oft bekannter Nutzerkreis | ||
| + | * Verbesserungen können schneller integriert werden | ||
| + | * Fehler wirken sich punktuell aus, aber können Arbeitsprozesse stören | ||
| + | |||
| + | ===== Arten von Fehlern ===== | ||
| + | |||
| + | Welche Fehlerarten gibt es? Nachfolgend eine Auswahl: | ||
| + | |||
| + | * Codierfehler (z.B. Syntax, undefinierte Variablen) | ||
| + | * Logikfehler (z.B. falsche Bedingungen bei Entscheidungen, | ||
| + | * Entwurfsfehler (z.B. konzeptionelle Schwächen oder falsche/ | ||
| + | * Datenfehler (z.B. mathematische Operationen mit Strings statt mit Zahlen) | ||
| + | * Umsetzungsfehler (Fehler bei der Übersetzung von Spezifikationen in Code) | ||
| + | * Oberflächenfehler (schwer verständliche Benutzeroberflächen, | ||
| + | |||
| + | Usability-Fehler können in sicherheitskritischen Bereichen wie Medizin, Luftfahrt oder autonomen Fahrzeugen dramatische Auswirkungen haben. | ||
| + | |||
| + | ===== Normierte Qualitätsmerkmale ===== | ||
| + | |||
| + | Was kann der Kunde erwarten, wenn er Ihnen eine Software (z.B. Webblog oder ein CMS inkl. Styling, JavaScript, PHP und Datenbank) in Auftrag gibt? | ||
| + | |||
| + | Es gibt eine Norm (DIN/ISO 9126), welche die wichtigsten Qualitätsmerkmale regelt: | ||
| + | |||
| + | * **Zuverlässigkeit (reliability): | ||
| + | * **Funktionalität (functionality): | ||
| + | * **Benutzbarkeit (usability): | ||
| + | * **Effizienz (efficiency): | ||
| + | * **Änderbarkeit (maintainability): | ||
| + | * **Übertragbarkeit (portability): | ||
| + | |||
| + | ===== Testaktivitäten und -planung ===== | ||
| + | |||
| + | Die Testaktivitäten können nicht kurz vor Schluss durchgeführt werden. Das Testen von Software muss geplant sein, nimmt es doch bei grossen Projekten ca. 15 % – 30 % in Anspruch. | ||
| + | |||
| + | Es gibt für das Durchführen von Testaktivitäten einige Prinzipien, die sich in der Praxis bewährt haben: | ||
| + | |||
| + | * **Fehler möglichst frühzeitig aufdecken: | ||
| + | * **Testziele erreichbar und messbar formulieren: | ||
| + | * **Testfälle verwalten: | ||
| + | * **Testaktivitäten planen:** Ohne Planung werden Testaktivitäten unsystematisch und " | ||
| + | * **Testaktivitäten dokumentieren: | ||
| + | |||
| + | ===== White-Box-Testmethode ===== | ||
| + | |||
| + | Bei der White-Box-Methode werden die Testfälle mit Kenntnis der internen Strukturen des Testobjekts (Source-Code) entwickelt. D.h., diese Methode kann nur von Entwicklern eingesetzt werden. Der laufende Test beim Programmieren ist ebenfalls ein White-Box-Test. Die meisten Entwicklungsumgebungen stellen dazu umfangreiche Tools zur Verfügung (DEBUG), es sind aber auch eigenständige Applikationen für White-Box-Tests auf dem Markt erhältlich. | ||
| + | |||
| + | ===== Black-Box-Testmethode ===== | ||
| + | |||
| + | Bei dieser Methode werden die Testfälle aus der vorliegenden Spezifikation (z.B. Pflichtenheft) oder aber aus der Oberflächenstruktur (z.B. Erfassungsmasken, | ||
| + | |||
| + | Diese Methoden können sinnvollerweise auch kombiniert werden. | ||