WirtschaftlichSoftwareTestenMatthias Kraaz                 11. Oktober 2012                 Matthias Kraaz                ...
Die Herausforderung                                                  Keine Fehler übersehen                               ...
Wie?•      Teststufen einführen•      (System-) Tests automatisieren•      Design for Testability einfordern•      Tests n...
Teststufen einführen!Vorteile von Komponenten- und Integrationstests•      Weniger Aufwand pro Test•      Hohe Testtiefe b...
Teststufen einführen!Nachteile von Komponenten- und Integrationstests•      Infrastruktur erforderlich•      Automatisieru...
Teststufen einführen!                                                    Budget-Verteilung und Testtiefe                  ...
Teststufen einführen!Die Test-Pyramide                                                     Systemtests                    ...
(System-)Tests automatisieren!Vorteile•      Wiederholungen werden wesentlich günstiger•      Regelmäßig aktuelle Ergebnis...
ROI von TestautomatisierungEingangsdaten für Berechnung:•      Kosten für manuelle Tests       – Erstellung der Testfallsp...
ROI von TestautomatisierungPraxisbeispiel                                                       Kosten nach Jahren     1,4...
Automatisierungskosten senken  durch Design for testability                             © Zühlke 2012
Point of Control                       Elektronik                             SoftwarePoint of Observation
Point of Control                   Elektronik                         Software        Point of Observation
Point of ControlElektronik      Software    Point of Observation
Point of ControlElektronik      Software             Point of Observation
Point of ControlElektronik      Software             Point of Observation
Point of ControlElektronik      Software             Point of Observation
Testling   Signal-Adaption   Zum Test-System 
Liefern Sie aus,was Sie getestet haben.                          © Zühlke 2012
Automatisierung von KomponententestsWas macht es schwierig:•      Innerer Zustand                                         ...
Automatisierung von Integrationstests                                                  Software               ElektronikWi...
Automatisierte VerifizierungstestsVerifizierungstests laufen automatisiert während Entwicklung•      Vorschau auf Verifizi...
Tests nicht mit der Gießkanne verteilen!Fokus auf•      Sicherheitskritische …•      Wichtige …•      Komplexe …•      Neu...
Statische Tests durchführen!                       Statische   Reviews                       Analyse                      ...
So!•      Teststufen einführen•      (System-)Tests automatisieren•      Design for Testability einfordern•      Tests nic...
DANKEKontakt: matthias.kraaz@zuehlke.com
Nächste SlideShare
Wird geladen in …5
×

Wirtschaftlich Software testen - Electronics goes Medical 2012

701 Aufrufe

Veröffentlicht am

Oftmals bleiben viele Möglichkeiten, die Effizienz und Effektivität des Testprozesses zu steigern, ungenutzt.
Mit dem Testen früh beginnen: es gibt verschiedene Möglichkeiten, früher als bisher mit dem Testen zu beginnen. Je früher Fehler gefunden werden, desto günstiger ist die Behebung. Das hat auch Auswirkungen auf die Kosten für das Testen. Aber wie geht das?
Bestimmte Testaktivitäten sollten noch früher beginnen: beispielsweise kann durch eine frühzeitige Einflussnahme auf die Testbarkeit der Architektur der Testaufwand massiv gesenkt werden. Doch wie sieht eine testbare Architektur aus?
Dynamische Tests und Reviews sollten beileibe nicht die einzige Methode zur analytischen Qualitätssicherung sein. Was gibt es noch?
Auch ein kleiner Ausblick auf die konstruktive Qualitätssicherung soll gewagt werden.
Was lernen die Zuhörer in dem Vortrag:
Methoden des modernen Software-Testens und der modernen Software-Entwicklung, um das Testen von Software effizienter und effektiver zu gestalten, also mit dem gleichen oder weniger Budget bessere Software-Qualität zu erreichen.

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

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

Wirtschaftlich Software testen - Electronics goes Medical 2012

  1. 1. WirtschaftlichSoftwareTestenMatthias Kraaz 11. Oktober 2012 Matthias Kraaz © Zühlke 2012
  2. 2. Die Herausforderung Keine Fehler übersehen Bugs schnell finden Verifikation auf Anhieb bestehen Knappe Zeit Knappes Budget Änderungen in letzter SekundeWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  3. 3. Wie?• Teststufen einführen• (System-) Tests automatisieren• Design for Testability einfordern• Tests nicht mit der Gießkanne verteilen• Statische TestsWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  4. 4. Teststufen einführen!Vorteile 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 automatisierbarWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  5. 5. Teststufen einführen!Nachteile von Komponenten- und Integrationstests• Infrastruktur erforderlich• Automatisierung fast unausweichlich• Aussagekraft muss von oberer Teststufe überprüft werden• Grundstock von Systemtests muss seinWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  6. 6. Teststufen einführen! Budget-Verteilung und Testtiefe Untere Teststufen Systemtests Testtiefe Zu wenig Budget Nur Systemtests TestpyramideWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  7. 7. Teststufen einführen!Die Test-Pyramide Systemtests Integrationstests KomponententestsWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  8. 8. (System-)Tests automatisieren!Vorteile• Wiederholungen werden wesentlich günstiger• Regelmäßig aktuelle Ergebnisse• Vorschau auf VerifikationsergebnisInvestition• Infrastruktur• Erstellung und Pflege der Testskripte• Reduzierbar durch Design for TestabilityWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  9. 9. ROI von TestautomatisierungEingangsdaten 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 TestsWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  10. 10. ROI von TestautomatisierungPraxisbeispiel Kosten nach Jahren 1,400,000 € 1,200,000 € 1,000,000 € 800,000 € 600,000 € 400,000 € 200,000 € - € 1 2 3 4 Mit Automatisierung Rein manuellWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  11. 11. Automatisierungskosten senken durch Design for testability © Zühlke 2012
  12. 12. Point of Control Elektronik SoftwarePoint of Observation
  13. 13. Point of Control Elektronik Software Point of Observation
  14. 14. Point of ControlElektronik Software Point of Observation
  15. 15. Point of ControlElektronik Software Point of Observation
  16. 16. Point of ControlElektronik Software Point of Observation
  17. 17. Point of ControlElektronik Software Point of Observation
  18. 18. Testling Signal-Adaption Zum Test-System 
  19. 19. Liefern Sie aus,was Sie getestet haben. © Zühlke 2012
  20. 20. Automatisierung von KomponententestsWas macht es schwierig:• Innerer Zustand Test Driver• Abhängigkeiten• Design der Schnittstellen ComponentMan nehme: under Test• Software Entwickler• Unit Test Framework Mock• Mock FrameworkWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  21. 21. Automatisierung von Integrationstests Software ElektronikWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  22. 22. Automatisierte VerifizierungstestsVerifizierungstests 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“Wirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  23. 23. Tests nicht mit der Gießkanne verteilen!Fokus auf• Sicherheitskritische …• Wichtige …• Komplexe …• Neue …• Durch Bugs aufgefallene … • … Anforderungen • … Software-KomponentenWirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  24. 24. Statische Tests durchführen! Statische Reviews Analyse Code- Architektur Metriken Checker Kodier- Sicherheits- Stil Anomalien regeln probleme © Zühlke 2012
  25. 25. So!• Teststufen einführen• (System-)Tests automatisieren• Design for Testability einfordern• Tests nicht mit der Gießkanne verteilen• Statische TestsVerteilen Sie Ihr knappes Budget so nutzbringend wie möglich!Wirtschaftlich Software Testen | Matthias Kraaz 11. Oktober 2012 © Zühlke 2012
  26. 26. DANKEKontakt: matthias.kraaz@zuehlke.com

×