SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Martin Ruprecht, 06. Juni 2012


                Test-Driven JavaScript
                Development

Montag, 11. Juni 2012
Guten Morgen!

                        • Martin Ruprecht
                        • Entwickler bei Mayflower GmbH seit 2008
                        • @mrupilo
                        • martin.ruprecht@mayflower.de

Montag, 11. Juni 2012
Java Tools
Montag, 11. Juni 2012
JavaScript Tools
Montag, 11. Juni 2012
„Um professionell JavaScript
                           entwickeln zu können,
                                 muss ich
                 Tool- und Test-getrieben arbeiten!“




Montag, 11. Juni 2012
jsTestDriver




Montag, 11. Juni 2012
Server & Testframework
Montag, 11. Juni 2012
Montag, 11. Juni 2012
Demo!




Montag, 11. Juni 2012
Test-Driven
                        Development!



Montag, 11. Juni 2012
Tests sind Feedback!
Montag, 11. Juni 2012
Tests sind Doku!
Montag, 11. Juni 2012
Tests als Basis für CI
Montag, 11. Juni 2012
TDD feels good!
Montag, 11. Juni 2012
„Der TDD Workflow
                          muss rocken!“




Montag, 11. Juni 2012
Tests müssen schnell sein!
Montag, 11. Juni 2012
Tests müssen isoliert von einander
                                     laufen!
Montag, 11. Juni 2012
Tests müssen wiederholbar sein!
Montag, 11. Juni 2012
„Bei TDD muss ich mein
                   Denken umkehren!“




Montag, 11. Juni 2012
TDD Mantra
Montag, 11. Juni 2012
Start simple!
Montag, 11. Juni 2012
Test fail!
Montag, 11. Juni 2012
Implementiere die Funktionalität in
                          der einfachsten Form
Montag, 11. Juni 2012
Test win!
Montag, 11. Juni 2012
Refactoring!
Montag, 11. Juni 2012
...
Montag, 11. Juni 2012
Ergebnis: Clean Code that works!
Montag, 11. Juni 2012
Demo!




Montag, 11. Juni 2012
Fazit
                        • Professionelle Entwicklung erfolgt Tool- und
                          Test-getrieben.
                        • Test-Driven Development macht nicht nur
                          Spaß sondern steigert die Qualität enorm.
                        • RED / GREEN / REFACTOR
                        • Coding Katas bieten eine optimale
                          Grundlage um TDD zu lernen / üben.


Montag, 11. Juni 2012
Fragen?
Montag, 11. Juni 2012
Wie kann ich weitermachen?
                        • Mehr Infos zu jsTestDriver:
                         • Sebastian Springer, Qualitätssicherung bei
                            Webprojekten (Salon 1 14.00 Uhr)
                          • Jakob Westhoff, JavaScript QA: jsTestDriver
                            & sinon.js richtig nutzen (Salon 2 14.00 Uhr)
                        • Nimm teil an einem Coding Dojo / mache
                          Coding Katas


Montag, 11. Juni 2012
Literatur

                        • Test-Driven Development by Example, Kent
                          Beck
                        • Test-Driven JavaScript Development,
                          Christian Johansen




Montag, 11. Juni 2012
Feedback please!

                        • https://joind.in/6653
                        • Twitter @mrupilo
                        • martin.ruprecht@mayflower.de


Montag, 11. Juni 2012
Vielen Dank für eure
                          Aufmerksamkeit!
Montag, 11. Juni 2012
Bildnachweis
                        •   http://www.flickr.com/photos/ontario_wanderer/3496185271/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/global-jet/483825828/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/mortimer/3758383978/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/estimmel/181914110/
                        •   http://www.flickr.com/photos/mybigtrip/68011728/
                        •   http://www.flickr.com/photos/ohsohappytogether/4102831371
                        •   http://www.flickr.com/photos/gnislew/629816655
                        •   http://www.flickr.com/photos/zerodoze/3254882752/sizes/m/in/photostream/
                        •   http://www.flickr.com/photos/flrnt/457917184/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/bohemiandolls/4662564268/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/seandreilinger/133305683/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/68114781@N04/6286488787/
                        •   http://www.flickr.com/photos/mercurialn/2419237431/sizes/z/in/photostream/
                        •   http://www.flickr.com/photos/42931449@N07/5397530925/sizes/z/in/photostream/




Montag, 11. Juni 2012

Más contenido relacionado

Destacado

Activity Streams And Contexts
Activity Streams And ContextsActivity Streams And Contexts
Activity Streams And Contexts
Bruno Pedro
 
Autenticação e Autorização (in portuguese)
Autenticação e Autorização (in portuguese)Autenticação e Autorização (in portuguese)
Autenticação e Autorização (in portuguese)
Bruno Pedro
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
Mayflower GmbH
 
Who's using your API?
Who's using your API?Who's using your API?
Who's using your API?
Bruno Pedro
 

Destacado (20)

Link extraction and classification
Link extraction and classificationLink extraction and classification
Link extraction and classification
 
Api Design & The Paris Subway
Api Design & The Paris SubwayApi Design & The Paris Subway
Api Design & The Paris Subway
 
tarpipe WordPress plugin demo
tarpipe WordPress plugin demotarpipe WordPress plugin demo
tarpipe WordPress plugin demo
 
Activity Streams And Contexts
Activity Streams And ContextsActivity Streams And Contexts
Activity Streams And Contexts
 
The Executable Web
The Executable WebThe Executable Web
The Executable Web
 
Maintainable consumers
Maintainable consumersMaintainable consumers
Maintainable consumers
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Autenticação e Autorização (in portuguese)
Autenticação e Autorização (in portuguese)Autenticação e Autorização (in portuguese)
Autenticação e Autorização (in portuguese)
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Who's using your API?
Who's using your API?Who's using your API?
Who's using your API?
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
APIs Love to Chat
APIs Love to ChatAPIs Love to Chat
APIs Love to Chat
 
How to Automate API Discovery
How to Automate API DiscoveryHow to Automate API Discovery
How to Automate API Discovery
 
The importance of /me
The importance of /meThe importance of /me
The importance of /me
 
Is OAuth Really Secure?
Is OAuth Really Secure?Is OAuth Really Secure?
Is OAuth Really Secure?
 
Information Retrieval Challenges
Information Retrieval ChallengesInformation Retrieval Challenges
Information Retrieval Challenges
 
API Code Generation
API Code GenerationAPI Code Generation
API Code Generation
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
 

Similar a Test-Driven JavaScript Development IPC

Macheten für den Testdschungel
Macheten für den TestdschungelMacheten für den Testdschungel
Macheten für den Testdschungel
Christian Heger
 

Similar a Test-Driven JavaScript Development IPC (10)

Seo fashion
Seo fashionSeo fashion
Seo fashion
 
Macheten für den Testdschungel
Macheten für den TestdschungelMacheten für den Testdschungel
Macheten für den Testdschungel
 
Lucenes Welt - Ordnen, finden, klassifizieren
Lucenes Welt - Ordnen, finden, klassifizierenLucenes Welt - Ordnen, finden, klassifizieren
Lucenes Welt - Ordnen, finden, klassifizieren
 
eparo – Usability 2.0 (Vortrag OMF Hamburg – Rolf Schulte Strathaus)
eparo – Usability 2.0 (Vortrag OMF Hamburg – Rolf Schulte Strathaus)eparo – Usability 2.0 (Vortrag OMF Hamburg – Rolf Schulte Strathaus)
eparo – Usability 2.0 (Vortrag OMF Hamburg – Rolf Schulte Strathaus)
 
120715 agile requirements_handout
120715 agile requirements_handout120715 agile requirements_handout
120715 agile requirements_handout
 
10 Tipps und Tricks für Content Affiliates - Affiliate Conference 2011
10 Tipps und Tricks für Content Affiliates - Affiliate Conference 201110 Tipps und Tricks für Content Affiliates - Affiliate Conference 2011
10 Tipps und Tricks für Content Affiliates - Affiliate Conference 2011
 
Agile Softwareentwicklung mit Lotus Notes
Agile Softwareentwicklung mit Lotus NotesAgile Softwareentwicklung mit Lotus Notes
Agile Softwareentwicklung mit Lotus Notes
 
MGB speed creation_fusionmodeling_20120712
MGB speed creation_fusionmodeling_20120712MGB speed creation_fusionmodeling_20120712
MGB speed creation_fusionmodeling_20120712
 
18 Tips fuer gute Praesentationen
18 Tips fuer gute Praesentationen18 Tips fuer gute Praesentationen
18 Tips fuer gute Praesentationen
 
Lucene's Welt
Lucene's WeltLucene's Welt
Lucene's Welt
 

Más de Mayflower GmbH

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
Mayflower GmbH
 

Más de Mayflower GmbH (20)

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit Composer
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Max Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMax Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-Monitoring
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian Facker
 
REST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitREST - Hypermedia und Sicherheit
REST - Hypermedia und Sicherheit
 
Zend Framework meets Doctrine 2
Zend Framework meets Doctrine 2Zend Framework meets Doctrine 2
Zend Framework meets Doctrine 2
 

Test-Driven JavaScript Development IPC