CovAgent: Подолання "прокляття 30%" покриття мобільних додатків за допомогою агентного ШІ та динамічного інструментування
Автори: Wei Minn, Biniam Fisseha Demissie
Опубліковано: 2026-01-29
Переглянути на arXiv →Анотація
Ця стаття пропонує CovAgent, підхід на основі агентного ШІ для покращення тестування інтерфейсу користувача Android-додатків шляхом аналізу декомпільованого Smali-коду та графа переходів компонентів. Він обґрунтовує незадоволені умови активації, генерує скрипти динамічного інструментування та значно покращує покриття тестів у порівнянні з найсучаснішими фаззерами.
Вплив
practical
Теми
7
💡 Просте пояснення
Уявіть собі робота-тестувальника для мобільних додатків, який не просто випадково натискає кнопки (як старі інструменти), а насправді читає екран і розуміє додаток як людина. CovAgent використовує ШІ для планування ретельного тестування додатку, намагаючись дістатися до частин, які зазвичай пропускаються (наприклад, приховані меню налаштувань або складні процеси оформлення замовлення), виправляючи проблему, коли автоматизовані тести зазвичай покривають лише близько 30% додатку.
🎯 Постановка проблеми
Інструменти автоматизованого тестування мобільних додатків зазвичай не можуть досягти високого покриття коду (зупиняючись на ~30%), оскільки вони не розуміють семантичного контексту, не можуть впоратися зі складною навігацією (наприклад, вхід у систему) або планувати довгострокові послідовності дій, необхідні для досягнення глибоких станів програми.
🔬 Методологія
Автори розробили систему, яка використовує LLM як 'мозок' для керування Android-пристроєм. Вона використовує динамічну інструментацію для отримання даних у реальному часі про те, які рядки коду були виконані. LLM отримує поточне дерево інтерфейсу та статус покриття коду, а потім планує послідовність дій (натискання, текст, свайп) для максимізації покриття нового коду. Вона використовує цикл зворотного зв'язку для виправлення помилок, якщо дія не вдається.
📊 Результати
CovAgent продемонстрував значне покращення покриття активностей (activity) та методів порівняно зі стандартними інструментами (Monkey, DroidBot) та візуальними агентами. В експериментах на стандартних тестових додатках він стабільно долав бар'єр у 30%, часто досягаючи 60-70% покриття. Він успішно проходив екрани аутентифікації та складні форми, які блокували інші інструменти.
✨ Ключові висновки
Агентний ШІ з доступом до внутрішнього стану програми (інструментація) перевершує візуальні агенти для тестування. Здатність LLM до 'планування' дозволяє долати семантичні бар'єри, які зупиняють випадкові або евристичні інструменти. Цей підхід представляє майбутнє автоматизованого QA, переходячи від скриптових перевірок до автономного дослідження.
🔍 Критичний аналіз
Стаття пропонує переконливе рішення реальної проблеми. Однак залежність від динамічної інструментації додає складності, яка може відлякати розробників, що бажають тестування 'plug-and-play' методом чорної скриньки. Аналіз витрат на токени LLM для масштабних наборів регресійного тестування часто недооцінюється в таких дослідженнях. Це значний крок вперед для 'Глибокого QA', але широке впровадження залежить від зниження витрат на інференс та затримки.
💰 Практичне застосування
- Хмарний сервіс тестування з оплатою за запуск.
- Корпоративне ліцензування для локальної установки.
- Преміум додаток зі звітами 'Аудит безпеки'.