Macheten für den Testdschungeldownload.microsoft.com/download/E/C/C/ECC5B836-10FF-4CDA... ·...

Post on 16-Jul-2020

1 views 0 download

Transcript of Macheten für den Testdschungeldownload.microsoft.com/download/E/C/C/ECC5B836-10FF-4CDA... ·...

© Zühlke 2012

heg

Christian Heger

Macheten für den Testdschungel

8. Oktober 2012Folie 1

Fertig? Nee, fertig ist das

nicht, da fehlen noch die Tests

© Zühlke 2012

Der Code soll so sein wie der Code ist

8. Oktober 2012Macheten für den Testdschungel | heg Folie 5

© Zühlke 2012

Perfekte Code Coverage

8. Oktober 2012Macheten für den Testdschungel | heg Folie 6

© Zühlke 2012

Test First

8. Oktober 2012Macheten für den Testdschungel | heg Folie 7

Halbe Stunde für das Feature...

und dann muss ich die Integrations-

Tests gerade ziehen.Also zwei Tage.

© Zühlke 2012

Szenario: Kunde bekommt leckeren Kaffee

Wenn die „Kaffee“-Taste gedrückt wird

Dann werden 15 Bohnen je nach gewähltem Mahlgrad gemahlen

Und werden 3.5g Kaffeepulver mit dem Kaffeepulverförderer in den Brühbehälter befördert

Und wird Wasserbehälter gepumpt, Spannung angelegt, und das Wasser auf 92°C erhitzt

Und die Tasse enthält leckeren Kaffee

Überspezifizierte Tests

8. Oktober 2012Macheten für den Testdschungel | heg Folie 10

© Zühlke 2012

Was teste ich da eigentlich?

System

Integration

Unit8. Oktober 2012Macheten für den Testdschungel | heg Folie 11

View

ViewModel

Controller

Service Service Service

Repository Proxy

Web ServiceDB Ware

house Files

Web Service

Repository

Workflow Service Workflow Service

Helper

Helper

Config

View

ViewModel

© Zühlke 2012

Segmentierung

8. Oktober 2012Macheten für den Testdschungel | heg

Module1 Module2 Module3

View

ViewModel

Controller

Services

Repository

Database

Folie 13

© Zühlke 2012

Test Driven Development

8. Oktober 2012Macheten für den Testdschungel | heg

Test Code

Folie 14

© Zühlke 2012

Behavior Driven Development

8. Oktober 2012Macheten für den Testdschungel | heg

Spec Test Code

Folie 15

© Zühlke 2012

Behavior Driven Development

8. Oktober 2012Macheten für den Testdschungel | heg Folie 16

Was wir hier machen?

Das Build läuft noch ne halbe

Stunde.

© Zühlke 2012

Keine Isolation langsamer Komponenten

8. Oktober 2012Macheten für den Testdschungel | heg Folie 18

© Zühlke 2012

Abhängige Tests

8. Oktober 2012Macheten für den Testdschungel | heg Folie 19

Das Build ist rot!

Och, das ist bestimmt nur

wieder so ein Test.

Ich starte das einfach noch mal,

dann wird das schon.

© Zühlke 2012

Vorgestellte Werkzeuge

Visual Studio 2012

• Verbesserter Test Runner, auch für xUnit und NUnit

• Code Coverage

• Duplikatensuche (Code Clones)

• Tests nach Build ausführen

8. Oktober 2012Macheten für den Testdschungel | heg Folie 21

© Zühlke 2012

Vorgestellte Werkzeuge

NCrunch

• Lässt Tests sofort beim Schreiben laufen

• Visuelle, sofortige Test Coverage

• www.ncrunch.net

SpecFlow

• BDD für .NET

• Erzeugt Unit Test Code aus Spezifikation + Schritt-Definition

• www.specflow.org

8. Oktober 2012Macheten für den Testdschungel | heg Folie 22

Fragen?Meinungen?Kommentare?

Christian Hegerabout.me/christian.heger