This is a flowchart that covers a fairly high level view of the coding / testing / release cycle of software development. I created it as a reference for more inexperienced developer to use.

The blue section focuses on new code. Purple focuses on regression testing. Any red path means an issue occurred, and we need to fix something, and then reverify the changes.

  1. Create new code and corresponding unit tests / update old code and old unit tests.
  2. Verify unit tests and code review passed:
    1. If all unit tests pass, continue to step 3.
    2. If unit tests fail, return to step 1.
  3. Install code into test environment.
  4. Test functionality of the new code:
    1. If the functional tests pass, continue to step 5.
    2. If the any functional tests fail, return to step 1.
  5. Perform regression tests:
    1. If the regression tests pass, continue to step 6.
    2. If the regression tests fail, go to step 1.
  6. Check in the code.
Software Development Flowchart