Testing is an important software engineering activity which is widely used by testers to reveal faults and improve the quality of the software by omitting or removing the detected faults. After required subsequent modifications in the software, there is a need to re-validate the software at each release. During this, new test cases are to be added to the existing test suite to check the new functionality implemented in the release. Enhancement of the test suite results in obvious test suite size increment and may also contain redundant test cases. Because of time and resource limits, revalidating the improved software every possible time is so tedious and complex. So, it is advantageous to develop such mechanism that increases the coverage and diversity of test cases in a test suite to optimize the results of test suite minimization and prioritization. The proposed approach can be beneficial for testers to solve the regression testing problems.