A specification determines the physical characteristics of the part for it to perform its function. A specification for a part will describe in detail its material, surface finish, hardness, heat-treatment, toughness, yield strength, tensile strength and coating or plating. Parts made to a specification can be tested to determine if they meet specification or not. A specification will also establish performance parameters, such as the expected number of rounds in the service life of the gun, the mean time between failure (breakage) and other attributes.
A dimensional tolerance determines the measurement limits of parts. These consist of numbers normally expressed as a range of values with a desired median number and plus or minus figures. These tolerances allow manufacture of parts with minor variations.
Quality control is the production process that governs manufacture of the parts and their performance in a firearm. Basically, there are three general approaches to quality control:
1) Full or 100 percent inspection of all parts and assembled firearms. This process is seldom used, due to the very high cost involved.
2) Statistical analysis that relies on selecting and testing samples of each batch of parts. It is very popular today due to its low cost and proven effectiveness.
3) Some combination of the two systems above.
Most firearms manufacturers use a mixture of both of the above systems. For example, statistical sampling will be used to accept or reject a batch of parts, but all completed firearms are proof-fired.
Most shooters are surprised to learn that firearms assemblers in modern gun companies are not issued or allowed to use files, drills or hammers in their work. If a particular part does not fit correctly, the assembler has been trained to set that part aside and try a second, then a third part. If the third part does not fit, the entire gun is tagged and put aside for remedial inspection and rework. Such is the confidence in the quality control and modern manufacturing methods today. Just a few years ago, this was not possible.