The term “Behavior Driven Development”, or BDD, is an umbrella term for a wide variety of techniques. The general principles of BDD include reframing tests as descriptions of system behavior – “when I do one thing, I should see this result”. Historically, those descriptions were the output of a computer program.