QA/Sync/Test Plan/grinder tests/technical documentation

< QA‎ | Sync‎ | Test Plan‎ | grinder tests
Revision as of 17:36, 20 June 2011 by Ocoutts (talk | contribs) (Created page with "=== Testing Technologies === * Grinder ** This will be the main test harness. We will write scripts against it using jython and use its built in tools in order to distribute the ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Testing Technologies

  • Grinder
    • This will be the main test harness. We will write scripts against it using jython and use its built in tools in order to distribute the tests to multiple load generators
    • Advantages
      • Distributed (We can use multiple machines to hit a server)
      • Performant (No overhead of booting firefox)
      • Built with HTTP based testing in mind (ideal for REST services including SYNC and beyond)
  • MongoDB
    • A database with a REST api will be used for data verification. A percentage of requests will get stored in a Mongo database in effort to make sure that our data is accurate at all loads
    • Advantages
      • Heavy - it is built to handle many reads/writes per second. Hopefully we won't be load testing MongoDB.
      • REST api we can perform the same steps to communicate with sync as we can to communicate with the database

Important features of the sync system

  • Load Balancer - Zeus
    • Will protect us from connection overrun
    • Questions about how it responds under high load condition and how firefox responds to that
    • Extremely scalable (will likely never be a bottle neck)
  • Back end application
    • Currently in PHP, will be migrated to python
    • Questions about through put of data
  • Database Server
    • Currently has a large cache (this means we need a lot of tests before we are truly in a production type environment)