2. 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.
3. SW Qualitätsmerkmale
Welches sind die Qualitätsmerkmale
einer Software?
(nach ISTQB (*) [ISO 9126])
(*): ISTQB: International Software Testing Qualification Board
Software: Planen. Entwickeln. Testen.
13. 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.
14. 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.
15. 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.
16. 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.
17. Fehler Finden
Durch eine Vielzahl von Methoden und
Vorgehensweisen…
…die noch zu definieren sind
Software: Planen. Entwickeln. Testen.
18. «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.
19. Testziele
Was wollen wir durch unsere Tests
erreichen?
Welches sind unsere Testziele?
Software: Planen. Entwickeln. Testen.
20. 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.
21. Wasserfall Modell
Analyse
Design Testen wird als
einmalige, am
Entwicklungsende
Implementierung stattfindende Aktion
& Debugging aufgefasst
Test
Betrieb
Software: Planen. Entwickeln. Testen.
22. V-Model
Anforderungs-
Abnahmetest
definition
Funktionaler
Systemtest
Systementwurf
Technischer Integrations-
Systementwurf test
Komponenten Komponenten -
Spezifikation test
Testen
Implementierung
begleitet das
ganze Projekt
von Anfang an.
Software: Planen. Entwickeln. Testen.
23. 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.
24. Umsetzung
Wie wollen wir das Umsetzen?
Software: Planen. Entwickeln. Testen.
25. 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.
26. Meine Ziele
Nicht so … Sondern so …
Wir ziehen alle am
Entwickler Tester gleichen Strick
Software: Planen. Entwickeln. Testen.
27. Meine Ziele
• Auf Bestehendem aufbauen
• Etwas «was uns etwas bringt» und nicht nur
zusätzliche Arbeit beschert
Software: Planen. Entwickeln. Testen.
28. Zum Überlegen
• Welche SW Qualitätsmerkmale sind uns
wichtig?
• Was wollen wir beim Testen erreichen?
• Welche Testziele haben wir?
Software: Planen. Entwickeln. Testen.