People throw out terms like “end to end”, “story test”, “integration test”, and “unit test” but the definitions seem to vary depending who you ask.
Here’s my definitions currently (They may change if I hear a good arguement)
End-to-end: Any test that is running with all servers, data sources, scripts, etc. and closely resembles production environment execution.
Story Test: An End-to-end test or tests that prove a story has been completed. These should be used in business verification.
Integration Test: A test that runs from an entry point to a system and tests a path through the system. Typically with external systems mocked out. These tests are useful for verifying framework configurations and inter-class communications.
Unit Test: These test should be small fast an isolated tests that fully test the business logic of the smallest entity. Isolation means that all external dependencies to the unit have been mocked.

Thank you for your nice post. But I had trouble navigating through your website as I kept getting 502 bad gateway error. Just thought to let you know.
Comment by Steve Call — November 15, 2009 @ 3:18 pm