юнит тесты — это конечно здорово и полезно, но вот настойчиво хочется такую штуку:
пишешь что-то типа скрипта, описывающего действия пользователя: полез сюда, ввел это, нажал то.
желательно, конечно, не скрипт самому руками писать, а прям в программе вживую поработать, а действия оказались запротоколированными.
ну и потом таким тестировать новые версии программы.