Skip to content

Instantly share code, notes, and snippets.

@hjr3
Last active December 14, 2015 03:38
Show Gist options
  • Save hjr3/5022082 to your computer and use it in GitHub Desktop.
Save hjr3/5022082 to your computer and use it in GitHub Desktop.
Notes from LA Ruby Conf 2013 - BDD: It's not your test framework, it's you

BDD: It's not your test framework, it's you

  • @robb1e
  • @moonmaster9000

Notes

  • brittle tests do not reveal intent. they explain how, not what.
  • create your own DSL about the important things your domain
  • reuse these in your tests
  • develop test framework independence
  • program by "wishful thinking" to create your DSL
  • BDD was created to support a process of product owner collaboration
  • stop annoying product owners
  • let them use their language and transform it into our tests. not the other way around
  • if BDD tests are hard to write, you are not going to read them
  • documentation is the reamining 5% of a good BDD process
  • you may not need the docs
  • tests + gherkin may be enough
  • developers hate running slow tests
  • continuous integration is a confidence booster
  • "sleep" in a test means a developer has given up!
  • prayer driven coding
  • assign a rotating build nanny to triage flickering tests
  • delete burdensome tests!
  • do not test "login" 50 times
  • Functional tests
  • Journey tests are those that are black-box test that run a critical path
  • Functional tests are white-box tests. Can stub out authentication.
  • Implement tests from the outside in
  • You may not need to commit all the tests to the code base
  • Or tag the tests and only run them on CI (don't overdo this!)
  • BDD does not always have to go through the browser. tag as "no-ui"
  • treat test code as first class citizens of the code-base
  • focus on the common paths, not just happy paths
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment