Das funktionierte doch schon einmal! - JUnit Testing in XPages

Post on 11-Jul-2015

75 views 0 download

Transcript of Das funktionierte doch schon einmal! - JUnit Testing in XPages

41. DNUG Konferenz · 11./12. November 2014 · Leipzig

Das funktionierte doch mal

JUnit Testing in XPages

Christan Güdemann

WebGate Consulting AG / OpenNTF

www.webgate.biz / www.openntf.org

christian.guedemann@webgate.biz

@guedeWebGate

Freitags, 15.07 Uhr

Noch diese kleine

Änderung, dann ist der

Kunde zufrieden!

Am Montag danach …. 11:22

Es läuft aber gar nix mehr!

Testen aber automatisch bitte!

Aus der Sicht des Benutzers

Funktioniert das UI

Werden die Daten validiert

die ich eingebe

Wenn ich A klicke passiert B

Aus der Sicht des Entwicklers

Tut mein Code, das was ich

erwarte?

Werden fehlerhafte Zustände

erkannt

Ist alles von meinem Code

getestet

Testen vor dem Programmieren?

Das Mantra des TDD

Schreib einen Test

Mach das der Test kompiliert

Der Test darf nicht erfolgreich sein

Mach das der Test erfolgreich ist

Entferne allen doppelten Code

(http://de.wikipedia.org/wiki/Testgetriebene_Entwicklung)

TDD – Schreib einen Test

Ein Test dokumentiert ganz genau was mein Code für ein Resultat habensoll

int amountCHF = bank.changeEuro2CHF( 100 );

assertEquals( 120, amountCHF)

PS: dieser Test wird von der Schweizer Nationalbank jeden Tag durchgeführt

Und das kann man in XPages machen?

• YES – OpenNTF sei dank oder so ;)

• org.openntf.junit.xsp herunter laden und

im Designer und Server installierenhttp://openntf.org/main.nsf/project.xsp?r=project/org.openntf.junit.xsp

DEMO

Ähm…. und mein Team?

• Das kostet doch mehr Zeit!

• So haben wir noch nie entwickelt

• Da gibt es X Einträge im Web, die

belegen, dass TDD bullDINGS ist!

Zeit für ein Experiment

• WebGate Consulting hat das Projekt“goodmeeting.biz” streng nach TDD durchgeführt

• Mitten drin mussten wir einen Teil refactoren– War in 60 Minuten gemacht, ohneFehler!

Warum ich TDD liebe

• Ich bin relaxter, weil ich weiss, dass der

Code den ich geschrieben habe so

funktioniert, wie ich mir das vorgestellt

habe!

Und das kann man auch noch machen!

• Neues API kennen lernen -> Schreib doch

ein paar Tests

• Verstehen was mein Mitarbeiter wollte ->

Lies die Tests

Literatur

• Test Driven Development by Example

(Kent Beck)http://www.amazon.de/Driven-Development-Example-Addison-Wesley-

Signature/dp/0321146530/ref=sr_1_1?ie=UTF8&qid=1415217300&sr=8-1&keywords=tdd+by+example

41. DNUG Konferenz · 11./12. November 2014 · Leipzig

Bitte nehmen Sie sich die Zeit,

um diesen Vortrag zu bewerten

(A6-Block in Ihren Konferenzunterlagen)

Rückgabe

Geben Sie das ausgefüllte Bewertungsblatt bei

dem Moderator/Betreuer Ihres Vortrages bzw.

am Tagungscounter der DNUG ab.

Verlosung

Unter allen Teilnehmern

wird ein iPod nano verlost.