8
TESTDRIVEN DEVELOPMENT Was ist das? Wie geht das? Warum? Woher kommt das? Wer macht das? 15‘ Minuten tember 2014, Patrick Koglin

Testdriven development

Embed Size (px)

DESCRIPTION

Ein Einstieg zur testgetriebenen Software-Entwicklung.

Citation preview

Page 1: Testdriven development

TESTDRIVENDEVELOPMENTWas ist das? Wie geht das? Warum? Woher kommt das? Wer macht das?

15‘ Minuten

September 2014, Patrick Koglin

Page 2: Testdriven development

Motivation

Das Erstellen von Tests nach der Entwicklung erweist sich häufig als nachteilig.

• Es wird vergessen

• Es gibt keine Zeit für Tests

• Es mangelt an Disziplin zum Schreiben von Tests

• Das Software-Design bietet keine Möglichkeit mehr für Tests

• Es gibt keine Einsicht für die Notwendigkeit von Tests

„Test first“ bzw. Testdriven Development stellt hierfür einen Lösungsansatz dar

Ein Design lässt sich in diesen Fällen nicht vorab planen, sondern kann sich erst mit wachsendem Verständnis der Anforderungen entwickeln. http://www.frankwestphal.de/TestgetriebeneEntwicklung.html

Page 3: Testdriven development

HerkunftKent Beck

2000

eXtreme Programming

http://www.agiledata.org/essays/tdd.html

Test-driven development can produce applications of high quality in less time than is possible with older methods.http://searchsoftwarequality.techtarget.com/definition/test-driven-development

Pair ProgrammingTest firstRefactoringFortlaufende IntegrationAkzeptierte VerantwortungInformation durch MetrikenAusdauerndes TempoGemeinsame Verantwortung

http://www.frankwestphal.de/ExtremeProgramming.html

Page 4: Testdriven development

Testpyramide

http://martinfowler.com/bliki/TestPyramid.html

Page 5: Testdriven development

Wie?

Page 6: Testdriven development

Vorteile und Nachteile

Abfrage in der Runde

Page 7: Testdriven development

TDD und MVP VM

Beginne bei der Geschäftslogik (ggf. Services)

Lege den Presenter an und erstelle die Verbindung von

Geschäftslogik und Presenter

Entwickle parallel Unit-Tests

Befülle bei Bedarf das ViewModel

Erstelle die View mit den einzelnen Aktionen und

rufe die Presenter-Methoden auf

Unit Tests

UI Tests