Software testing is the SDLC's important and most expensive step. Software testing is difficult and time-consuming work requiring a great deal of money for software development. Testing is both an operation that is static and adaptive. Software testing process deals with the creation of test cases, checking and validating either passed or failed test cases. It is unidealistic to check only the discerning parts of the material as a whole at once. It is not possible to test the whole system once, so selected parts of the code are considered for analysis. Since the input space of the Product Under Test (PUT) can be very large, it is important to analyze a representative subset of test cases. During software testing, the most important task is to build appropriate test cases. An effective set of test cases can detect more errors. Software testing always requires high deficiencies. Test cases are constructed using the test data. In the automation of software testing, the important task is to generate test data according to a given level of competence. The improved test data are determined using the test case development methodology and the test data adequacy criterion being applied. For increase the level of automation and performance, these aspects of test case development need to be studied. This paper studies the various test case generation techniques using soft computing techniques like Genetic Algorithm, Artificial Bee colony methods. Further an evaluation criterion for the test case generation process, empirical study of Code Coverage and its importance is discussed.