SlideShare uma empresa Scribd logo
1 de 14
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 haben 
soll 
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 installieren 
http://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, ohne 
Fehler!
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.

Mais conteúdo relacionado

Mais procurados

BASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous Delivery
BASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous DeliveryBASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous Delivery
BASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous DeliveryMarc Müller
 
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der WebentwicklungSebastian Springer
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktischadesso AG
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 
SEODAY2016 - 10 SEO Coder Hooks
SEODAY2016 - 10 SEO Coder HooksSEODAY2016 - 10 SEO Coder Hooks
SEODAY2016 - 10 SEO Coder HooksConstantin
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Deliveryadesso AG
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!JanWeinschenker
 
Continiuous Integration and Delivery with Bamboo
Continiuous Integration and Delivery with BambooContiniuous Integration and Delivery with Bamboo
Continiuous Integration and Delivery with BambooPer Bernhardt
 
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018Puppet
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsChristian Erhardt
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftBart Zwager
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit JenkinsStephan Schmidt
 
Erfahrungsbericht Ausführbare Spezifikationen im Projektalltag
Erfahrungsbericht Ausführbare Spezifikationen im ProjektalltagErfahrungsbericht Ausführbare Spezifikationen im Projektalltag
Erfahrungsbericht Ausführbare Spezifikationen im ProjektalltagJens Nerche
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Alex Sili
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
Umzug eines Hochlast-Dienstes
Umzug eines Hochlast-DienstesUmzug eines Hochlast-Dienstes
Umzug eines Hochlast-DienstesPer Bernhardt
 
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickTaugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickPhilipp Burgmer
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Jürgen Gutsch
 

Mais procurados (20)

BASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous Delivery
BASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous DeliveryBASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous Delivery
BASTA Spring 2018 - DevOps mit TFS: Releasepipelines und Continuous Delivery
 
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
 
Continuous Delivery praktisch
Continuous Delivery praktischContinuous Delivery praktisch
Continuous Delivery praktisch
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 
SEODAY2016 - 10 SEO Coder Hooks
SEODAY2016 - 10 SEO Coder HooksSEODAY2016 - 10 SEO Coder Hooks
SEODAY2016 - 10 SEO Coder Hooks
 
Agilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous DeliveryAgilität, Snapshots und Continuous Delivery
Agilität, Snapshots und Continuous Delivery
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Continiuous Integration and Delivery with Bamboo
Continiuous Integration and Delivery with BambooContiniuous Integration and Delivery with Bamboo
Continiuous Integration and Delivery with Bamboo
 
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018DACH - Continuous delivery for Puppet Enterprise 08/09/2018
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code Reviews
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei Technosoft
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit Jenkins
 
Erfahrungsbericht Ausführbare Spezifikationen im Projektalltag
Erfahrungsbericht Ausführbare Spezifikationen im ProjektalltagErfahrungsbericht Ausführbare Spezifikationen im Projektalltag
Erfahrungsbericht Ausführbare Spezifikationen im Projektalltag
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
Umzug eines Hochlast-Dienstes
Umzug eines Hochlast-DienstesUmzug eines Hochlast-Dienstes
Umzug eines Hochlast-Dienstes
 
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickTaugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
 

Destaque

11 Fotos Que Hicieron Historia
11 Fotos Que Hicieron Historia11 Fotos Que Hicieron Historia
11 Fotos Que Hicieron HistoriaJorge Llosa
 
Conseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas OperativosConseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas Operativosjuan3469
 
ÁNGELES DE CUATRO PATAS
ÁNGELES DE CUATRO PATASÁNGELES DE CUATRO PATAS
ÁNGELES DE CUATRO PATASJorge Llosa
 
Petitionsausschuss
PetitionsausschussPetitionsausschuss
PetitionsausschussMarc Manthey
 
La grandeza del mar
La grandeza del marLa grandeza del mar
La grandeza del marJorge Llosa
 
Einführung in die Online-Recherche und Dokumentenbeschaffung in Frankreich
Einführung in die Online-Recherche und Dokumentenbeschaffung in FrankreichEinführung in die Online-Recherche und Dokumentenbeschaffung in Frankreich
Einführung in die Online-Recherche und Dokumentenbeschaffung in FrankreichMareike König
 
Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...
Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...
Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...Tom Sporer
 
No Me Llames Extranjero
No Me Llames ExtranjeroNo Me Llames Extranjero
No Me Llames ExtranjeroJorge Llosa
 
El Arte De Poblete
El Arte De PobleteEl Arte De Poblete
El Arte De PobleteJorge Llosa
 
Stoeckel 7 Mistakes Requirements Engineering
Stoeckel 7 Mistakes Requirements EngineeringStoeckel 7 Mistakes Requirements Engineering
Stoeckel 7 Mistakes Requirements EngineeringVisure Solutions
 
Bildung durch Verantwortung: Das Augsburger Modell
Bildung durch Verantwortung: Das Augsburger ModellBildung durch Verantwortung: Das Augsburger Modell
Bildung durch Verantwortung: Das Augsburger ModellTom Sporer
 

Destaque (20)

11 Fotos Que Hicieron Historia
11 Fotos Que Hicieron Historia11 Fotos Que Hicieron Historia
11 Fotos Que Hicieron Historia
 
Conseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas OperativosConseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas Operativos
 
ÁNGELES DE CUATRO PATAS
ÁNGELES DE CUATRO PATASÁNGELES DE CUATRO PATAS
ÁNGELES DE CUATRO PATAS
 
salt des freu/RUA
salt des freu/RUAsalt des freu/RUA
salt des freu/RUA
 
Petitionsausschuss
PetitionsausschussPetitionsausschuss
Petitionsausschuss
 
FRASES CELEBRES
FRASES CELEBRESFRASES CELEBRES
FRASES CELEBRES
 
LA VIDA
LA VIDALA VIDA
LA VIDA
 
BIRTH MICELLANEOUS MB
BIRTH MICELLANEOUS MBBIRTH MICELLANEOUS MB
BIRTH MICELLANEOUS MB
 
La grandeza del mar
La grandeza del marLa grandeza del mar
La grandeza del mar
 
Einführung in die Online-Recherche und Dokumentenbeschaffung in Frankreich
Einführung in die Online-Recherche und Dokumentenbeschaffung in FrankreichEinführung in die Online-Recherche und Dokumentenbeschaffung in Frankreich
Einführung in die Online-Recherche und Dokumentenbeschaffung in Frankreich
 
Surrealismo
SurrealismoSurrealismo
Surrealismo
 
El Quijote
El QuijoteEl Quijote
El Quijote
 
Besser schlafen; Besser leben!
Besser schlafen; Besser leben!Besser schlafen; Besser leben!
Besser schlafen; Besser leben!
 
HOTEL SINGAPUR
HOTEL SINGAPUR   HOTEL SINGAPUR
HOTEL SINGAPUR
 
Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...
Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...
Bürgerschaftliches Engagement und zivilgesellschaftlicher Transfer an Hochsch...
 
No Me Llames Extranjero
No Me Llames ExtranjeroNo Me Llames Extranjero
No Me Llames Extranjero
 
Mujeres
MujeresMujeres
Mujeres
 
El Arte De Poblete
El Arte De PobleteEl Arte De Poblete
El Arte De Poblete
 
Stoeckel 7 Mistakes Requirements Engineering
Stoeckel 7 Mistakes Requirements EngineeringStoeckel 7 Mistakes Requirements Engineering
Stoeckel 7 Mistakes Requirements Engineering
 
Bildung durch Verantwortung: Das Augsburger Modell
Bildung durch Verantwortung: Das Augsburger ModellBildung durch Verantwortung: Das Augsburger Modell
Bildung durch Verantwortung: Das Augsburger Modell
 

Semelhante a Das funktionierte doch schon einmal! - JUnit Testing in XPages

TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP UnitsCadaxo GmbH
 
Testen mit, durch und in Scrum
Testen mit, durch und in ScrumTesten mit, durch und in Scrum
Testen mit, durch und in ScrumFrank Düsterbeck
 
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Sebastian Sanitz
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011Ulrich Krause
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018Christian Mücke
 
UI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis NachhaltigkeitUI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis NachhaltigkeitNico Orschel
 
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.Stephan Schmidt
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitNico Orschel
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 
Einführung in Paper Prototyping
Einführung in Paper PrototypingEinführung in Paper Prototyping
Einführung in Paper PrototypingTobias Adam
 
Exploratives Testen – ein Überblick und Praxisbeispiele
Exploratives Testen – ein Überblick und PraxisbeispieleExploratives Testen – ein Überblick und Praxisbeispiele
Exploratives Testen – ein Überblick und PraxisbeispieleSven Schirmer
 
Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013superflomo
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentralePatric Schmid
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen solltenStephan Schmidt
 

Semelhante a Das funktionierte doch schon einmal! - JUnit Testing in XPages (20)

TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP Units
 
objectiF extrem
objectiF extremobjectiF extrem
objectiF extrem
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
Testen mit, durch und in Scrum
Testen mit, durch und in ScrumTesten mit, durch und in Scrum
Testen mit, durch und in Scrum
 
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
UI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis NachhaltigkeitUI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
 
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten.
 
PHP mit Paul Bocuse
PHP mit Paul BocusePHP mit Paul Bocuse
PHP mit Paul Bocuse
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 
Einführung in Paper Prototyping
Einführung in Paper PrototypingEinführung in Paper Prototyping
Einführung in Paper Prototyping
 
Exploratives Testen – ein Überblick und Praxisbeispiele
Exploratives Testen – ein Überblick und PraxisbeispieleExploratives Testen – ein Überblick und Praxisbeispiele
Exploratives Testen – ein Überblick und Praxisbeispiele
 
Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013Stay calm & keep shipping - iOS DevCon 2013
Stay calm & keep shipping - iOS DevCon 2013
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
 

Mais de Christian Güdemann

Your App deserves more – The Art of App Modernization
Your App deserves more – The Art of App ModernizationYour App deserves more – The Art of App Modernization
Your App deserves more – The Art of App ModernizationChristian Güdemann
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersChristian Güdemann
 
bccon.de 2014 - Das Rad nicht neu erfinden!
bccon.de 2014 - Das Rad nicht neu erfinden!bccon.de 2014 - Das Rad nicht neu erfinden!
bccon.de 2014 - Das Rad nicht neu erfinden!Christian Güdemann
 
Dev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the WheelDev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the WheelChristian Güdemann
 
BP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTF
BP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTFBP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTF
BP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTFChristian Güdemann
 

Mais de Christian Güdemann (9)

Your App deserves more – The Art of App Modernization
Your App deserves more – The Art of App ModernizationYour App deserves more – The Art of App Modernization
Your App deserves more – The Art of App Modernization
 
SmartNSF
SmartNSFSmartNSF
SmartNSF
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
 
Develop 4 Developers
Develop 4 DevelopersDevelop 4 Developers
Develop 4 Developers
 
That worked before
That worked beforeThat worked before
That worked before
 
bccon.de 2014 - Das Rad nicht neu erfinden!
bccon.de 2014 - Das Rad nicht neu erfinden!bccon.de 2014 - Das Rad nicht neu erfinden!
bccon.de 2014 - Das Rad nicht neu erfinden!
 
Dev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the WheelDev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the Wheel
 
BP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTF
BP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTFBP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTF
BP207: Don't Reinvent the Wheel - (Re)use Open Source Software From OpenNTF
 
OpenNTF Essentials
OpenNTF EssentialsOpenNTF Essentials
OpenNTF Essentials
 

Das funktionierte doch schon einmal! - JUnit Testing in XPages

  • 1. 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
  • 2. Freitags, 15.07 Uhr Noch diese kleine Änderung, dann ist der Kunde zufrieden!
  • 3. Am Montag danach …. 11:22 Es läuft aber gar nix mehr!
  • 4. 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
  • 5. 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)
  • 6. TDD – Schreib einen Test  Ein Test dokumentiert ganz genau was mein Code für ein Resultat haben soll int amountCHF = bank.changeEuro2CHF( 100 ); assertEquals( 120, amountCHF) PS: dieser Test wird von der Schweizer Nationalbank jeden Tag durchgeführt
  • 7. Und das kann man in XPages machen? • YES – OpenNTF sei dank oder so ;) • org.openntf.junit.xsp herunter laden und im Designer und Server installieren http://openntf.org/main.nsf/project.xsp?r=project/org.openntf.junit.xsp
  • 9. Ä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!
  • 10. 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, ohne Fehler!
  • 11. 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!
  • 12. Und das kann man auch noch machen! • Neues API kennen lernen -> Schreib doch ein paar Tests • Verstehen was mein Mitarbeiter wollte -> Lies die Tests
  • 13. 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
  • 14. 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.