Was ist TDD?
     Bernd Schiffer
     @berndschiffer
     bernd.schiffer@it-agile.de


     17.06.2010



Montag, 21. Juni...
Bernd Schiffer
                        ‣ Agile
                          Softwareentwicklung
                          sei...
it-agile
                        ‣ Agile
                          Softwareentwicklung
                          und Berat...
Was ist
  TDD?
Montag, 21. Juni 2010
Implementieren

                              I
Montag, 21. Juni 2010
Implementieren   Testen

                        I    T
Montag, 21. Juni 2010
Implementieren   Testen

                        I    T
Montag, 21. Juni 2010
Testen   Implementieren

                         T             I
Montag, 21. Juni 2010
je höher desto besser         besseres lokales Maximum




                          lokales Maximum
                   ei...
Testen   Implementieren

                         T             I
Montag, 21. Juni 2010
Testen   Implementieren

                         T             I
            Refactoring          R
Montag, 21. Juni 2010
Demo!
Montag, 21. Juni 2010
Kata



Montag, 21. Juni 2010
Montag, 21. Juni 2010
Red         Green

                        T            I
                   Refactor     R
                              ...
Lohnt sich
                  TDD?
Montag, 21. Juni 2010
Test
               First
Montag, 21. Juni 2010
Refactoring
Montag, 21. Juni 2010
Simplizität
Montag, 21. Juni 2010
Lohnt sich
Test First?
Montag, 21. Juni 2010
Automatisierte
    Tests
Montag, 21. Juni 2010
Montag, 21. Juni 2010
Investition
                        $ 100 Mio.

Montag, 21. Juni 2010
Bug während TDD

                          =$5
Montag, 21. Juni 2010
Bug während Full Build

                        = $ 50
Montag, 21. Juni 2010
Bug während Integrationstest


                  = $ 500
Montag, 21. Juni 2010
Bug während Systemtests


= $ 5000
Montag, 21. Juni 2010
Einsparung
                $ 160 Mio.
Montag, 21. Juni 2010
Rendite
                        60 % (!)
Montag, 21. Juni 2010
Ja,
                         Test First
Montag, 21. Juni 2010
                        lohnt sich!
Lohnt sich
Refactoring?
Montag, 21. Juni 2010
Flexibilität durch
Inkremente und
   Iterationen
(Beispiel: Scrum)
Montag, 21. Juni 2010
Software
    aber starr
       und
    unflexibel
Montag, 21. Juni 2010
Innere
          Struktur
           ändern
        = Refactoring
Montag, 21. Juni 2010
Nur möglich durch
Automatisierte

     Tests
Montag, 21. Juni 2010
Testautomatisierung
  durch Test First

Montag, 21. Juni 2010
Test Last
bedeutet:
oft nicht
 testbar!
                        Quelle: doingitwrong.com
Montag, 21. Juni 2010
Technical
                             Debt




Montag, 21. Juni 2010
Big Ball of Mud

Big Ball of Mud

Montag, 21. Juni 2010
Ja,
               Refactoring
               lohnt sich!
Montag, 21. Juni 2010
Lohnt sich
         Simplizität?
Montag, 21. Juni 2010
wenige
         Faktoren       zum Ent-/Bestehen




     wenige
            Regeln        fürs Zusammenspiel

Montag, 21....
Simplizität ist
     Simplizität ist
    Ziel                von




   Ziel von
           Refactoring




   Refactoring...
Montag, 21. Juni 2010
Ja,
                        Simplizität
Montag, 21. Juni 2010
                        lohnt sich!
Und lohnt
 sich jetzt
                  TDD?
Montag, 21. Juni 2010
Ja!              TDD
           lohnt
              sich
Montag, 21. Juni 2010
Warum so kleine
Schritte?
Montag, 21. Juni 2010
Können,
                wenn man
                  will...




 Quelle: Karl Fabricius http://www.environmentalgraffiti.com...
Montag, 21. Juni 2010
„Sessions“ by Industrial Logic - see http://blogs.agilefaqs.com/2010/06/17/visualizing-your-programming-sessions-new-produ...
„Sessions“ by Industrial Logic - see http://blogs.agilefaqs.com/2010/06/17/visualizing-your-programming-sessions-new-produ...
Continuous
      Integration

                        Continuous Integration




Montag, 21. Juni 2010
Kontinuität

                        Kontinuität




Montag, 21. Juni 2010
Was wenn‘s wird
  kompliziert?
Montag, 21. Juni 2010
TexasHoldemKombinationen                                                [add child]



           Als Spieler möchte ich e...
Montag, 21. Juni 2010
Metrics
                        ‣ 6 Klassen Produktiv
                        ‣ 2 Klassen Test
                        ‣ 8...
Bitte mach‘, dass es aufhört...!
Montag, 21. Juni 2010
Was ist mit
                        unzurei-
                        chenden
                Tests?
Montag, 21. Juni 2010
Immer!

                        Quelle: Reencarnacion Cristalero http://pixdaus.com/single.php?id=42266
Montag, 21. Juni 2...
Focus: Design
                        ‣ Product Design
                         ‣ ATDD
                         ‣ Explorat...
Focus:
                        Spec or Failure
                        ‣ Test to Spec
                         ‣ ATDD
    ...
Designstrategie




                           Quelle: http://www.everydayux.com/2010/05/06/make-it-hard-for-your-customer...
Innovation




                        Quelle: Pearl River Necklace Bridge in Hongkong via http://gizmodo.com/5560466/is-t...
Das ist TDD!
     Bernd Schiffer
     @berndschiffer
     bernd.schiffer@it-agile.de


     17.06.2010



Montag, 21. Juni...
Nächste SlideShare
Wird geladen in …5
×

Was ist TDD?

1.575 Aufrufe

Veröffentlicht am

A presentation by Bernd Schiffer (@berndschiffer) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.575
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
29
Aktionen
Geteilt
0
Downloads
21
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Was ist TDD?

  1. 1. Was ist TDD? Bernd Schiffer @berndschiffer bernd.schiffer@it-agile.de 17.06.2010 Montag, 21. Juni 2010
  2. 2. Bernd Schiffer ‣ Agile Softwareentwicklung seit 2001 ‣ Coach für Scrum, Kanban, Scrumban, eXtreme Programming, Testgetriebene Entwicklung Montag, 21. Juni 2010
  3. 3. it-agile ‣ Agile Softwareentwicklung und Beratung ‣ 23 Mitarbeiter ‣ Wir... ‣ ... trainieren ‣ ... beraten ‣ ... entwickeln ‣ http://it-agile.de Montag, 21. Juni 2010
  4. 4. Was ist TDD? Montag, 21. Juni 2010
  5. 5. Implementieren I Montag, 21. Juni 2010
  6. 6. Implementieren Testen I T Montag, 21. Juni 2010
  7. 7. Implementieren Testen I T Montag, 21. Juni 2010
  8. 8. Testen Implementieren T I Montag, 21. Juni 2010
  9. 9. je höher desto besser besseres lokales Maximum lokales Maximum ei t igk ufäh sba -Au tem Refactoring Sys Montag, 21. Juni 2010
  10. 10. Testen Implementieren T I Montag, 21. Juni 2010
  11. 11. Testen Implementieren T I Refactoring R Montag, 21. Juni 2010
  12. 12. Demo! Montag, 21. Juni 2010
  13. 13. Kata Montag, 21. Juni 2010
  14. 14. Montag, 21. Juni 2010
  15. 15. Red Green T I Refactor R TDD-Zyklus Montag, 21. Juni 2010
  16. 16. Lohnt sich TDD? Montag, 21. Juni 2010
  17. 17. Test First Montag, 21. Juni 2010
  18. 18. Refactoring Montag, 21. Juni 2010
  19. 19. Simplizität Montag, 21. Juni 2010
  20. 20. Lohnt sich Test First? Montag, 21. Juni 2010
  21. 21. Automatisierte Tests Montag, 21. Juni 2010
  22. 22. Montag, 21. Juni 2010
  23. 23. Investition $ 100 Mio. Montag, 21. Juni 2010
  24. 24. Bug während TDD =$5 Montag, 21. Juni 2010
  25. 25. Bug während Full Build = $ 50 Montag, 21. Juni 2010
  26. 26. Bug während Integrationstest = $ 500 Montag, 21. Juni 2010
  27. 27. Bug während Systemtests = $ 5000 Montag, 21. Juni 2010
  28. 28. Einsparung $ 160 Mio. Montag, 21. Juni 2010
  29. 29. Rendite 60 % (!) Montag, 21. Juni 2010
  30. 30. Ja, Test First Montag, 21. Juni 2010 lohnt sich!
  31. 31. Lohnt sich Refactoring? Montag, 21. Juni 2010
  32. 32. Flexibilität durch Inkremente und Iterationen (Beispiel: Scrum) Montag, 21. Juni 2010
  33. 33. Software aber starr und unflexibel Montag, 21. Juni 2010
  34. 34. Innere Struktur ändern = Refactoring Montag, 21. Juni 2010
  35. 35. Nur möglich durch Automatisierte Tests Montag, 21. Juni 2010
  36. 36. Testautomatisierung durch Test First Montag, 21. Juni 2010
  37. 37. Test Last bedeutet: oft nicht testbar! Quelle: doingitwrong.com Montag, 21. Juni 2010
  38. 38. Technical Debt Montag, 21. Juni 2010
  39. 39. Big Ball of Mud Big Ball of Mud Montag, 21. Juni 2010
  40. 40. Ja, Refactoring lohnt sich! Montag, 21. Juni 2010
  41. 41. Lohnt sich Simplizität? Montag, 21. Juni 2010
  42. 42. wenige Faktoren zum Ent-/Bestehen wenige Regeln fürs Zusammenspiel Montag, 21. Juni 2010
  43. 43. Simplizität ist Simplizität ist Ziel von Ziel von Refactoring Refactoring Montag, 21. Juni 2010
  44. 44. Montag, 21. Juni 2010
  45. 45. Ja, Simplizität Montag, 21. Juni 2010 lohnt sich!
  46. 46. Und lohnt sich jetzt TDD? Montag, 21. Juni 2010
  47. 47. Ja! TDD lohnt sich Montag, 21. Juni 2010
  48. 48. Warum so kleine Schritte? Montag, 21. Juni 2010
  49. 49. Können, wenn man will... Quelle: Karl Fabricius http://www.environmentalgraffiti.com/featured/death-is-milliseconds-away/10927 Montag, 21. Juni 2010
  50. 50. Montag, 21. Juni 2010
  51. 51. „Sessions“ by Industrial Logic - see http://blogs.agilefaqs.com/2010/06/17/visualizing-your-programming-sessions-new-product-from-industrial-logic/ Montag, 21. Juni 2010
  52. 52. „Sessions“ by Industrial Logic - see http://blogs.agilefaqs.com/2010/06/17/visualizing-your-programming-sessions-new-product-from-industrial-logic/ Montag, 21. Juni 2010
  53. 53. Continuous Integration Continuous Integration Montag, 21. Juni 2010
  54. 54. Kontinuität Kontinuität Montag, 21. Juni 2010
  55. 55. Was wenn‘s wird kompliziert? Montag, 21. Juni 2010
  56. 56. TexasHoldemKombinationen [add child] Als Spieler möchte ich erfahren, welche höchste Kategorie ich in der Hand halte, damit ich meine Chancen besser bestimmen kann. Finde Kategorie Hand Kategorie? 2! 3! 4! 5! 7" Höchste Karte 2! 3! 4! 5! 5" Paar 2! 3! 4! 4" 4# Drilling 2! 3! 4! 5! 7! Flush Als Spieler möchte ich die für eine Kategorie relevanten Karten angezeigt bekommen, damit ich die Kategorie in meiner Hand besser identifizieren kann. Zeige relevante Karten für Kategorie an Hand relevante Karten? 2! 3! 4! 5! 7" 7" 2! 3! 4! 5! 5" 5! 5" 2! 3! 4! 4" 4# 4! 4" 4# 2! 3! 4! 5! 7! 2! 3! 4! 5! 7! Montag, 21. Juni 2010
  57. 57. Montag, 21. Juni 2010
  58. 58. Metrics ‣ 6 Klassen Produktiv ‣ 2 Klassen Test ‣ 8 Tests ‣ 3,8 Zeilen/Methode (inkl. Klammern) ‣ SOLID ‣ Clean ‣ DRY Montag, 21. Juni 2010
  59. 59. Bitte mach‘, dass es aufhört...! Montag, 21. Juni 2010
  60. 60. Was ist mit unzurei- chenden Tests? Montag, 21. Juni 2010
  61. 61. Immer! Quelle: Reencarnacion Cristalero http://pixdaus.com/single.php?id=42266 Montag, 21. Juni 2010
  62. 62. Focus: Design ‣ Product Design ‣ ATDD ‣ Exploratory Testing ‣ Technical Design ‣ TDD ‣ Stress Testing ‣ Interaction Design ‣ GUI Tests ‣ Usability Testing Quelle: Poppendiecks „Leading Lean Software Development" Montag, 21. Juni 2010
  63. 63. Focus: Spec or Failure ‣ Test to Spec ‣ ATDD ‣ TDD ‣ GUI Tests ‣ Test to Failure ‣ Exploratory Testing ‣ Stress Testing ‣ Usability Testing Quelle: Poppendiecks „Leading Lean Software Development" Montag, 21. Juni 2010
  64. 64. Designstrategie Quelle: http://www.everydayux.com/2010/05/06/make-it-hard-for-your-customers-to-fail/ Montag, 21. Juni 2010
  65. 65. Innovation Quelle: Pearl River Necklace Bridge in Hongkong via http://gizmodo.com/5560466/is-this-the-craziest-bridge-ever-designed Montag, 21. Juni 2010
  66. 66. Das ist TDD! Bernd Schiffer @berndschiffer bernd.schiffer@it-agile.de 17.06.2010 Montag, 21. Juni 2010

×