Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertHaldis Nilsen Endret for 9 år siden
1
www.steria.no © Steria Å Lytte til koden Johannes Brodwall, Chief scientist, Steria Iterate 21. mai, 2010
2
www.steria.no 14.07.20142 TDD for fun and profit
3
www.steria.no 14.07.20143 En kodekata (30 min) Kode dojo (90 min) Et mer realistisk eksempel (90 min) Seks prinsipper
4
www.steria.no 14.07.20144 Hvorfor skriver vi programmer?
5
www.steria.no 14.07.20145 Hvorfor skriver vi programmer? Hvorfor tester vi programmer?
6
www.steria.no 14.07.20146 Del #1: Fizz Buzz
7
www.steria.no 14.07.20147 1 => 1 2 => 2 3 => ”fizz” 4 => 4 5 => ”buzz” 6 => ”fizz” …
8
www.steria.no 14.07.20148 Hvorfor skriver vi programmer? Hvorfor tester vi programmer? Hva kan man lære av kode kata?
9
www.steria.no 14.07.20149 Kode dojo: Yatsi
10
www.steria.no 14.07.201410 (1,1,1,2,4),”enere” => 3 (5,5,5,4,4), ”hus” => 23 (1,2,3,4,5), ”hus” => 0
11
www.steria.no 14.07.201411 To ved tastaturet Rotering hvert 5. minutt De som sitter ved tastaturet bestemmer design Men kan spørre publikum
12
www.steria.no 14.07.201412 Uncle Bob’s tre regler No production code without failing test No more test code than makes the code fail No more production code than makes the test pass
13
www.steria.no 14.07.201413 TDD i “det virkelige liv” http://jhannes.blip.tv/ jhannes.blip.tv/file/3487566/
14
www.steria.no 14.07.201414 Prinsipp #1: Spesifiser utenfra og inn jhannes.blip.tv/file/3487399/ (10 min) github.com/jhannes/java-ee-spike- kata/tree/1-outside-in
15
www.steria.no 14.07.201415 Hva så dere? Ende-til-ende-test (treg) Jetty, WebDriver
16
www.steria.no 14.07.201416 Prinsipp #2: Spesifiser oppførsel jhannes.blip.tv/file/3487395/ jhannes.blip.tv/file/3487395/ (6 min) github.com/jhannes/java-ee-spike- kata/tree/2-1-servlet-test
17
www.steria.no 14.07.201417 Hva så dere? Mockito, FEST-assert Beskriv formålet med testen Finkornete tester github.com/jhannes/java-ee-spike- kata/blob/commit_per_test/src/test/java/co m/brodwall/kata/javaee/PersonServletTest.j ava
18
www.steria.no 14.07.201418 Prinsipp #3: Test tett på koden jhannes.blip.tv/file/3487334/ (5 min) github.com/jhannes/java-ee-spike- kata/tree/3-equals-test
19
www.steria.no 14.07.201419 Hva så dere? Test av meningsløs funksjon? Rask bytte mellom test og kode github.com/jhannes/java-ee-spike- kata/blob/commit_per_test/src/test/java/com/brodwall/kata/javaee/Pers onTest.java
20
www.steria.no 14.07.201420 Prinsipp #4: Dyrk fram et API jhannes.blip.tv/file/3487377/ (8 min) github.com/jhannes/java-ee-spike- kata/tree/4-search-for-people
21
www.steria.no 14.07.201421 (Implementer etterpå) jhannes.blip.tv/file/3487456/ (7 min) github.com/jhannes/java-ee-spike- kata/tree/5-3-person-dao-test/
22
www.steria.no 14.07.201422 Hva så dere? Mocking av API før implementering Kode som trenger å refaktoreres! (Never refactor on red!) github.com/jhannes/java-ee-spike- kata/blob/commit_per_test/src/main/java/com/brodwall/kata/javaee/Per sonDao.java
23
www.steria.no 14.07.201423 Prinsipp #5: Dyrk fram struktur jhannes.blip.tv/file/3487376/ (3:20 min) github.com/jhannes/java-ee-spike- kata/tree/5-2-refactoring
24
www.steria.no 14.07.201424 Hva så dere? Hadde allerede refactorer viewene Masser koden med refactoring verktøy github.com/jhannes/java-ee-spike- kata/blob/commit_per_test/src/main/java/com/brodwall/kata/javaee/Per sonServlet.java
25
www.steria.no 14.07.201425 Pause før det viktigste prinsippet!
26
www.steria.no 14.07.201426 Prinsipp #6: Det skal virke første gang jhannes.blip.tv/file/3487396/ (5 min) github.com/jhannes/java-ee-spike- kata/tree/6-getting-it-to-work
27
www.steria.no 14.07.201427 Hva så dere? Ende-til-ende test tester infrastruktur Koden virker første gang i browser github.com/jhannes/java-ee-spike- kata/blob/commit_per_test/src/test/java/com/brodwall/kata/javaee/Pers onWebTest.java
28
www.steria.no 14.07.201428 Verktøy JUnit (http://junit.org)http://junit.org Jetty (http://www.mortbay.org)http://www.mortbay.org WebDriver (http://code.google.com/p/selenium)http://code.google.com/p/selenium FEST-assert (http://easytesting.org/assert/)http://easytesting.org/assert/ Mockito (http://mockito.org)http://mockito.org Hibernate (http://hibernate.org)http://hibernate.org
29
www.steria.no 14.07.201429 #1: Bygg utenfra inn #2: Spesifiser oppførsel #3: Test nær koden #4: Dyrk fram API’et #5: Dyrk fram design #6: Det skal virke første gang
30
www.steria.no 14.07.201430 Retrospektiv
31
www.steria.no 14.07.201431 Hvorfor skriver vi programmer? Hvorfor tester vi programmer? Hva kan man lære av kode kata?
32
www.steria.no 14.07.201432 En ting som overrasket deg En ting du vil lære mer om En ting du er uenig i En ting du vil prøve
33
www.steria.no Johannes Brodwall Chief Scientist Steria, Norway johannes.brodwall@steria.no http://johannesbrodwall.com http://sterkblanding.no http://jhannes.blip.tv @jhannes Takk for oppmerksomheten www.steria.no
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.