We can't tell the story of working backwards (using JUnit) until we see how and why we should use tools like JUnit. So first, a little background on testing.
Unit tests - An automated exercise of code where the developer may create an artificial environment to automatically exercise a unit of code.
Regression tests - Running the same set of tests regularly or after known events.
Black Box tests - Testing based only upon the documentation of the unit without any knowledge of the implementation.
White Box tests - Tests based on knowledge of the internals of the unit.
Integration tests - Taking separate units of software that have already been tested and testing them together.
Bounds tests - Testing the outer ranges of values. Nulls, zeroes, blanks, etc.
Stress tests - Testing a system's ability to handle a desired system load, typically more than is expected.
System/Acceptance testing - Making sure the software as a whole works as expected.