Cost of software testing can be reduced by automated test data generation to find a minimal set of data that has maximum coverage. Search-based software testing (SBST) is one of the techniques recently used for automated testing task. SBST makes use of control flow graph (CFG) and meta-heuristic search algorithms to accomplish the process. This paper focuses on test data generation for branch coverage. A major drawback in using meta-heuristic techniques is that the CFG paths have to be traversed from the starting node to end node for each automated test data. This kind of traversal could be improved by branch ordering, together with elitism. But still the population size and the number of iterations are maintained as the same to keep all the branches alive. In this paper, we present an incremental genetic algorithm (IGA) for branch coverage testing. Initially, a classical genetic algorithm (GA) is used to construct the population with the best parents for each branch node, and the IGA is started with these parents as the initial population. Hence, it is not necessary to maintain a huge population size and large number of iterations to cover all the branches. The performance is analyzed with five benchmark programs studied from the literature. The experimental results indicate that the proposed IGA search technique outperforms the other meta-heuristic search techniques in terms of memory usage and scalability.