Date post: | 04-Jul-2015 |
Category: |
Technology |
Upload: | zuehlke |
View: | 661 times |
Download: | 1 times |
© Zühlke 2012
Dr. Daniel Mölle
Design for Testability
27. September 2012Folie 1
© Zühlke 2012
Design for Testability
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 2
© Zühlke 2012
Design for Testability
Dr. Daniel Mölle
Rückblick
Informatik und Ingenieurwesen
27. September 2012Folie 3
© Zühlke 2012
1968: Software Engineering Conference
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 4
© Zühlke 2012
1972: The Humble Programmer
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 5
© Zühlke 2012
1986: Computer Science?
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 6
© Zühlke 2012
Design for Testability
Dr. Daniel Mölle
Testbarkeit
Von Hardware zu Software
27. September 2012Folie 7
© Zühlke 2012
Testbarkeit bei Hardware
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 8
Korrekt bestückt?Bauteile intakt?Lötstellen okay?
© Zühlke 2012
Übertragung auf Software
27. September 2012Design for Testability | Dr. Daniel Mölle
Korrektes Deployment?Komponentenlogik intakt?
Verbindungen okay?
Folie 9
Implementierung
Anforderungen
Architektur
Design Unittests
Integrationstests
Systemtests
© Zühlke 2012
Königsdisziplin:Automatisierte Systemtests
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 11
© Zühlke 2012
Design for Testability
Dr. Daniel Mölle
Unittests
27. September 2012Folie 12
InputController WorkflowEngine
Translator DisplayDriver
UIController
UIControllerKeyHandling.h
ViewStack.hKeyHandling.c
ViewStack.c Presenter.h
Presenter.c
InputController WorkflowEngine
Translator DisplayDriver
UIController
TranslatorMock
DisplayDriverMock
UIControllerTestSuite
KeyHandling.h
ViewStack.hKeyHandling.c
ViewStack.c Presenter.h
Presenter.c
© Zühlke 2012
Testbarkeit auf Modulebene
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 17
Architektur
Design
Buildsystem
Testumgebung
© Zühlke 2012
Design for Testability
Dr. Daniel Mölle
Integrationstests
27. September 2012Folie 18
InputController WorkflowEngine
Translator DisplayDriver
UIController
InputController WorkflowEngine
Translator DisplayDriver
UIController
IntegrationTest
WorkflowEngine
TranslatorMock
DisplayDriverMock
UIController
?
© Zühlke 2012
Testbarkeit auf Integrationsebene
27. September 2012Design for Testability | Dr. Daniel Mölle
Architektur
Design
Buildsystem
Testumgebung
Folie 23
© Zühlke 2012
Design for Testability
Dr. Daniel Mölle
Systemtests
27. September 2012Folie 24
InputController WorkflowEngine
Translator DisplayDriver
UIController
InputController WorkflowEngine
Translator DisplayDriver
UIController
Testcode Testcode
Testcode
Testcode
Testschnittstelle
InputController UIController
HartverdrahteterFunktionsaufruf
Rücksprung
Client Server Client
Network
SystemTest
© Zühlke 2012
Testbarkeit auf Systemebene
27. September 2012Design for Testability | Dr. Daniel Mölle
Architektur
Design
Buildsystem
Testumgebung
Folie 30
© Zühlke 2012
Dr. Daniel Mölle
Und die Kosten?
27. September 2012Folie 31
Design for Testability | Dr. Daniel Mölle
© Zühlke 2012
Der Trade-Off
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 32
Testabdeckung
Aufwand
Verständlichkeit
Qualität (und Zeit)
© Zühlke 2012
Design for Testability
Dr. Daniel Mölle
Fazit
27. September 2012Folie 33
© Zühlke 2012
Take-Away Messages
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 34
Testbarkeit als nicht-funktionale Anforderung
Wenn man es richtig macht:Gewinn an Qualität und Zeit
Von Anfang an in allen Disziplinen berücksichtigen
Alle drei Ebenen beachten
© Zühlke 2012
Umfassende Automatisierung
der Tests
27. September 2012Design for Testability | Dr. Daniel Mölle Folie 35
Erfolgsindikator #1
Bildnachweis:Die Fotos auf den Folien 5 (Dijkstra), 13 (Testpads) und 19 (JTAG)sind den Wikimedia Commons entnommen.