Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Aslak Hellesøy
 aslak@cucumber.io
 Programmer since 1998 Open Source since 1999
 Agile since 2000
 BDD since 2003
 Created Cucumber in 2008 Cucumber Book in 2010 Co-founded Cucumber Ltd in 2013 Professional services (Training) Professional tooling (Cucumber Pro)
 Cucumber maintenance

Slide 3

Slide 3 text

the zone https://www.flickr.com/photos/w4nd3rl0st/12491208355

Slide 4

Slide 4 text

Immediate feedback
 Feeling that you have the potential to succeed
 Feeling so engrossed in the experience, that other needs become negligible

Slide 5

Slide 5 text

Intense concentration
 Merging of action and awareness
 Loss of reflective self- consciousness
 Sense of personal control or agency
 Distortion of temporal experience
 Autotelic experience

Slide 6

Slide 6 text

3 time limits to keep in mind when optimising application performance

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

https://martinfowler.com/bliki/TestPyramid.html “Testing through the UI like this is slow, increasing build times” “Tests that run end-to- end through the UI are: - brittle
 - expensive to write - time consuming to run”

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

10s

Slide 19

Slide 19 text

1s

Slide 20

Slide 20 text

100ms

Slide 21

Slide 21 text

10ms

Slide 22

Slide 22 text

1ms

Slide 23

Slide 23 text

1ms 1ms

Slide 24

Slide 24 text

Integration confidence Functionality confidence Slow Fast Few Many 10s 1s 100ms 10ms 1ms 1ms

Slide 25

Slide 25 text

Scenario: Breaker joins Maker's 5 letter game Given Molly has started a game with the secret "steak" When Benny joins Molly's game Then Benny must guess a word with 5 letters

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Domain-specific
 Commands Domain-specific
 Test Views Assertions
 on Test Views getGuessList() => [ { word: “steak”}, 
 { word: “stake”} ] guess({ word: “steak”})

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

https://github.com/subsecondtdd/codebreaker-js https://github.com/subsecondtdd/assembly-diagrams Nat Pryce CukeUp 2017: 
 https://www.youtube.com/watch?v=Fk4rCn4YLLU

Slide 30

Slide 30 text

No content