title: Why BDD focuses on validation while TDD focuses on verification
body: <p>I've read <a href="https://stackoverflow.com/questions/4395469/tdd-and-bdd-differences">TDD and BDD Differences</a> and <a href="https://stackoverflow.com/questions/2509/what-are-the-primary-differences-between-tdd-and-bdd">What are the primary differences between TDD and BDD?</a>.</p>
  <p>Here was <a href="https://stackoverflow.com/a/4396952/2605041">(part of) an answer</a>:</p>
  <blockquote>
  <p>BDD is just TDD with different words. If you do TDD right, you are doing BDD. The difference is that – provided you believe at least in the weak form of the Sapir-Whorf Hypothesis – the different words make it easier to do it right.</p>
  </blockquote>
  <p>But I still haven't been able to understand why BDD focuses on validation while TDD focuses on verification.</p>
  <p>The question about BDD vs. TDD (and validation and verification) came up in a quiz problem:</p>
  <blockquote>
  <p>What is the main difference between BDD and TDD?</p>
  <ol>
  <li>BDD focuses on validation while TDD focuses on verification</li>
  <li>BDD focuses on verification while TDD focuses on validation</li>
  <li>BDD is better than TDD at testing methods independently</li>
  <li>BDD generally uses mocks and stubs more than TDD</li>
  </ol>
  </blockquote>
  <p>The answer to the question was <strong>(1)</strong>. Would someone elaborate on why &quot;BDD focuses on validation while TDD focuses on verification&quot;?</p>