In the process of software development, testing is the critical activity which consumes more than 50% of resources and time. A challenging step in software testing process is to generate test cases that will sufficiently test the functionality of the software being developed. A technique commonly used to generate the test cases is through branch coverage. Even though the above technique successfully generates test cases for the input program, there are few limitations during which this technique does not prove to be useful. Especially when an infeasible path is encountered in the program under test, the test cases generated does not reflect the reality. To overcome such situation test cases generation through symbolic execution is proposed in this paper. © 2013 IEEE.