Test Driven Software development process

Here is a quick steps to follow in software development process.

  1. Pick your favorite IDE – eclipse or Netbeans or othe paid product.
  2. Integrate code coverage plugins such as Jacoco with your IDE.
  3. Developers must write Junit test when they start writing code. Junit tests must be written such that each piece of code must be tested rather than have it at the integrated level. The concept is to write small block of code and test it. This is an iterative process such that if there are issues it is simple and easy to debug few lines of code rather than pages of codes
  4. Build your code, for Java MAVEN and for other languages there are different build scripts.
    1. For version control, Git is the latest in fashion. However, pick your favorite Version Control.
    2. Check in your code frequently locally in Git
    3. Run code coverage to ensure the test coverage
    4. When you have a functionality coded, then you can squash your commits to single commit and publish to remote Git
  5. Use Jenkins to build your code
  6. Use Sonar to do code coverage and code scan, refactor your code as per the
  7. In an Enterprise Following testing and promotion of code occurs
    1. Deploy your code to Developer Environment and developers runs their testing
    2. Then promote the code to QA Environment for QA testing with their extensive code testing
    3. Then promote the code to UAT/BUAT Environment for Business testing for accepting the Functionality
    4. Then promote the code to the Production Environment
  8. Test Automation
    1. Use your favorite tool to do the test automation
    2. If necessary build your own harness to automate tests. This has a lot of mileage though in the short run it is painful to build. In anytime of project test automation is a MUST.