AFAIK (как бывший certified scrum master) нету "успешного" или "провального" спринта. Спринт это таймбокс для работ. Если в планирование ошиблись, то на ретроспективе нужно понять и зафиксировать как избежать техже грабель при следующем планирование.
Статус Done vs тестирование это зависит что у вас записано в Definition of Done. Бывает, что тестер часть комманды и тестирование это просто его обычные задачи.
Если тестирование идет с лагом, то проще фикс бага отдельной задачей в одном из следующих спринтов сделать, чем дева переключать. То что полное закрытие "user story" при этом занимает несколько спринтов - это вполне нормально.