Automation of generating test data is an adequate solution for testing software. Moreover, solving constraints is one of the most important parts of this process. Each constraint is a condition along which there is a vector with different variables' values involves in condition to satisfy the constraint. Despite the fact that previous methods have investigated the solver vectors by decreasing the value's domain, they do not have the capability of finding all solver vectors. This paper proposes Adaptive Dynamic Domain Reduction, which is referred to as ADDR, in order to find all solver vectors related to the polynomial constraints. In the proposed method, each constraint is satisfied utilizing domain reduction or a divide-and-conquer based method. In iterations of algorithm, new domains are defined for variables of a constraint with the results that choosing each arbitrary member of the domain can satisfy constraint. Moreover, union of these domains can find all solver vectors. In order to demonstrate the efficiency of the proposed method, a set of experiments is conducted. These experiments show the proposed method can further improve the process of test data generation in a situation in which complicated or simultaneous constraints may result in the automation failure.
展开▼