A method for detecting and localizing a fault when testing a system under test, SUT , the method comprising: modeling inputs to the SUT as a collection of attribute-value pairs ; generating an initial set of test vectors that provides complete n-wise coverage of a test space represented by the attribute-value pairs; generating a set of testcases from the initial set of test vectors; executing the set of testcases to obtain a set of execution results, the execution results being in binary form indicative that a testcase succeeded or failed, the set of testcases executed a plurality of times; updating, for each execution of the set of testcases, for each attribute-value pair, a non-binary success rate (S AV ) based on the set of execution results, wherein the non-binary success rate of an attribute-value pair is based on execution results of each testcase that uses said attribute-value pair; selecting an attribute in response to a set of success rates corresponding to a set of attribute-value pairs comprising said attribute are all below a predetermined threshold; generating a second set of test vectors that includes additional values for the attribute that is selected; executing the set of testcases to obtain a second set of execution results using the second set of test vectors, wherein the set of testcases is executed at least a predetermined number of times; recording, for each execution of the set of testcases, for each attribute-value pair, a second non-binary success rate (S AV ') based on the second set of execution results; and in response to a set of second success rates corresponding to the set of attribute-value pairs comprising said attribute satisfying the predetermined threshold, notifying a user of the additional values for the attribute that were detected. modeling inputs to the SUT as a collection of attribute-value pairs ; generating an initial set of test vectors that provides complete n-wise coverage of a test space represented by the attribute-value pairs; generating a set of testcases from the initial set of test vectors; executing the set of testcases to obtain a set of execution results, the execution results being in binary form indicative that a testcase succeeded or failed, the set of testcases executed a plurality of times; updating, for each execution of the set of testcases, for each attribute-value pair, a non-binary success rate (S AV ) based on the set of execution results, wherein the non-binary success rate of an attribute-value pair is based on execution results of each testcase that uses said attribute-value pair; selecting an attribute in response to a set of success rates corresponding to a set of attribute-value pairs comprising said attribute are all below a predetermined threshold; generating a second set of test vectors that includes additional values for the attribute that is selected; executing the set of testcases to obtain a second set of execution results using the second set of test vectors, wherein the set of testcases is executed at least a predetermined number of times; recording, for each execution of the set of testcases, for each attribute-value pair, a second non-binary success rate (S AV ') based on the second set of execution results; and in response to a set of second success rates corresponding to the set of attribute-value pairs comprising said attribute satisfying the predetermined threshold, notifying a user of the additional values for the attribute that were detected. <EOS>