16 Critical Software Practices: Compile and Smoke Test Frequently - Large software systems often contain thousands of individual components. Similar to a military operation, all units need to work smoothly together if the overall operation is going to be successful. Taking this analogy one step further, a commander who wants to bring new weapons systems or new elements into the fighting force would shy away from making massive changes before an important operation. Rather, the desired strategy would be to integrate new capabilities slowly, minimizing the change in each expansion.
Best Practices for Software Projects - Smoke Tests - A smoke test is a series of test cases that are run prior to commencing with full-scale testing of an application. The idea is to test the high-level features of the application to ensure that the essential features work. If they do not work, there is no need to continue testing details of the application, so the testing team will refuse to do any additional testing until all smoke test cases pass. This puts pressure on the development team to ensure that the testing team does not waste valuable testing time with code that is not ready to be tested.
Model Based Testing - This document, developed in 2004 for the DACS Gold practice Initiative, and is available for download in PDF format. Definition and Summary: Model-Based Testing is the automatic generation of efficient test procedures/vectors using models of system requirements and specified functionality.