SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Testgetriebene Entwicklung
       mit JavaScript
   sebastian.sanitz@it-agile.de
Write once,
run anywhere?
Ryan Dahl – 08.11.2009
Je später ein Fehler
  entdeckt wird, desto
teurer ist die Behebung.
Warten auf
                                                                           Feedback?




http://www.flickr.com/photos/powerhouse_museum/2980051095/sizes/o/in/photostream/
Drei TDD-Regeln
                    von „Uncle Bob“

Es wird kein produktiver Code geschrieben,
        ohne fehlschlagende Tests.
Es wird nur so viel Testcode geschrieben, um
       einen Fehler zu demonstrieren.
    Es wird nur so viel produktiver Code
 geschrieben, bis die Tests erfolgreich sind.
Jasmine
http://pivotal.github.com/jasmine

            Stil: BDD

             Spies

            Browser
QUnit
http://docs.jquery.com/Qunit

         Stil: xUnit
Vows
http://vowsjs.org

    Stil: BDD

    node.js
Sinon.JS
  http://sinonjs.org

 Spies, Stubs, Mocks
Fake Timers und XHR
Http://tddjs.com
  JsTestDriver
Modularisierung:
                       Dojo, requireJS..?
    Test-Tools:
JsTestDriver, YUI..?
                        Architekturen
                        MVP, MVC...?
   Refactoring:
   Werkzeuge...?
                         Mehr Katas!
Fazit
    Schnelles Feedback
   und wartbarer Code
werden mit testgetriebener
  Entwicklung ermöglicht

        ... auch mit JavaScript ;-)
Danke!
                        Fragen?




    sebastian.sanitz@it-agile.de

                        @Sanitz

Weitere ähnliche Inhalte

Andere mochten auch

Controlling by iPhone: Ihr Unternehmen in Echtzeit.
Controlling by iPhone: Ihr Unternehmen in Echtzeit.Controlling by iPhone: Ihr Unternehmen in Echtzeit.
Controlling by iPhone: Ihr Unternehmen in Echtzeit.Reporta AG
 
xl8Camp Informationen für Sponsoren
xl8Camp Informationen für Sponsorenxl8Camp Informationen für Sponsoren
xl8Camp Informationen für SponsorenTanya Quintieri
 
Französische Orgelmusik im 19. Jahrhundert, Orgelmusik und Liturgie
Französische Orgelmusik im 19. Jahrhundert, Orgelmusik und LiturgieFranzösische Orgelmusik im 19. Jahrhundert, Orgelmusik und Liturgie
Französische Orgelmusik im 19. Jahrhundert, Orgelmusik und LiturgieHans Egg
 
Atlas Copco - CTS Aftermarket Prospekt
Atlas Copco - CTS Aftermarket Prospekt Atlas Copco - CTS Aftermarket Prospekt
Atlas Copco - CTS Aftermarket Prospekt Marketing CTS
 
Freelancer in Zeiten der neuen Technologien
Freelancer in Zeiten der neuen TechnologienFreelancer in Zeiten der neuen Technologien
Freelancer in Zeiten der neuen TechnologienAnika Erdmann
 
Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.
Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.
Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.Matuluk Esvan
 
Ts seminar komplexitätsreduktion zusammenfassung v10.1
Ts seminar komplexitätsreduktion zusammenfassung v10.1Ts seminar komplexitätsreduktion zusammenfassung v10.1
Ts seminar komplexitätsreduktion zusammenfassung v10.1ThinkSimple
 
Medien im Wandel - Zukunftsmodell Journalismus
Medien im Wandel - Zukunftsmodell JournalismusMedien im Wandel - Zukunftsmodell Journalismus
Medien im Wandel - Zukunftsmodell JournalismusAnika Erdmann
 
8i family products
8i family products8i family products
8i family productsAnil Pandey
 
Animation mit Goanimate
Animation mit GoanimateAnimation mit Goanimate
Animation mit Goanimatedeutschonline
 

Andere mochten auch (20)

Kommunikation im CEO-Wechsel
Kommunikation im CEO-WechselKommunikation im CEO-Wechsel
Kommunikation im CEO-Wechsel
 
Controlling by iPhone: Ihr Unternehmen in Echtzeit.
Controlling by iPhone: Ihr Unternehmen in Echtzeit.Controlling by iPhone: Ihr Unternehmen in Echtzeit.
Controlling by iPhone: Ihr Unternehmen in Echtzeit.
 
Wissensmanagement in Kärntner KMU'S
Wissensmanagement in Kärntner KMU'SWissensmanagement in Kärntner KMU'S
Wissensmanagement in Kärntner KMU'S
 
I-KNOW 05: Wissensmanagement für KMU
I-KNOW 05: Wissensmanagement für KMUI-KNOW 05: Wissensmanagement für KMU
I-KNOW 05: Wissensmanagement für KMU
 
Lokalpresse2010weitblick
Lokalpresse2010weitblickLokalpresse2010weitblick
Lokalpresse2010weitblick
 
xl8Camp Informationen für Sponsoren
xl8Camp Informationen für Sponsorenxl8Camp Informationen für Sponsoren
xl8Camp Informationen für Sponsoren
 
Französische Orgelmusik im 19. Jahrhundert, Orgelmusik und Liturgie
Französische Orgelmusik im 19. Jahrhundert, Orgelmusik und LiturgieFranzösische Orgelmusik im 19. Jahrhundert, Orgelmusik und Liturgie
Französische Orgelmusik im 19. Jahrhundert, Orgelmusik und Liturgie
 
Atlas Copco - CTS Aftermarket Prospekt
Atlas Copco - CTS Aftermarket Prospekt Atlas Copco - CTS Aftermarket Prospekt
Atlas Copco - CTS Aftermarket Prospekt
 
Freelancer in Zeiten der neuen Technologien
Freelancer in Zeiten der neuen TechnologienFreelancer in Zeiten der neuen Technologien
Freelancer in Zeiten der neuen Technologien
 
Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.
Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.
Fliplife News: Wie Fiplife von United Prototype zu seinem Namen kam.
 
Quizlet
Quizlet Quizlet
Quizlet
 
Ts seminar komplexitätsreduktion zusammenfassung v10.1
Ts seminar komplexitätsreduktion zusammenfassung v10.1Ts seminar komplexitätsreduktion zusammenfassung v10.1
Ts seminar komplexitätsreduktion zusammenfassung v10.1
 
Medien im Wandel - Zukunftsmodell Journalismus
Medien im Wandel - Zukunftsmodell JournalismusMedien im Wandel - Zukunftsmodell Journalismus
Medien im Wandel - Zukunftsmodell Journalismus
 
Bilder im DaF
Bilder im DaFBilder im DaF
Bilder im DaF
 
8i family products
8i family products8i family products
8i family products
 
Was leisten Interim Manager in Veränderungsprozessen?
Was leisten Interim Manager in Veränderungsprozessen?Was leisten Interim Manager in Veränderungsprozessen?
Was leisten Interim Manager in Veränderungsprozessen?
 
Spb2
Spb2Spb2
Spb2
 
Unsere sprachschule
Unsere  sprachschuleUnsere  sprachschule
Unsere sprachschule
 
Wenn das Wissen auf der Strasse liegt
Wenn das Wissen auf der Strasse liegtWenn das Wissen auf der Strasse liegt
Wenn das Wissen auf der Strasse liegt
 
Animation mit Goanimate
Animation mit GoanimateAnimation mit Goanimate
Animation mit Goanimate
 

Ähnlich wie Testgetriebene Entwicklung mit JavaScript - JAX 2011

JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenChristian Trabold
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Christian Trabold
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesDas funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesChristian Güdemann
 
Christian heilmann wie javascript die welt eroberte
Christian heilmann   wie javascript die welt eroberteChristian heilmann   wie javascript die welt eroberte
Christian heilmann wie javascript die welt eroberteChristian Heilmann
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
Fighting Layout Bugs (JUG-BB 2011)
Fighting Layout Bugs (JUG-BB 2011)Fighting Layout Bugs (JUG-BB 2011)
Fighting Layout Bugs (JUG-BB 2011)Michael Tamm
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
 
How to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possibleHow to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possibleFelix Müller
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenPeter Rozek
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptSebastian Springer
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsQAware GmbH
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkFabian Lange
 
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
 

Ähnlich wie Testgetriebene Entwicklung mit JavaScript - JAX 2011 (20)

JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesDas funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPages
 
Christian heilmann wie javascript die welt eroberte
Christian heilmann   wie javascript die welt eroberteChristian heilmann   wie javascript die welt eroberte
Christian heilmann wie javascript die welt eroberte
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
Fighting Layout Bugs
Fighting Layout BugsFighting Layout Bugs
Fighting Layout Bugs
 
Fighting Layout Bugs (JUG-BB 2011)
Fighting Layout Bugs (JUG-BB 2011)Fighting Layout Bugs (JUG-BB 2011)
Fighting Layout Bugs (JUG-BB 2011)
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
How to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possibleHow to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possible
 
Kleiner Blick auf CSS3
Kleiner Blick auf CSS3Kleiner Blick auf CSS3
Kleiner Blick auf CSS3
 
DOM-based XSS
DOM-based XSSDOM-based XSS
DOM-based XSS
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScript
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 Talk
 
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
 
Enterprise JS
Enterprise JS Enterprise JS
Enterprise JS
 

Testgetriebene Entwicklung mit JavaScript - JAX 2011