During the software development process, errors are inevitably introduced and some of them are even amplified as a project progresses. To detect these errors so that they can be removed, we need to test the software. The success of testing depends on the test cases used. Considering that most software projects are delivered in a limited time span using fixed resources, effective test cases must be used to optimize the available resources. Version 1 includes unspecified updates.