1. A method of testing a circuit having multiple elements, comprising the steps of: creating a plurality of faults representing said elements for testing said circuit; grouping said faults based on common attributes of said faults; creating a test pattern for each group of faults; and testing said circuit with said test patterns.