One of the problems with most software companies (especially smaller ones) is that they take an ad hoc approach to testing. The result is inconsistencies in the product, both in terms of quality and robustness. If you are building commercial or enterprise software, you can't afford to fly by the seat of your pants.
A test case is documentation that defines the input, the expected output, and the steps to complete a test. This documentation is needed for both automated and manual tests. In the case of automation, the case will have a huge impact on how the test code will be written and implemented. If you are interested, Chapter 17 explores the topic of test case management in more detail.
Using test cases, you can easily manage and document the tests in your project. You can also track whether your application is functioning as expected and all of your customer requirements have been met. In a nutshell, test cases help the developer to reproduce a bug or problem during debugging
Manual tests and test cases go hand-in-hand. The following table contains an example of a couple of test cases. Test cases usually have two possible outcomes: Pass or Fail.
Does the application install under the Guest account?
Can the user run two instances of the application at once?
Many Microsoft logo programs use test cases, which you can use to evaluate whether your application meets the expected requirements. For example, the "Designed for Windows XP" program has an Application Test Framework that uses test cases to help you evaluate the eligibility of your application. You must pass all requirements to get the logo designation.
Microsoft internally uses a Test Case Manager code-named "MadDog." You can view screenshots and learn about Microsoft's test case methodologies from the following post on Scott Guthrie's weblog: http://www.weblogs.asp.net/scottgu/archive/2004/10/28/249458.aspx.
Many professional test case products are available on the market. If you want a free basic tool to manage your test cases, be sure to check out the PBSystems Test Case Manager (please note that this application requires Microsoft Access 2000): http://www.matpie.drw.net/PBSystems/products/tcm/tcm.htm.