Documentation for unit test project 89/32989/5
authorashishk1994 <ashishk.iiit@gmail.com>
Wed, 5 Apr 2017 08:07:48 +0000 (13:37 +0530)
committerashishk1994 <ashishk.iiit@gmail.com>
Wed, 26 Apr 2017 10:39:13 +0000 (16:09 +0530)
JIRA: FUNCTEST-594

Change-Id: I2ae821f4bc2283d736a635357aea89dc95a7c839
Signed-off-by: ashishk1994 <ashishk.iiit@gmail.com>
docs/testing/developer/internship/unit_tests/index.rst

index f969aa7..a117c86 100644 (file)
@@ -25,41 +25,98 @@ Version history
 | **Date**   | **Ver.** | **Author**       | **Comment**            |
 |            |          |                  |                        |
 +------------+----------+------------------+------------------------+
-| 2016-??-?? | 0.0.1    | Morgan Richomme  | Beginning of the       |
+| 2016-11-14 | 0.0.1    | Morgan Richomme  | Beginning of the       |
 |            |          | (Orange)         | Internship             |
 +------------+----------+------------------+------------------------+
+| 2017-03-31 | 0.0.2    | Ashish Kumar     | During the             |
+|            |          | (IIIT Hyderabad) | Internship             |
++------------+----------+------------------+------------------------+
 
 
 Overview:
 =========
-
+Functest project is developing and integrating functional test cases for OPNFV
+and it is part of OPNFV since the beginning. Functest develops its own testcases
+and framework. This framework includes several utility libraries. The Project is
+growing rapidly with more features, tests added as per requirement. It becomes
+the responsibility of every developer to maintain the integrity of code i.e. new
+patch should not break the previous functionality of the project. To automate this
+process of software development, we should write unit tests and add them to CI so
+that when a new patch is ready to merge, we shouldn't allow those which are breaking
+previous unit tests or decreasing the coverage.
 
 
 
 Problem Statement:
 ------------------
-
+The goal of the intership consists in creating unit test suites on Functest code
+with good code coverage (>80%) and integrate it in continuous integration in order
+to consolidate existing code.
 
 
 Curation Phase
 --------------
+The curation phase was the first 3 to 4 weeks of the internship. This phase was to get
+familiar with the functest code and functionality and explore the solutions for unit
+testing in other projects and come up with the strategy for writing unit tests in functest.
 
-
+In this phase we decided,
+- Coverage should be 80%. There are some functions like __init__, getter, setter and other
+  private methods for which writing unit test is a tedious job, so we are leaving these methods
+  for now.
+- Do method wise testing for every module.
+- Use mock for external or third party services, system calls and other external library calls
+  which could impact the behaviour of system during the run of unit test.
+- Add it in jenkins as passing criteria for patches.
+- Write tests in modular way so that it can help to serve as a form of documentation.
 
 
 
 Schedule:
 =========
-
-
-
 +--------------------------+------------------------------------------+
 | **Date**                 | **Comment**                              |
 |                          |                                          |
 +--------------------------+------------------------------------------+
-| December  - January      | ........                                 |
+| Nov 14th - Nov 28th      | 1. Learn Functest Project Business       |
+|                          | 2. Set up the development environment    |
+|                          | 3. Run Functest code                     |
++--------------------------+------------------------------------------+
+| Nov 28th  -  Dec.9th     | 1. Explore Unit Testing Strategy,        |
+|                          | 2. Learn about Mock in python            |
++--------------------------+------------------------------------------+
+| Dec 12th - Dec 23rd      | Implement Unit Tests for CLI             |
+|                          |                                          |
++--------------------------+------------------------------------------+
+| Dec 26th   - Jan 6th     | Implement Unit Tests for Utils           |
+|                          |                                          |
++--------------------------+------------------------------------------+
+| Jan 9th -  Jan 20th      | Implement Unit Tests for CI              |
+|                          |                                          |
++--------------------------+------------------------------------------+
+| Jan 23rd - Feb 3rd       | Implement Unit Tests for Core            |
+|                          |                                          |
++--------------------------+------------------------------------------+
+| Feb 6th  - Feb 17th      | Implement Unit Tests for                 |
+|                          | opnfv_tests/openstack/tempest            |
 +--------------------------+------------------------------------------+
-| January  - february      | ........                                 |
+| Feb 20th  - Mar 3rd      | Implement Unit Tests for                 |
+|                          | opnfv_tests/openstack/rally              |
++--------------------------+------------------------------------------+
+| Mar 6th  - Mar 17th      | Implement Unit Tests for                 |
+|                          | opnfv_tests/vnf/ims                      |
++--------------------------+------------------------------------------+
+| Mar 20th  - Mar 31st     | Recheck and Increase Coverage for all    |
+|                          | modules > 80%                            |
++--------------------------+------------------------------------------+
+| Apr 3rd  -  Apr 14th     | Add CI Gating for unit tests             |
+|                          |                                          |
++--------------------------+------------------------------------------+
+| Apr 17th  -  Apr 28th    | Use Tox Utility, Documentation           |
+|                          |                                          |
++--------------------------+------------------------------------------+
+| Apr 28th  -  End         | Bug Fixing                               |
+|                          |                                          |
 +--------------------------+------------------------------------------+
 
 
@@ -67,4 +124,3 @@ References:
 ===========
 
 .. _`[1]` : https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Functest+unit+tests
-