The basic building block of the test project is a test case that consists of a single action and a verification that the action worked. The result of the test case is usually restricted to PASS/FAIL.
A test program is a runnable program that contains one or more test cases. Test programs often understand command line options which alter their behavior. The options could determine the amount of memory tested, the location of temporary files, the type of network packet used, or any other useful parameter.
Test tags are used to pair a unique identifier with a test program and a set of command line options. Test tags are the basis for test suites.