Upgrade to Pro — share decks privately, control downloads, hide ads and more …


Aslak Hellesøy
October 24, 2018


Programmer flow is only possible when all the tests run in less than 10 seconds. Each test must run in less than a second.

Acceptance tests can run in milliseconds when you decouple your tests from the application as well as decoupling the layers of the application itself.

Aslak Hellesøy

October 24, 2018


  1. Aslak Hellesøy
 [email protected]
 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
  2. Immediate feedback
 Feeling that you have the potential to succeed

    Feeling so engrossed in the experience, that other needs become negligible
  3. Intense concentration
 Merging of action and awareness
 Loss of reflective

    self- consciousness
 Sense of personal control or agency
 Distortion of temporal experience
 Autotelic experience
  4. 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”
  5. 10s

  6. 1s

  7. 1ms

  8. 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
  9. Domain-specific
 Commands Domain-specific
 Test Views Assertions
 on Test Views getGuessList()

    => [ { word: “steak”}, 
 { word: “stake”} ] guess({ word: “steak”})