title: How to manage test data fixtures for acceptance testing in large projects?
body: <p>Suppose we have large, complex system with large amount of data and complicated business logic.</p>
  
  <p><strong>How to manage test data (Oracle DB) to have fast, reliable acceptance (Selenium etc.) tests starting from known state?</strong></p>
  
  <p>Because of scale and complexity, tests should:</p>
  
  <ul>
  <li>run quite fast (1. fast revert to known DB state before each test/suite 2. definatelly not creating test data by UI before each suite)</li>
  <li>base on data created with UI (no direct <code>INSERTS</code> to database - risky duplication of business logic)</li>
  <li>have several versions/snapshots of DB state (stable group of users with related data - to avoid conflicts between assertions and new data created with ongoing automation development)</li>
  </ul>