Если ответ пользователя будет отличаться от
yes, то работа цикла завершится.
Проверку ответа лучше делать без учета регистра, возможно проблема в этом:
string answer;
string yes = "yes";
// из yes лучше сделать константу, чтобы в этом был смысл :)
// const string yes = "yes";
// либо массив - это позволит проверять разные варианты ответов
string[] yesVariants = { "yes", "y", "true", "да", "еще бы", "только об этом и мечтаю" };
// или можно использовать регулярные выражения
do
{
// любой код здесь
Console.WriteLine("Желаете повторить тест?(Yes/No) ");
answer = Console.ReadLine();
} while (answer.Equals(yes, StringComparison.OrdinalIgnoreCase));
// проверка по массиву ответов
// } while (yesVariants.Contains(answer, StringComparer.OrdinalIgnoreCase));