Software testing, i.e., discovering software failures through test case execution, plays a crucial role in the software development process. A high quality software must have a strong test suite. Therefore it is of high importance for a software to evaluate the test suite that is asserting its correctness. Mutation testing is one efficient method to evaluate the process of software testing, i.e., the quality of the test suite.The current research focuses on mutation testing as a metric that can be used not only for establishing a reliable testing process, but also for improving the test case generation process, when the quality of the test suite is proven to be unsatisfactory. More over we aim to come with a solution to the equivalent mutant problem, by combing mutation testing and constraint systems.