A computer-implemented system comprising: a data collector (210, 330) for collecting initial constraints and a high volume of data from an original data set, wherein the initial constraints comprise one or more of statistical-based constraints, foreign key constraints, logic constraints, and density constraints; a data analyzer (230, 330), including a processor, for analyzing the high volume of data and the initial constraints to generate analytical results comprising relationships among objects derived from constraints and a statistical distribution of the high volume of data: a self-adaptive input domain modeler for generating a self-adaptive input domain model by combining an input domain model and the analytical results; and a test data set generator for generating an initial test data set based on the self-adaptive input domain model; wherein: the initial test data set is reviewed to determine how effective the initial test data set is, the effectiveness of the initial test data set being measured based on the number of initial constraints satisfied by the initial test data set and the strength of the satisfied initial constraints; the self-adaptive input domain modeller is configured to, if the initial test data set is not effective enough, apply a machine-learning technique to adjust the self-adaptive input domain model based on feedback from at least one reviewer; the self-adaptive input domain modeler is configured to update the adjusted self-adaptive input domain model based on new data or constraints and the test data set generator generates a subsequent test data set based on the updated self-adaptive input domain model; and the generated test data set is small compared to the volume of data collected from the original data set and is effective for testing a big data application. a data collector (210, 330) for collecting initial constraints and a high volume of data from an original data set, wherein the initial constraints comprise one or more of statistical-based constraints, foreign key constraints, logic constraints, and density constraints; a data analyzer (230, 330), including a processor, for analyzing the high volume of data and the initial constraints to generate analytical results comprising relationships among objects derived from constraints and a statistical distribution of the high volume of data: a self-adaptive input domain modeler for generating a self-adaptive input domain model by combining an input domain model and the analytical results; and a test data set generator for generating an initial test data set based on the self-adaptive input domain model; wherein: the initial test data set is reviewed to determine how effective the initial test data set is, the effectiveness of the initial test data set being measured based on the number of initial constraints satisfied by the initial test data set and the strength of the satisfied initial constraints; the self-adaptive input domain modeller is configured to, if the initial test data set is not effective enough, apply a machine-learning technique to adjust the self-adaptive input domain model based on feedback from at least one reviewer; the self-adaptive input domain modeler is configured to update the adjusted self-adaptive input domain model based on new data or constraints and the test data set generator generates a subsequent test data set based on the updated self-adaptive input domain model; and the generated test data set is small compared to the volume of data collected from the original data set and is effective for testing a big data application. the initial test data set is reviewed to determine how effective the initial test data set is, the effectiveness of the initial test data set being measured based on the number of initial constraints satisfied by the initial test data set and the strength of the satisfied initial constraints; the self-adaptive input domain modeller is configured to, if the initial test data set is not effective enough, apply a machine-learning technique to adjust the self-adaptive input domain model based on feedback from at least one reviewer; the self-adaptive input domain modeler is configured to update the adjusted self-adaptive input domain model based on new data or constraints and the test data set generator generates a subsequent test data set based on the updated self-adaptive input domain model; and the generated test data set is small compared to the volume of data collected from the original data set and is effective for testing a big data application.