© Zühlke 2012Matthias KraazWirtschaftlichSoftwaretestenMatthias Kraaz6. Dezember 2012
• Soll alle Fehler finden• Testzyklen in Nullzeit• Verifikation klappt auf Anhieb• Knappe Zeit• Knappes Budget• Häufige Än...
© Zühlke 2012TestautomatisierungDesign for TestabilityAutomatisierte VerifizierungstestsTeststufenTestherleitungsverfahren...
ElektronikSoftwarePoint of ControlPoint of Observation
ElektronikSoftwarePoint of ObservationPoint of Control
ElektronikSoftwarePoint of ObservationPoint of Control
ElektronikSoftwarePoint of ObservationPoint of Control
ElektronikSoftwarePoint of ObservationPoint of Control
ElektronikSoftwarePoint of ObservationPoint of Control
Design for Testability
© Zühlke 2012Liefern Sie aus, was Sie getestet haben:• Finale Version sollte debugbar und testbar sein• Test-Schnittstelle...
Testling Signal-Adaption Zum Test-System 
© Zühlke 2012• Fehler werden früher gefunden• Testfallexplosion besser im Griff– Vielzahl von Eingangs-/Ausgangsparametern...
© Zühlke 2012• Erstellung von Tests aufwendiger,Produktivität des Testteams sinkt anfänglich• Pflege von Tests aufwendiger...
© Zühlke 2012• Testling sollte gewisse Stabilität erreicht haben• Mindestens zweiten Teststand vorsehen• Zuverlässige Hard...
© Zühlke 2012• Alle Tests werden automatisiert• Sofortige Kosteneinsparung durch Automatisierung• Capture-Replay ohne Nach...
© Zühlke 2012Eingangsdaten für Berechnung:• Kosten für manuelle Tests– Erstellung der Testfallspezifikationen– Manuelle Te...
© Zühlke 2012- €200,000 €400,000 €600,000 €800,000 €1,000,000 €1,200,000 €1,400,000 €1 2 3 4Kosten nach JahrenMit Automati...
© Zühlke 2012Man nehme:• Kodierende Tester / testende Entwickler• Unit Test Framework• Mock Generator• Build & Deploy & Ru...
© Zühlke 2012• Eventuell mehrere Integrationsstufen• Herausforderungen je nach Anteil Software / ElektronikAutomatisierung...
Automatisierte Verifizierungstests
© Zühlke 2012Verifizierungstests laufen automatisiert während Entwicklung• Vorschau auf Verifizierungsergebnis• Ruhiger Sc...
© Zühlke 2012• Fehlerkosten sinken• Softwarequalität steigt• Keine bösen Überraschungen– in der Verifikation oder bei der ...
© Zühlke 2012Vorteile von Komponenten- und Integrationstests• Weniger Aufwand pro Test• Hohe Testtiefe bequem erreichbar– ...
© Zühlke 2012Zu wenig Budget Nur Systemtests OptimiertBudget-Verteilung und TesttiefeUntere TeststufenSystemtestsTesttiefe...
© Zühlke 2012TeststufenWirtschaftlich Software testen | Matthias KraazIntegrationstestsKomponententests6. Dezember 2012Sys...
© Zühlke 2012Nachteile von Komponenten- und Integrationstests• Infrastruktur erforderlich• Automatisierung fast unausweich...
© Zühlke 2012Nicht mit der Gießkanne testen!Fokus auf• Sicherheitskritische …• Wichtige …• Komplexe …• Neue …• Durch Bugs ...
© Zühlke 2012Nicht mit der Gießkanne testen!Testherleitungsverfahren• Spezifikationsorientiert• Strukturorientiert• Äquiva...
© Zühlke 2012Statische Analyse einsetzen!StatischeAnalyseArchitektur MetrikenCode-CheckerStilKodier-regelnLaufzeit-fehlerS...
Reviews optimieren!
© Zühlke 2012• Gießkanne weg, systematische Testherleitung• Wenn Reviews Pflicht: Nutzen maximieren, auf Testbarkeit achte...
© Zühlke 2012Lektüre (1)Wirtschaftlich Software testen | Matthias KraazCCElizabeth/Table4Five6. Dezember 2012
© Zühlke 2012• Daniel Mölle:Stabile Software durch Design for Testability(iX 11/2012, SlideShare)• Matthias Kraaz:Wirtscha...
© Zühlke 2012• Zusammenarbeit Tester und Entwickler:Design for Testability & Testautomatisierung• Test-Budget optimal nutz...
Wirtschaftlich Software testen (ESE-Kongress 2012)
Wirtschaftlich Software testen (ESE-Kongress 2012)
Wirtschaftlich Software testen (ESE-Kongress 2012)
Nächste SlideShare
Wird geladen in …5
×

Wirtschaftlich Software testen (ESE-Kongress 2012)

1.419 Aufrufe

Veröffentlicht am

Veröffentlicht in: Business
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Wirtschaftlich Software testen (ESE-Kongress 2012)

  1. 1. © Zühlke 2012Matthias KraazWirtschaftlichSoftwaretestenMatthias Kraaz6. Dezember 2012
  2. 2. • Soll alle Fehler finden• Testzyklen in Nullzeit• Verifikation klappt auf Anhieb• Knappe Zeit• Knappes Budget• Häufige ÄnderungenDie Schmerzen des Test-Managers
  3. 3. © Zühlke 2012TestautomatisierungDesign for TestabilityAutomatisierte VerifizierungstestsTeststufenTestherleitungsverfahren und die GießkanneStatische AnalyseReviewsAgenda6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  4. 4. ElektronikSoftwarePoint of ControlPoint of Observation
  5. 5. ElektronikSoftwarePoint of ObservationPoint of Control
  6. 6. ElektronikSoftwarePoint of ObservationPoint of Control
  7. 7. ElektronikSoftwarePoint of ObservationPoint of Control
  8. 8. ElektronikSoftwarePoint of ObservationPoint of Control
  9. 9. ElektronikSoftwarePoint of ObservationPoint of Control
  10. 10. Design for Testability
  11. 11. © Zühlke 2012Liefern Sie aus, was Sie getestet haben:• Finale Version sollte debugbar und testbar sein• Test-Schnittstellen versperren, aber drin lassen– Sonderfall Wartungstests / STK / MTK– Sonderfall ProduktionstestsTricks, damit die Herstellkosten nicht steigen:• optionale Bestückung• modulare Bauweise• …Design for Testability6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  12. 12. Testling Signal-Adaption Zum Test-System 
  13. 13. © Zühlke 2012• Fehler werden früher gefunden• Testfallexplosion besser im Griff– Vielzahl von Eingangs-/Ausgangsparametern automatisiert testbar• Es gibt öfter einen aktuellen Testbericht• Regressionstests ermöglichen Refactoring• Stresstests, lange Testläufe möglich• Gibt Sicherheit und Vertrauen• Bessere Dokumentation / Nachvollziehbarkeit der Tests– Regularien-freundlich!TestautomatisierungVorteile6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  14. 14. © Zühlke 2012• Erstellung von Tests aufwendiger,Produktivität des Testteams sinkt anfänglich• Pflege von Tests aufwendiger• Die meisten Fehler werden während der Testerstellung gefunden• Tests haben reduzierte Variabilität• Tests verifizieren nur, was hineinprogrammiert wurde Mit manuellen / explorativen Tests kombinierenTestautomatisierungHinweise6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  15. 15. © Zühlke 2012• Testling sollte gewisse Stabilität erreicht haben• Mindestens zweiten Teststand vorsehen• Zuverlässige Hardware verwenden• KISS (Keep it small and simple)TestautomatisierungHinweise6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  16. 16. © Zühlke 2012• Alle Tests werden automatisiert• Sofortige Kosteneinsparung durch Automatisierung• Capture-Replay ohne Nacharbeit• Ein zugekauftes Werkzeug, das perfekt passtTestautomatisierungUnrealistisch6. Dezember 2012Wirtschaftlich Software testen | Matthias KraazUnrealistisch!
  17. 17. © Zühlke 2012Eingangsdaten für Berechnung:• Kosten für manuelle Tests– Erstellung der Testfallspezifikationen– Manuelle Testdurchführung• Kosten für automatisierte Tests– Erstellung der Testskripte– Pflege der Testskripte– Automatisierte Testdurchführung– Infrastruktur• Parameter– Anzahl manueller(!) Testläufe– Kosten pro Personentag– Anteil nicht automatisierter TestsROI von TestautomatisierungPraxisbeispielWirtschaftlich Software testen | Matthias Kraaz 6. Dezember 2012
  18. 18. © Zühlke 2012- €200,000 €400,000 €600,000 €800,000 €1,000,000 €1,200,000 €1,400,000 €1 2 3 4Kosten nach JahrenMit Automatisierung Rein manuellROI von TestautomatisierungPraxisbeispielWirtschaftlich Software testen | Matthias Kraaz 6. Dezember 2012
  19. 19. © Zühlke 2012Man nehme:• Kodierende Tester / testende Entwickler• Unit Test Framework• Mock Generator• Build & Deploy & Run automatisierenWas macht es schwierig:• Abhängigkeiten• Design der SchnittstellenAutomatisierung von Komponententests6. Dezember 2012Wirtschaftlich Software testen | Matthias KraazTestDriverComponentunder TestMock
  20. 20. © Zühlke 2012• Eventuell mehrere Integrationsstufen• Herausforderungen je nach Anteil Software / ElektronikAutomatisierung von Integrationstests6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  21. 21. Automatisierte Verifizierungstests
  22. 22. © Zühlke 2012Verifizierungstests laufen automatisiert während Entwicklung• Vorschau auf Verifizierungsergebnis• Ruhiger SchlafAutomatisierte Verifizierungstests (IV&V)• Zeitdruck, Kosten von Wiederholungen• Test-Infrastruktur der Entwicklung kann wiederverwendet werden• Validierung der Test-Infrastruktur• „Test to verify“ statt „test to kill“Automatisierte VerifizierungstestsWirtschaftlich Software testen | Matthias Kraaz 6. Dezember 2012
  23. 23. © Zühlke 2012• Fehlerkosten sinken• Softwarequalität steigt• Keine bösen Überraschungen– in der Verifikation oder bei der Abnahme• Testautomatisierung lohnt sich– auch wenn der genaue ROI schwer zu berechnen ist• Wir führen Projekte nur noch mit Testautomatisierung durch– auf allen Test-Ebenen– auch im nicht regulierten UmfeldTestautomatisierungFazit6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  24. 24. © Zühlke 2012Vorteile von Komponenten- und Integrationstests• Weniger Aufwand pro Test• Hohe Testtiefe bequem erreichbar– Hohe Überdeckung von Parametern (Kombinationen, Äquivalenzklassen, Grenzwerte)– Hohe Überdeckung von Zustandsmaschinen– Robustheit-Tests• Früher durchführbar• Häufiger durchführbar• Fehlerursache leichter zu lokalisieren• Leichter automatisierbarTeststufen6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  25. 25. © Zühlke 2012Zu wenig Budget Nur Systemtests OptimiertBudget-Verteilung und TesttiefeUntere TeststufenSystemtestsTesttiefeTeststufenWirtschaftlich Software testen | Matthias Kraaz 6. Dezember 2012
  26. 26. © Zühlke 2012TeststufenWirtschaftlich Software testen | Matthias KraazIntegrationstestsKomponententests6. Dezember 2012Systemtests
  27. 27. © Zühlke 2012Nachteile von Komponenten- und Integrationstests• Infrastruktur erforderlich• Automatisierung fast unausweichlich• Aussagekraft muss von oberer Teststufe überprüft werden• Grundstock von Systemtests muss seinTeststufenWirtschaftlich Software testen | Matthias Kraaz 6. Dezember 2012
  28. 28. © Zühlke 2012Nicht mit der Gießkanne testen!Fokus auf• Sicherheitskritische …• Wichtige …• Komplexe …• Neue …• Durch Bugs aufgefallene …• … Anforderungen• … Software-Komponenten6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  29. 29. © Zühlke 2012Nicht mit der Gießkanne testen!Testherleitungsverfahren• Spezifikationsorientiert• Strukturorientiert• Äquivalenzklassen plus Grenzwertanalyse• Entscheidungstabellen• Zustandsbasiert• Anwendungsfallbasiert• Erfahrungsbasiert• …6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  30. 30. © Zühlke 2012Statische Analyse einsetzen!StatischeAnalyseArchitektur MetrikenCode-CheckerStilKodier-regelnLaufzeit-fehlerSicherheits-probleme
  31. 31. Reviews optimieren!
  32. 32. © Zühlke 2012• Gießkanne weg, systematische Testherleitung• Wenn Reviews Pflicht: Nutzen maximieren, auf Testbarkeit achten• Wenn Teststufen vorhanden: Nutzen maximieren• Design for Testability– Voraussetzung für sinnvolle Teststufen– Erleichterung der Automatisierung– Software-Architektur in Zusammenarbeit von SA und TM• Teststufen einführen• Automatisierung von Systemtests– Automatisierte Verifizierungstests• Parallel: statische AnalysePriorisierung6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz
  33. 33. © Zühlke 2012Lektüre (1)Wirtschaftlich Software testen | Matthias KraazCCElizabeth/Table4Five6. Dezember 2012
  34. 34. © Zühlke 2012• Daniel Mölle:Stabile Software durch Design for Testability(iX 11/2012, SlideShare)• Matthias Kraaz:Wirtschaftlich Software testen(Kongressband)• Matthias Kraaz:Wirtschaftlich testen(MEDengineering 9-10/2012, SlideShare)• Matthias Kraaz:Qualitätssicherung in Compact Projekten(dotNetPro 02/2012, SlideShare)Lektüre (2)Wirtschaftlich Software testen | Matthias KraazCCElizabeth/Table4Five6. Dezember 2012
  35. 35. © Zühlke 2012• Zusammenarbeit Tester und Entwickler:Design for Testability & Testautomatisierung• Test-Budget optimal nutzen• Im regulierten Umfeld:Nutzen ziehen aus Dingen, die ich ehe machen mussZur Schmerzlinderung empfehle ich…6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz

×