Я бы сказал, что "бизнес" логика вашего приложения должна быть реализована вне основного модуля CGI :: Application. Это должно быть просто ответственно за взаимодействие CGI, то есть части 'view' и 'controller' схемы MVC.
Итак, я сначала напишу тесты для классов "бизнес" логики, и только после этого я напишу тесты для части cgiapp. См. здесь для модулей тестирования, доступных для тестирования CGI :: Прикладные модули.
У меня есть опыт работы с Test :: WWW :: Mechanize :: CGIApp , и я могу рекомендовать его.
Вам также следует заглянуть в Selenium, если вам нужно выполнить более обширные тесты пользовательского интерфейса, включающие тестирование взаимодействия с JavaScript.