A computer-implemented method for testing of a data processing application, the method including: processing, by a computer, a first set of data records (200, 250) using the data processing application, the data processing application including one or more executable rules, wherein each data record of the first set of data records has one or more fields (204, 254); for each rule of the one or more executable rules, whether the rule is executed by the data processing application during processing of a particular data record of the first set of data records (200, 250) depends on a value of one or more variables of the data processing application, the variables corresponding to the fields (204, 254) of the particular data record; receiving, by the computer, execution information, the execution information being indicative of a number of times each rule of the one or more executable rules was executed by the data processing application in connection with processing of the first set of data records (200, 250); analyzing, by the computer, values for one or more data fields (204, 254) of at least some data records in a second set of data records (200, 250); generating, by the computer, a profile of the second set of data records (200, 250) based on the analyzing, the profile including information characterizing the data in the second set of data records (200, 250); formulating, by the computer, at least one subsetting rule based on the profile and based on the execution information; selecting, by the computer, a subset of data records from the second set of data records (200, 250) based on the at least one subsetting rule, wherein data records which include data that cause all of the one or more executable rules of the data processing application under test to be executed are selected for the subset of data records; providing, by the computer, the selected subset of data records to the data processing application under test; and executing, by the computer, the data processing application under test using the selected subset of data records as input data. processing, by a computer, a first set of data records (200, 250) using the data processing application, the data processing application including one or more executable rules, wherein each data record of the first set of data records has one or more fields (204, 254); for each rule of the one or more executable rules, whether the rule is executed by the data processing application during processing of a particular data record of the first set of data records (200, 250) depends on a value of one or more variables of the data processing application, the variables corresponding to the fields (204, 254) of the particular data record; receiving, by the computer, execution information, the execution information being indicative of a number of times each rule of the one or more executable rules was executed by the data processing application in connection with processing of the first set of data records (200, 250); analyzing, by the computer, values for one or more data fields (204, 254) of at least some data records in a second set of data records (200, 250); generating, by the computer, a profile of the second set of data records (200, 250) based on the analyzing, the profile including information characterizing the data in the second set of data records (200, 250); formulating, by the computer, at least one subsetting rule based on the profile and based on the execution information; selecting, by the computer, a subset of data records from the second set of data records (200, 250) based on the at least one subsetting rule, wherein data records which include data that cause all of the one or more executable rules of the data processing application under test to be executed are selected for the subset of data records; providing, by the computer, the selected subset of data records to the data processing application under test; and executing, by the computer, the data processing application under test using the selected subset of data records as input data.