Software testing
Search-based software engineering is applicable to almost all phases of the software development process. Software testing has been one of the major applications. Search techniques have been applied to other software engineering activities, for instance, requirements analysis, design, refactoring, development, and maintenance.