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