Что такое тест?
Это верное утверждение относительного того что: f(a) = b.
где f - это ваша программа (такой черный ящик, функция)
В таком ключе самоизменяемых тестов не существует.
Есть начальное состояние программы, есть алгоритм её работы (в черном ящике), и есть результат исполнения этой программы. Результат должен совпадать с тем, что было заложено ранее. т.е. f(a) должно быть рано b. Если не равно, то тест не прошел.
Как можно изменить тест, чтобы получить другое покрытие начальных и конечных условий ?
А никак. А вы вообще уверены будете, что данный тест покрывает именно те условия. Может быть, в данном случае, результат исполнения программы должен быть совершенно другой?