AUITestAgent: Автоматическое тестирование функций GUI, ориентированное на требования.
AUITestAgent: Automatic Requirements Oriented GUI Function Testing
July 12, 2024
Авторы: Yongxiang Hu, Xuan Wang, Yingchuan Wang, Yu Zhang, Shiyu Guo, Chaoyi Chen, Xin Wang, Yangfan Zhou
cs.AI
Аннотация
Графический пользовательский интерфейс (GUI) - это то, как пользователи взаимодействуют с мобильными приложениями. Чтобы гарантировать его правильную работу, инженеры по тестированию должны убедиться, что он функционирует как задумано, основываясь на тестовых требованиях, которые обычно записаны на естественном языке. Хотя широко применяемые методы ручного тестирования и основанные на скриптах эффективны, они требуют значительных усилий из-за огромного количества страниц GUI и быстрых итераций в современных мобильных приложениях. В данной статье представлен AUITestAgent - первый автоматический инструмент для тестирования GUI мобильных приложений, управляемый естественным языком, способный полностью автоматизировать весь процесс взаимодействия с GUI и верификации функций. Поскольку тестовые требования обычно содержат команды взаимодействия и проверочные оракулы, AUITestAgent может извлекать взаимодействия с GUI из тестовых требований с помощью динамически организованных агентов. Затем AUITestAgent использует стратегию многомерного извлечения данных для получения данных, относящихся к тестовым требованиям, из следа взаимодействия и выполняет верификацию. Эксперименты на настроенных бенчмарках показывают, что AUITestAgent превосходит существующие инструменты по качеству сгенерированных взаимодействий с GUI и достигает точности верификации на уровне 94%. Более того, полевое применение в Meituan показало практическую применимость AUITestAgent, обнаружив 4 новых функциональных ошибки в ходе 10 регрессионных тестов за два месяца.
English
The Graphical User Interface (GUI) is how users interact with mobile apps. To
ensure it functions properly, testing engineers have to make sure it functions
as intended, based on test requirements that are typically written in natural
language. While widely adopted manual testing and script-based methods are
effective, they demand substantial effort due to the vast number of GUI pages
and rapid iterations in modern mobile apps. This paper introduces AUITestAgent,
the first automatic, natural language-driven GUI testing tool for mobile apps,
capable of fully automating the entire process of GUI interaction and function
verification. Since test requirements typically contain interaction commands
and verification oracles. AUITestAgent can extract GUI interactions from test
requirements via dynamically organized agents. Then, AUITestAgent employs a
multi-dimensional data extraction strategy to retrieve data relevant to the
test requirements from the interaction trace and perform verification.
Experiments on customized benchmarks demonstrate that AUITestAgent outperforms
existing tools in the quality of generated GUI interactions and achieved the
accuracy of verifications of 94%. Moreover, field deployment in Meituan has
shown AUITestAgent's practical usability, with it detecting 4 new functional
bugs during 10 regression tests in two months.Summary
AI-Generated Summary