--- /dev/null
+Testing Quantum
+=============================================================
+
+Overview
+
+ There are two types of tests in quantum: functional and unit. Their
+ respective directories are located in the tests/ directory.
+
+ The functional tests are intended to be used when the service is running.
+ Their goal is to make sure the service is working end to end and also to
+ test any plugin for conformance and functionality. Also note that the
+ functional tests expect quantum to be running on the local machine. If it
+ isn't you will have to change the tests to point to your quuntum instance.
+
+ The unit tests can be run without the service running. They are designed
+ to test the various pieces of the quantum tree to make sure any new
+ changes don't break existing functionality.
+
+Running tests
+
+ All tests can be run via the run_tests.sh script, which will allow you to
+ run them in the standard environment or create a virtual environment to
+ run them in. All of the functional tests will fail if the service isn't
+ running. One current TODO item is to be able to specify whether you want
+ to run the functional or unit tests via run_tests.sh.
+
+ After running all of the tests, run_test.sh will report any pep8 errors
+ found in the tree.
+
+Adding more tests
+
+ Quantum is a pretty new code base at this point and there is plenty of
+ areas that need tests. The current blueprint and branch for adding tests
+ is located at:
+ https://code.launchpad.net/~netstack/quantum/quantum-unit-tests
+
+ Also, there is a wiki page tracking the status of the test effort:
+ http://wiki.openstack.org/QuantumUnitTestStatus
+
+Development process
+
+ It is expected that any new changes that are proposed for merge come with
+ unit tests for that feature or code area. Ideally any bugs fixes that are
+ submitted also have unit tests to prove that they stay fixed! :) In
+ addition, before proposing for merge, all of the current unit tests should
+ be passing.
+