lca2011 – Session 2 – Behavioural driven development

  • Like “test driven development”
  • Initially unit test focussed
  • business doesn’t care about underlying implementation, just the functional results
  • “executable specification” – written in spoken language
  • “infrastructure as code”
  • code without tests is “bad”
  • Taking BDD and adapting to infrastructure development
  • Tools – cucumber – write specs, execute/test specs
  • cucumber-nagios
  • DEMO of cucumber and cucumber-nagios
  • example – continuous server builds as you update you config manager
  • migration to config management. – Use BDI to test existing, test CM env with same tests to make sure it replicates
  • Monitoring System : notify -> test -> repeat
  • Current monitoring systems miss many things
  • cucumber provides a common specification format that dev and ops can share
  • removes duplication of tests
  • Libraries being built of commons test (some already in cucumber nagios)