Preview

Труды Института системного программирования РАН

Расширенный поиск

Проведение итеративного динамического анализа приложений, предоставляющих графический интерфейс пользователя

https://doi.org/10.15514/ISPRAS-2017-29(1)-8

Аннотация

В настоящее время в промышленной разработке программного обеспечения с графическим пользовательским интерфейсом преобладают полуавтоматические подходы к тестированию, требующие участия эксперта для создания наборов тестовых сценариев. Повышение сложности программных систем приводит к снижению эффективности применения методов, полагающихся на участие эксперта в процессе тестирования. С учётом возрастания доступности и снижения стоимости вычислительных ресурсов становятся экономически выгодны методы автоматического анализа программ. В рамках данной статьи предлагается метод полностью автоматического динамического анализа программ, предоставляющих графический пользовательский интерфейс. Среди существующих инструментов тестирования и анализа программного обеспечения на основе обзора, приведённого в статье, выделяется свободно распространяемое программное инструментальное средство GUITAR, обеспечивающее максимальную степень автоматизации. Рассматриваются основные ограничения подхода, реализованного в средстве GUITAR: недостаточная степень точности модели графического интерфейса, недостаточность полноты описания атрибутов элементов графического интерфейса. Данные ограничения приводят к невозможности покрытия наборами тестовых воздействий отдельных элементов графического интерфейса в рамках анализа и созданию тестовых сценариев, которые не могут быть воспроизведены на практике. В статье предлагается ряд модификаций подхода: итеративное построение модели графического интерфейса, расширение списка атрибутов элементов графического интерфейса, алгоритм итеративного построения тестовых наборов по графу потока событий с целью явной проверки функциональности всех элементов графического интерфейса. В статье рассмотрены результаты практических экспериментов применения предложенных модификаций для набора проектов с открытым исходным кодом, демонстрирующие повышение эффективности анализа и полноты покрытия графического интерфейса создаваемыми тестовыми наборами. В заключение статьи обсуждаются перспективные направления дальнейшей работы, включающие применение методов символьного исполнения и анализа помеченных данных.

Об авторах

М. К. Ермаков
Институт системного программирования РАН
Россия


А. Ю. Герасимов
Институт системного программирования РАН
Россия


Д. О. Куц
Институт системного программирования РАН
Россия


А. А. Новиков
Институт системного программирования РАН
Россия


Список литературы

1. Страница проекта Ranorex. http://www.ranorex.com/ [HTML]. Обращение от 10.10.2016

2. Abbot framework for automated testing of Java GUI components and programs. https://abbot.sourceforge.net. Обращение от 10.10.2016

3. Страница проекта Maveryx. https://sourceforge.net/projects/maveryx/ [HTML]. Обращение от 10.10.2016

4. Страница проекта Squish. https://www.froglogic.com/squish/ [HTML]. Обращение от 10.10.2016

5. Bao N. Nguyen, Bryan Robbins, Ishan Banerjee, Atif Memon. GUITAR: an innovative tool for automated testing of GUI-driven software. Automated software engineering, 2013, vol. 21(1), pp. 65-105.

6. Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 2-е изд. М.:«Вильямс», 2006. 1296 с.


Рецензия

Для цитирования:


Ермаков М.К., Герасимов А.Ю., Куц Д.О., Новиков А.А. Проведение итеративного динамического анализа приложений, предоставляющих графический интерфейс пользователя. Труды Института системного программирования РАН. 2017;29(1):119-134. https://doi.org/10.15514/ISPRAS-2017-29(1)-8

For citation:


Ermakov M.K., Gerasimov A.Y., Kutz D.O., Novikov A.A. Applying iterative dynamic analysis to programs with graphical user interface. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2017;29(1):119-134. (In Russ.) https://doi.org/10.15514/ISPRAS-2017-29(1)-8



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)