Testdriven development

Preview:

DESCRIPTION

Ein Einstieg zur testgetriebenen Software-Entwicklung.

Citation preview

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

15‘ Minuten

September 2014, Patrick Koglin

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

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

Testpyramide

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

Wie?

Vorteile und Nachteile

Abfrage in der Runde

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

Recommended