With the rapidly development of economy, computer is used for many fields, software function is stronger and more and more complex than before. Consequently, software quality is required with higher standard. So, it becomes one of the important tasks in the software engineering to improve software quality and its reliability.Software test, with the whole software development, is an important means to assure software quality and its reliability. However, software test is a very complex process, it will consume a large-scale manpower, materials and time, which make up 40%-50% of the whole item cost. To improve automatic level of software test can greatly shorten software development cycle and reduce software development cost. Permutation and combination of branch can generate a bulky muster for a program with simple function. It is inevitable to artificially compile a large number of test cases. Therefore, to develop a method of test cases automatic generation can significantly improve automatic level of software test. For this issue, the main work in this thesis is as follows:a) the fundamental theories of software test and existing technologies of test cases automatic generation are introduced, the shortage of these technologies is analyzed;b) the feasibility of Particle Swarm Optimization in test cases automatic generation is studied;c) the branch-cover test cases automatic generation based on Particle Swarm Optimization(PSO) is studied. It is discovered that the efficiency of the branch-cover test cases automatic generation based on Particle Swarm Optimization(PSO) is obviously higher than Genetic Algorithm;d) Particle Swarm Optimization(PSO) is applied for path searching based Branch-Cover test cases generation and Branch-Cover test cases generation based Program Instrumentation. The superiority of Particle Swarm Optimization is illustrated from the iteration process and consumption time. |