Test points are inserted into a circuit to improve its testability or diagnosability. The diagnosability goal may be to reduce the number of indistinguished fault pairs, increase the accuracy of logic diagnosis, or reduce the number of diagnostic tests. This article describes a test point insertion procedure, combined with a test compaction procedure, whose goal is to reduce the number of tests in a diagnostic test set, and bring it closer to the number of tests in a fault detection test set. A test point allows a fan-out branch to assume values that are different from those of the fan-out stem. Effectively, the fan-out branch becomes an independent input. The test compaction procedure reduces the number of tests in two ways: 1) by utilizing the extra inputs created when test points are inserted and 2) a diagnostic test set typically consists of a fault detection test set followed by diagnostic tests. The test compaction procedure modifies the diagnostic test set to use all the tests as both fault detection and diagnostic tests. Experimental results for single stuck-at faults in benchmark circuits demonstrate the effectiveness of this approach in producing diagnostic test sets whose numbers of tests are closer to those of compact fault detection test sets while preserving the accuracy of logic diagnosis.