Я бы посоветовал вам использовать DUnit и что-то вроде TestComplete, поскольку каждый из них служит разным целям.
DUnit отлично подходит для модульного тестирования, но его трудно использовать для общего тестирования приложений и пользовательского интерфейса.
TestComplete - один из немногих продуктов автоматизированного тестирования, который фактически поддерживает Delphi, и наш инженер по обеспечению качества говорит мне, что их поддержка очень хорошая.
Имейте в виду, что настройка автоматического тестирования - это большая и трудоемкая работа. Если вы строго применяете модульное тестирование и автоматическое тестирование пользовательского интерфейса, вы можете легко получить больше тестового кода, чем производственного кода.
С большим (существующим) приложением вы находитесь в сложной ситуации с внедрением автоматизированного тестирования.
Моя рекомендация - сначала настроить модульное тестирование в сочетании с автоматическим сервером сборки. Каждый раз, когда кто-либо проверяет что-либо в системе контроля версий, модульные тесты запускаются автоматически. НЕ пытайтесь настроить юнит-тесты для всего подряд - это слишком большое усилие для существующего приложения. Просто не забывайте создавать модульные тесты всякий раз, когда вы добавляете новую функциональность, и всякий раз, когда вы собираетесь внести изменения. Я также настоятельно рекомендую, чтобы всякий раз, когда сообщалось об ошибке, вы создавали модульный тест, воспроизводящий ошибку, ДО того, как вы ее исправите.