Использовал TestComplete. Инструмент хороший. Платный. Отладчик лучше всего работает, если язык проекта Delphi Script.
1. Логику работы приложения отделите от форм. Чтобы в событиях форм лишь вызывались методы основного класса. В собственных разработках не всегда следую этому правилу, но следую. На форме есть текстовое поле, а в методе параметр типа string. На форме есть таблица на четыре колонки, в методе есть список классов (в классе четыре поля). И так далее.
На основной класс уже пишутся модульные тесты.
2. Используя такие инструменты как TestComplete, удобно писать регрессионные тесты на проверку правильности отображения заранее подготовленных данных. А проверять логику работы кликами - крайне тяжело.
Советы:
- после каждого действия проверяйте отсутствие диалогов с ошибками и отсутствие ошибок в логах;
- выделите время на подготовку тестовых данных, хорошие тестовые данные в визуальных тестах крайне важны;
- пишите короткие тесты (открыть, проверить, закрыть), не пишите тесты, которые длятся дольше 20-30-ти секунд.
Вам придётся разработать API, хотя бы для таких частых действий как "открыть" и "закрыть" и API для проверки результатов (обращения к базе данных, файлам, логам). Визуальные тесты окупаются, если вы заявляете поддержку нескольких конфигураций (интерфейс единый, а окружение различное - операционные системы, базы данных, настройки, параметры шрифтов, ...). Если хотите тестировать только на одной конфигурации, то автоматизируйте самым минимум операций, не усложняйте.