creasoft - software qs
TRANSCRIPT
Software: Planen. Entwickeln. Testen.
Software Qualitätssicherung(SW QS)
Software: Planen. Entwickeln. Testen.
Ziel der SW QS
• Qualität der SW erhöhen– Wahrgenommene Qualität– «effektive» Qualität
• Vertrauen in Software erhöhen• Dadurch: Zufriedener Kunden• Zufriedenere Mitarbeiter• Effizienz erhöhen: Software kommt nicht mehr
zurück
Software: Planen. Entwickeln. Testen.
SW Qualitätsmerkmale
Welches sind die Qualitätsmerkmale einer Software?
(nach ISTQB (*) [ISO 9126])(*): ISTQB: International Software Testing Qualification Board
Software: Planen. Entwickeln. Testen.
6 Software Qualitätsmerkmale
• Funktionalität• Zuverlässigkeit• Benutzbarkeit• Effizienz• Änderbarkeit (Wartbarkeit)• Übertragbarkeit (Portabilität)
Software: Planen. Entwickeln. Testen.
Qualitätsmerkmal Funktionalität
• Richtigkeit• Angemessenheit• Ordnungsmässigkeit / Konformität• Interoperabilität• Sicherheit
Software: Planen. Entwickeln. Testen.
Qualitätsmerkmal Zuverlässigkeit
• Reife• Fehlertoleranz• Wiederherstellbarkeit
Software: Planen. Entwickeln. Testen.
Qualitätsmerkmal Benutzbarkeit
• Verständlichkeit• Erlernbarkeit• Bedienbarkeit
Software: Planen. Entwickeln. Testen.
Qualitätsmerkmal Effizienz
• Zeitverhalten• Verbrauchsverhalten
Software: Planen. Entwickeln. Testen.
Qualitätsmerkmal Änderbarkeit
• Modifizierbarkeit• Analysierbarkeit• Stabilität• Prüfbarkeit
Software: Planen. Entwickeln. Testen.
Qualitätsmerkmal Übertragbarkeit
• Anpassungsbarkeit• Installierbarkeit• Konformität• Austauschbarkeit
Software: Planen. Entwickeln. Testen.
QS Massnahmen
Wie kann die SW Qualität erhöht werden?
Welche QS Massnahmen gibt es?
Software: Planen. Entwickeln. Testen.
QS Massnahmen
• Planerische Massnahmen• Konstruktive Massnahmen (Vorbeugung von
Fehlern)• Analytische Massnahmen (Finden von
Fehlern)
Software: Planen. Entwickeln. Testen.
Planerische QS Massnahmen
Alle organisatorischen Massnahmen zur Ein- und Durchführung der QS im Unternehmen und im SW-Projekt.
z.B. ISO 9001 Zertifizierung
Software: Planen. Entwickeln. Testen.
Konstruktive QS Massnahmen
• Alle präventiven Massnahmen zur Vermeidung von Fehlern und Mängel.
• Alle korrigierenden Massnahmen ( Einfluss nehmen auf bestehende Abläufe, etc.)
Vermeidung von Fehlern
Software: Planen. Entwickeln. Testen.
Fehlervermeidung
z.B. Durch:• Programmierrichtlinien («best practice»)
definieren und einhalten• Besonderes Augenmerk auf bekannte Fehler
legen, z.B. die «CWE / SANS Top 25 Most Dangerous Software Errors» kennen und unseren Code z.B. auf die Top 10 überprüfen.
Software: Planen. Entwickeln. Testen.
Analytische QS Massnahmen
Alle prüfenden Massnahmen zur Erkennung, Lokalisierung und Bewerten von Fehlern und Mängeln.
Finden von Fehlern (und dann deren Behebung)
Software: Planen. Entwickeln. Testen.
Fehler Finden
Durch eine Vielzahl von Methoden und Vorgehensweisen……die noch zu definieren sind
Software: Planen. Entwickeln. Testen.
«Axiome» über Fehler und Testen
• Jedes Programm hat Fehler. Es gibt keine fehlerlosen Programme.
• Die Anzahl Fehler in einem Programm ist unbekannt.
• Es werden nie alle Fehler gefunden• Es lässt sich nie «alles» in einem Programm testen
Mit möglichst wenigen Tests möglichst viel abdecken
• Fehler kommen oft in «Clustern» vor. Dh. dort wo schon Fehler sind, kommen oft noch weitere Fehler vor.
Software: Planen. Entwickeln. Testen.
Testziele
Was wollen wir durch unsere Tests erreichen?
Welches sind unsere Testziele?
Software: Planen. Entwickeln. Testen.
Testziele
Müssen wir von Projekt zu Projekt festlegen…… diese sind wohl immer dabei
– Beweis, dass unsere SW die geforderten Funktionen erfüllt (Funktionale Prüfung der SW) Korrektes Verhalten beweisen
– Fehler finden Inkorrektes Verhalten finden
Software: Planen. Entwickeln. Testen.
Wasserfall Modell
Testen wird als einmalige, am Entwicklungsende stattfindende Aktion
aufgefasst
Analyse
Design
Implementierung & Debugging
Test
Betrieb
Software: Planen. Entwickeln. Testen.
V-Model
Testen begleitet das ganze Projekt
von Anfang an.
Anforderungs-definition
Funktionaler Systementwurf
Technischer Systementwurf
Komponenten Spezifikation
Implementierung
Komponenten -test
Integrations-test
Systemtest
Abnahmetest
Software: Planen. Entwickeln. Testen.
ISTQB
• Testen begleitet das ganze Projekt von Anfang an. Tester möglichst früh ins Projekt einbinden.
• Sobald die ersten Dokumente verfügbar sind kann mit Testen (z.B. Dokument Review (*), Testkonzept aufstellen) begonnen werden.
(*) Gemäss ISTQB sind Reviews eine Testmethode
Software: Planen. Entwickeln. Testen.
Umsetzung
Wie wollen wir das Umsetzen?
Software: Planen. Entwickeln. Testen.
Umsetzung
• Grundlagenwissen «Testing» der Mitarbeiter erhöhen (inkl. Terminologie) ISTQB Kurse
• Einheitliche Terminologie verwenden ISTQB Glossar
• Möglichst früh im Projekt ein Testkonzept aufstellen. (Was, wie, weshalb getestet wird, was weshalb nicht getestet wird, wann mit Testen aufgehört werden kann, etc)
• Programmierrichtlinien überarbeiten• ?
Software: Planen. Entwickeln. Testen.
Meine Ziele
Nicht so … Sondern so …
Entwickler Tester Wir ziehen alle am gleichen Strick
Software: Planen. Entwickeln. Testen.
Meine Ziele
• Auf Bestehendem aufbauen • Etwas «was uns etwas bringt» und nicht nur
zusätzliche Arbeit beschert
Software: Planen. Entwickeln. Testen.
Zum Überlegen
• Welche SW Qualitätsmerkmale sind uns wichtig?
• Was wollen wir beim Testen erreichen?• Welche Testziele haben wir?