diff --git a/testing/voltha_test_automation.rst b/testing/voltha_test_automation.rst
new file mode 100644
index 0000000..a95d37b
--- /dev/null
+++ b/testing/voltha_test_automation.rst
@@ -0,0 +1,106 @@
+Voltha Test Automation
+======================
+
+This page shows how the Voltha tests are automated to run on `OpenCORD Jenkins <https://jenkins.opencord.org/>`_.
+
+Tests of different workflows, i.e. ATT, DT and TT, with various configurations based on either BBSim deployment or
+actual Physical POD run on Jenkins periodically.
+
+.. figure:: ../_static/Voltha_Test_Automation_Jenkins.png
+   :alt: Voltha OpenCord Jenkins
+   :width: 70%
+   :align: center
+
+   Voltha OpenCord Jenkins
+
+Similar set of jobs are kept under similar tabs. Like,
+all the master build jobs are placed under `VOLTHA-2.X-Tests <https://jenkins.opencord.org/view/VOLTHA-2.X-Tests/>`_ tab,
+jobs related to the voltha-2.8 LTS release are in VOLTHA-2.8 tab.
+
+Likewise, tests that collect measurements on Voltha performance at scale are placed under `voltha-scale-measurements <https://jenkins.opencord.org/view/voltha-scale-measurements/>`_,
+and the Voltha Soak testing jobs are kept under the tab named `voltha-soak <https://jenkins.opencord.org/view/voltha-soak/>`_.
+
+Jenkins also host `verification jobs <https://jenkins.opencord.org/view/VOLTHA%202.x%20verify/>`_ that trigger automatically whenever a patch is pushed or updated on Gerrit for the review.
+
+
+Job Templates
+^^^^^^^^^^^^^
+
+Templates for the jobs are defined in `ci-management <https://github.com/opencord/ci-management>`__ repo.
+
+
+BBSim Jobs
+^^^^^^^^^^
+
+OpenCORD Jenkins host a large number of BBSim based regression jobs that run periodically
+with different deployment configurations to verify Voltha control plane functionality
+for different operator workflows. Such as,
+
+- `periodic-voltha-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-test-bbsim/>`_ & `periodic-voltha-multiple-olts-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-multiple-olts-test-bbsim/>`_ : tests Voltha functional scenarios, recovery and error scenarios, ONOS HA scenarios etc. for ATT
+- `periodic-voltha-multi-uni-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-multi-uni-test-bbsim/>`_ & `periodic-voltha-multi-uni-multiple-olts-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-multi-uni-multiple-olts-test-bbsim/>`_ : tests Voltha functionality with multiple UNIs enabled, and with single & multiple OLT (BBSim) deployments
+- `periodic-voltha-dt-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-dt-test-bbsim/>`_ : tests functional and failure scenarios for DT workflow
+- `periodic-voltha-unitag-subscriber-tt-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-unitag-subscriber-tt-test-bbsim/>`_ : tests Voltha functionality with UNI-Tag Subscriber provisioning enabled for TT workflow
+- `periodic-voltha-tt-maclearner-sanity-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-tt-maclearner-sanity-test-bbsim/>`_ : tests Voltha functionality with MAC Learner enabled for TT workflow
+- `periodic-software-upgrade-test-bbsim <https://jenkins.opencord.org/job/periodic-software-upgrade-test-bbsim/>`_ : tests ONOS Applications, Voltha Components and ONU Software Upgrades
+- `periodic-voltha-openonu-go-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-openonu-go-test-bbsim/>`_ & `periodic-voltha-multiple-olts-openonu-go-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-multiple-olts-openonu-go-test-bbsim/>`_ : tests state for ONU Go adapter with different operator workflows, different constellations and tech profiles
+- `periodic-voltha-pm-data-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-pm-data-test-bbsim/>`_ & `periodic-voltha-multiple-olts-pm-data-test-bbsim <https://jenkins.opencord.org/job/periodic-voltha-multiple-olts-pm-data-test-bbsim/>`_ : tests Open ONU Go adapter PM data
+- `periodic-voltha-etcd-test <https://jenkins.opencord.org/job/periodic-voltha-etcd-test/>`_ : tests Voltha etcd functionality
+- `periodic-voltha-test-DMI <https://jenkins.opencord.org/job/periodic-voltha-test-DMI/>`_ : tests device management interface functionality
+
+Similar to the above mentioned jobs which are based on **master**,
+Jenkins has regression jobs for other Voltha releases as well, like votlha-2.8 and voltha-2.9.
+
+The template for the jobs that run on BBSim based deployment is defined `here <https://github.com/opencord/ci-management/blob/master/jjb/voltha-e2e.yaml>`__.
+
+BBSim based deployment is also used to test Voltha at scale.
+The scale jobs run the tests that collect measurements on Voltha performance.
+
+Scale jobs do the deployment with various combinations
+like single or multiple voltha stacks with one or more BBSim based OLTs,
+multiple PONs and ONUs thus testing 4000+ subscribers for different workflows.
+More details about scale jobs can be found `here <https://jenkins.opencord.org/view/voltha-scale-measurements/>`__.
+
+
+Hardware (or Physical POD) Jobs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+OpenCord Jenkins host various regression jobs that runs on the ONF physical pods
+situated at different geographical locations.
+Hardware jobs test both control and dataplane functionality of Voltha.
+
+These hardware jobs are mostly defined in a combination of a build job and a test job.
+The template for the jobs that run on physical pod is defined `here <https://github.com/opencord/ci-management/blob/master/jjb/voltha-test/voltha-nightly-jobs.yaml>`__.
+
+Some of the configurations that are currently being tested on ONF's Physical Pods are:
+
+- Default Technology Profile with master or LTS release build for ATT
+- 1T4GEM profile with master or LTS release build for ATT
+- 1T4GEM-unencrypted profile with master or LTS release build for ATT
+- 1T8GEM Technology Profile with master or LTS release build for DT
+- 1T8GEM Technology Profile with master or LTS release build for DT with GPON based OLT setup
+- 1T8GEM Technology Profile with master or LTS release build for DT with multiple OLTs setup
+- Different service based Technology Profiles with master or LTS release build for TT
+- Different service based profiles with master or LTS release build for TT with multiple UNIs enabled
+
+
+Per-Patchset Verification Jobs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The verification jobs gets triggered automatically whenever a patch is pushed or updated on Gerrit, e.g.
+
+- verify_{project}_licensed : This job verifies that there is valid license/copyright on files.
+- verify_{project}_tag-collision : This job checks for changes to version files,
+  and that they don't duplicate tags already in the git repo.
+- verify_{project}_unit-test : This job runs the Makefile based unit tests.
+- verify_{project}_sanity-test : This job verifies that basic Voltha functionality is not broken
+  for any of the operator workflows.
+
+Apart from system triggered jobs, there are some verification jobs which can be triggered by the user
+by providing apt comment in the Gerrit patch, e.g.
+
+- hardware test functional tests : This comment triggers the run on a dedicated physical pod
+  and executes the entire functional test suite for ATT.
+- hardware test functional tests DT : This comment triggers the functional suite tests for DT.
+
+The templates for the above mentioned and other similar jobs can be found in the
+`ci-management <https://github.com/opencord/ci-management>`__ repo.
