Testing is tedious, time consuming and costly. This dissertation explores self test data creation technique. It uses a new algorithm called Genetic-Particle Swarm Combined Algorithm (GPSCA) which is based on a combination of Genetic Algorithm (GA) and Particle Swarm Optimization (PSO). It uses dominance relationship between two nodes. The test data were derived from the program's structure with the aim to traverse every statement in the software. The algorithm uses a new evaluation (fitness) function to evaluate the generated test data based on the concepts of the dominance relations between nodes of the program’s control flow graph. The fitness function used to evaluate each test case by executing the program with it as input, and recording the traversed nodes in the program that are covered by this test case. The main reason of using GPSCA is its ability to handle input data which may be of complicated and complex and difficult to determine manually. Thus, the problem of test data generation is treated entirely as an optimization problem. The performance of the proposed approach is analyzed on a number of programs having different size and complexity. Finally, the performance of GPSCA is compared to both GA and PSO for generation of automatic test cases to demonstrate its superiority. The effectiveness of test data generation using GPSCA is better than GA and PSO as it requires fewer tests than later and achieves 100% coverage in less number of generations