Test Plan

There are two parts to your test plan:

Recognize that the second part is my guide to testing your project myself. Anything that you claim is tested is fair game. This is to be very concrete and specific. I want to see who you are asking to test the system and when they will test it. I also want precise environments you will test it in, including versions of software.

A general test plan would cover

You may leave out of your document (both parts) usability testing. Consider different test environments, error conditions and data-specific test cases. Also consider the types of users that need to test the system.

I require you to use automated testing as much as you can at the unit level. This means, for example, if you are developing a Java project then create JUnit test suites and make sure you do regression testing as you develop. JUnit, as we discussed, can be used standalone, or used integrated in an IDE like Eclipse.

Tests developed should be included along with the source code. If they are automated suites as in JUnit, they will be Java code like your source. If they are manual tests, there will at least be input data used, along with expected outputs (your "oracle").

Basically your plan should have the information in it needed for me (or any other engineer trying to modify your code) to run your tests.