SlideShare ist ein Scribd-Unternehmen logo
Testgetriebene Entwicklung mit JavaScript

         sebastian.sanitz@it-agile.de
Agenda
●   Motivation
●   TDD
●   Kata
●   Werkzeuge
●   Architektur
●   Fazit
●   Fragen
Write once,
run anywhere?
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010
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.
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Vows
   http://vowsjs.org

       Stil: BDD

     Mocks: Nein

Automatisierung: node.js
Jasmine
http://pivotal.github.com/jasmine

            Stil: BDD

          Mocks: Spies

Automatisierung: Ruby & Selenium
QUnit
http://docs.jquery.com/Qunit

         Stil: Unit

        Mocks: Nein

Automatisierung: Selenium?
Testgetriebene Entwicklung mit JavaScript - webtech 2010
http://thebeat.iloveny.com/the-art-of-the-brick%C2%AE-opens-at-strong-national-museum-of-play%C2%AE-december-5-1964.html
http://www.bitrebels.com/geek/cant-afford-a-car-build-a-lego-one/
MVP?

        Presenter




Model               View
„Presenter-First“
sind Tests von „außen“ nach „innen“
http://tddjs.com




   TODO:
JsTestDriver
Modularisierung:
                       Dojo, requireJS..?
    Test-Tools:
JsTestDriver, YUI..?
                        Architekturen
                        MVP, MVC...?
   Refactoring:
   Werkzeuge...?
                         Mehr Katas!
Fazit


Testgetriebene Entwicklung
 mit JavaScript ist möglich!
Danke!
         Fragen?

Weitere ähnliche Inhalte

Andere mochten auch

Twitter für DaF
Twitter für DaFTwitter für DaF
Twitter für DaF
deutschonline
 
Atlas Copco Gesamtkatalog 2011
Atlas Copco Gesamtkatalog 2011Atlas Copco Gesamtkatalog 2011
Atlas Copco Gesamtkatalog 2011
Marketing CTS
 
Fersehturmbeispiel
FersehturmbeispielFersehturmbeispiel
Fersehturmbeispiel
Sebastian Thiele
 
Russian churches
Russian churchesRussian churches
Russian churches
Lavennder M
 
Social Media Basics_Soziale Arbeit
Social Media Basics_Soziale ArbeitSocial Media Basics_Soziale Arbeit
Social Media Basics_Soziale Arbeit
Sandra Sabitzer
 
Seminar über Arbeitsmethodik
Seminar über ArbeitsmethodikSeminar über Arbeitsmethodik
Seminar über Arbeitsmethodik
ThinkSimple
 
Ts seminar komplexitätsreduktion zusammenfassung v4.1
Ts seminar komplexitätsreduktion zusammenfassung v4.1Ts seminar komplexitätsreduktion zusammenfassung v4.1
Ts seminar komplexitätsreduktion zusammenfassung v4.1
ThinkSimple
 
Agenda Setting für Gründer
Agenda Setting für GründerAgenda Setting für Gründer
Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...
Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...
Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...
Selbständig
 
Autorensysteme allgemein
Autorensysteme allgemeinAutorensysteme allgemein
Autorensysteme allgemein
deutschonline
 
Von der Kunst, sich sicher und elegant im Social Web zu bewegen.
Von der Kunst, sich sicher und elegant im Social Web zu bewegen. Von der Kunst, sich sicher und elegant im Social Web zu bewegen.
Von der Kunst, sich sicher und elegant im Social Web zu bewegen.
Monika Thoma
 
Choco tierra mia
Choco tierra miaChoco tierra mia
Choco tierra mia
freddy palacios
 
Nsw outsourcing outtasking
Nsw outsourcing outtaskingNsw outsourcing outtasking
Nsw outsourcing outtasking
BTC AG
 
Social Media: Treiber des Medienwandels
Social Media: Treiber des MedienwandelsSocial Media: Treiber des Medienwandels
Social Media: Treiber des Medienwandels
Jost Broichmann
 
10 schonsten slovakischen worter
10 schonsten slovakischen worter10 schonsten slovakischen worter
10 schonsten slovakischen worter
Martina Malečková
 
Unsere heimatstadt pskow
Unsere heimatstadt pskowUnsere heimatstadt pskow
Unsere heimatstadt pskow
deutschonline
 
Imperativ training woche 3.2
Imperativ training woche 3.2Imperativ training woche 3.2
Imperativ training woche 3.2
deutschonline
 

Andere mochten auch (20)

Twitter für DaF
Twitter für DaFTwitter für DaF
Twitter für DaF
 
Atlas Copco Gesamtkatalog 2011
Atlas Copco Gesamtkatalog 2011Atlas Copco Gesamtkatalog 2011
Atlas Copco Gesamtkatalog 2011
 
Fersehturmbeispiel
FersehturmbeispielFersehturmbeispiel
Fersehturmbeispiel
 
Russian churches
Russian churchesRussian churches
Russian churches
 
Social Media Basics_Soziale Arbeit
Social Media Basics_Soziale ArbeitSocial Media Basics_Soziale Arbeit
Social Media Basics_Soziale Arbeit
 
Seminar über Arbeitsmethodik
Seminar über ArbeitsmethodikSeminar über Arbeitsmethodik
Seminar über Arbeitsmethodik
 
Halloween2
Halloween2Halloween2
Halloween2
 
Ts seminar komplexitätsreduktion zusammenfassung v4.1
Ts seminar komplexitätsreduktion zusammenfassung v4.1Ts seminar komplexitätsreduktion zusammenfassung v4.1
Ts seminar komplexitätsreduktion zusammenfassung v4.1
 
Agenda Setting für Gründer
Agenda Setting für GründerAgenda Setting für Gründer
Agenda Setting für Gründer
 
Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...
Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...
Trotz Zahnspange selbstbewusst und cool sein mit Reinigungstipps für feste Za...
 
Autorensysteme allgemein
Autorensysteme allgemeinAutorensysteme allgemein
Autorensysteme allgemein
 
10 schonsten slowakischen
10 schonsten slowakischen10 schonsten slowakischen
10 schonsten slowakischen
 
Von der Kunst, sich sicher und elegant im Social Web zu bewegen.
Von der Kunst, sich sicher und elegant im Social Web zu bewegen. Von der Kunst, sich sicher und elegant im Social Web zu bewegen.
Von der Kunst, sich sicher und elegant im Social Web zu bewegen.
 
Choco tierra mia
Choco tierra miaChoco tierra mia
Choco tierra mia
 
Nsw outsourcing outtasking
Nsw outsourcing outtaskingNsw outsourcing outtasking
Nsw outsourcing outtasking
 
Social Media: Treiber des Medienwandels
Social Media: Treiber des MedienwandelsSocial Media: Treiber des Medienwandels
Social Media: Treiber des Medienwandels
 
10 schonsten slovakischen worter
10 schonsten slovakischen worter10 schonsten slovakischen worter
10 schonsten slovakischen worter
 
Unsere heimatstadt pskow
Unsere heimatstadt pskowUnsere heimatstadt pskow
Unsere heimatstadt pskow
 
social
socialsocial
social
 
Imperativ training woche 3.2
Imperativ training woche 3.2Imperativ training woche 3.2
Imperativ training woche 3.2
 

Ähnlich wie Testgetriebene Entwicklung mit JavaScript - webtech 2010

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 Güdemann
 
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
Nico Orschel
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
Sebastian Neubert
 
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
Christian 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 Nachhaltigkeit
Nico Orschel
 
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
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
Patrick Baumgartner
 
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
Christian Trabold
 
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
Felix Müller
 
objectiF extrem
objectiF extremobjectiF extrem
objectiF extrem
Olaf Lewitz
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
Christian Giesswein
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
Hussein Morsy
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
Dennis Wilson
 
Design OOA OOD
Design OOA OODDesign OOA OOD
Design OOA OOD
Jeffrey Groneberg
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Kai Donato
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
punkt.de GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
QAware GmbH
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
.NET User Group Rhein-Neckar
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
Christian Baranowski
 
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
 

Ähnlich wie Testgetriebene Entwicklung mit JavaScript - webtech 2010 (20)

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
 
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
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
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
 
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
 
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
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
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
 
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
 
objectiF extrem
objectiF extremobjectiF extrem
objectiF extrem
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Design OOA OOD
Design OOA OODDesign OOA OOD
Design OOA OOD
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
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.
 

Testgetriebene Entwicklung mit JavaScript - webtech 2010