1. A computer-implemented method, the method performed by a computerized device, the method comprising: obtaining an initial functional coverage model associated with a System Under Test (SUT), wherein the initial functional coverage model defines all valid combinations of values of the attributes that the SUT is operative to execute; defining a functional coverage model of a the SUT based on a functional coverage by a test suite, wherein the test suite comprising a plurality of tests, wherein the functional coverage model comprises the attributes, each having a set of possible values, wherein the functional coverage model defines possible combinations of values of the attributes as covered by the test suite; wherein said defining, based on the test suite, the functional coverage model comprises removing from the initial coverage model valid combinations which are not covered by the test suite; determining a strict subset of the possible combinations of values, wherein the subset is characterized in covering substantially all n-wise combinations of the possible combinations; and selecting a strict subset of the plurality of tests, wherein the selected strict subset of plurality of tests is operative to cover the strict subset of the determined possible combinations of values; whereby a reduction in a size of the test suite is achieved while preserving the n-wise combinations coverage.