Software testing is a way of improving software quality. It is an essential and an expensive phase of Software Development Life Cycle (SDLC). There has been an ongoing research in this field to automate the process of software testing so that expenses can be reduced. But size and complexity of software pose hindrance in their automation. Meta-heuristic and evolutionary algorithms have proved to be much useful for automating the process of test generation. Usages of meta-heuristic approaches have led to the emergence of new field in software engineering. This field is known as Search-Based Software Engineering (SBSE).