Test Driven Development ist eines der wichtigsten Methoden aus dem Extreme Programming um hohe Softwarequalität zu garantieren und agil auf Änderungen reagieren zu können. Es hält sich allerdings sehr hartnäckig die Legende, dass man TDD für die Entwicklung von Benutzeroberlächen nicht anwenden kann. In diesem Vortrag werden Architekturansätze und Techniken vorgestellt, die es erlauben testbare Benutzeroberflächen zu schreiben.
27. Model (State Machine)
• States
• Number
• Wait for Number
• Error
• Properties
• State
• Input
• Value
• Error Message
• Memory
• Operation
• Methods
• Read Token
Montag, 8. Juni 2009
28. Presenter
View Model
P
• Properties
r
• Properties
e • State
• Display
s • Input
• Memory e • Value
n • Error Message
• Operation
t • Memory
• Events e • Operation
r • Methods
• Button press
• Read Token
Montag, 8. Juni 2009
33. „Verdrahtung“ testen
• API zum Presenter testen
• Vieles lässt sich automatisiert testen
Montag, 8. Juni 2009
34. Events testen
• Unterhalb der „echten“ Events ansetzen
• Evtl. Simulation von „echten“ Events
Montag, 8. Juni 2009
35. Aussehen testen
• Themes sind auch Code
• Aussehen lässt sich kaum automatisiert
testen
ABER
• View hat wenig Abhängigkeiten
• Kann isoliert ausgeführt werden
Montag, 8. Juni 2009
41. Resourcen / TDD
• Literatur
• „Test Driven Development by Example“, Kent Beck
• „Working Effectively with Legacy Code“, Michael
Feathers
• „Clean Code: A Handbook of Agile Software
Craftsmanship“, Robert C. Martin
• Präsentationen im Netz
• „Test Driven Development?“, Frederik Kalseth
http://iridescence.no/post/Slides-From-my-TDD-
Talk.aspx
• „Test Driven Development Best Practices for
Eclipse RCP“, Kevin Taylor, http://live.eclipse.org/
node/700
Montag, 8. Juni 2009
42. Resourcen / MVP
• Martin Fowler
• Passive View, http://www.martinfowler.com/eaaDev/
PassiveScreen.html
• GUI Architectures, http://www.martinfowler.com/eaaDev/
uiArchs.html
• Microsoft
• View Testability, http://msdn.microsoft.com/en-us/library/
cc304742.aspx
• Design Patterns - Model View Presenter, http://
msdn.microsoft.com/de-de/magazine/cc188690(en-us).aspx
• „Build Your Own CAB“, Jeremey D. Miller, http://
codebetter.com/blogs/jeremy.miller/archive/2007/07/25/the-
build-your-own-cab-series-table-of-contents.aspx
Montag, 8. Juni 2009