1. A method of designing a test bed for testing of a computer product, comprising: obtaining customer configuration data describing a plurality of distinct system configurations in which the computer product is deployed and operated, the distinct system configurations varying according to a plurality of distinct system attributes, the system attributes including software attributes describing different software executed by the systems as well as hardware attributes describing different types and capacities of hardware resources of the systems; preprocessing the customer configuration data to generate structured customer configuration data according to a predetermined data organization, the preprocessing including removing redundant data in the customer configuration data and removing data not relevant to designing the test bed; applying a classification to the structured customer configuration data to separate the distinct system configurations into groupings according to similarity in one or more of the system attributes among members of each group; and for each of the groupings, identifying a corresponding representative system configuration to be used for testing in the test bed and generating a corresponding set of test bed definition data therefor, each set of test bed definition data describing the corresponding representative system configuration in a form enabling implementation of the representative system configuration in the test bed, wherein applying the classification and identifying the representative system configurations is performed in a first case in which only a first number of the system configurations are highly different, and including, in a second case in which a second number greater than the first number of the system configurations are highly different, utilizing other criteria for designing the test bed, the other criteria selected from product features, resource constraints and historical data.