Исследователи проанализировали 197 реальных терминальных интерфейсов (TUI) и выявили критический дефицит качественного тестирования. Лишь 12% существующих тестов затрагивают визуальную часть интерфейса, а почти половина из них ограничивается проверкой статических кадров без имитации пользовательского ввода. Авторы работы предложили метод автоматизации тестирования TUI с помощью больших языковых моделей, способных имитировать интерактивное взаимодействие и проверять динамические изменения состояния экрана.
Терминальные интерфейсы, сочетающие экранную логику GUI с простотой развертывания в консоли, стали стандартом для современных инструментов разработки. Однако их специфическая архитектура затрудняет традиционное автоматизированное тестирование. Большинство разработчиков либо игнорируют проверку UI, либо используют примитивные методы, которые не способны зафиксировать ошибки в поведении программы при вводе данных или навигации по меню.
Предложенный подход позволяет трансформировать TUI-приложения в среду, доступную для LLM-агентов. Модели обучаются интерпретировать состояние терминала как текстовый или визуальный контекст, что дает возможность автоматически генерировать сценарии тестирования, имитировать действия пользователя и верифицировать корректность отклика системы. Это значительно повышает покрытие тестами сложных интерактивных элементов, которые ранее оставались вне зоны контроля разработчиков.
Ключевые факты
- Проанализировано 197 реальных TUI-приложений, используемых в разработке ПО.
- Только 12% от общего объема тестового кода проверяют корректность работы интерфейса.
- 45% существующих тестов интерфейса не используют ввод данных, ограничиваясь анализом статических состояний.
- Разработан метод автоматизации тестирования, использующий LLM для имитации интерактивного взаимодействия с терминалом.