title: Specflow - What is the testing type which is covered as part of feature file/BDD
body: <p>This might be a sort of stupid question, but still trying to find my understanding on BDD Specflow .
  In my experience across Specflow - seen different companies using Specflow to capture scenarios/test across-</p>
  
  <ul>
  <li>Component level Testing </li>
  <li>Functional Testing </li>
  <li>System Integration Testing</li>
  <li>Regression Testing</li>
  </ul>
  
  <p>So say for example my feature below for System Integration test coverage-</p>
  
  <pre><code>Given An active account exists
  When I  fill up a form &amp; submit a new investment (submitted but not approved)
  Then Check the record inserted into a specific table
  And new transaction displayed in Holdings report
  And new transaction not displayed in cash balance report (as not yet approved)
  </code></pre>
  
  <p>In some companies they practice to break it down further-Component</p>
  
  <p>Separate out above scenario to 2 features like below - </p>
  
  <ol>
  <li><p>One validating till inserted to database</p>
  
  <pre><code>Given An active account exists
  When I  fill up a form &amp; submit a new investment (submitted but not approved)
  Then Check the record inserted into a specific table
  </code></pre></li>
  <li><p>The other Checking the reports</p>
  
  <pre><code>Given A new Investment is recorded
          When we run the reports
          Then new transaction displayed in Holdings report
          And new transaction not displayed in cash balance report (as not yet approved)
  </code></pre></li>
  </ol>
  
  <p>Which of the above is right way of writing Specflow features? Whats best practice?</p>