Главное меню

Современные методы автоматизированного тестирования графического интерфейса программного обеспечения: сравнительный анализ инструментов Selenium и EyeAutomate PDF Печать E-mail
Автор: Сергиенко А.Б.   
03.12.2024 12:38

СОВРЕМЕННЫЕ МЕТОДЫ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: СРАВНИТЕЛЬНЫЙ АНАЛИЗ ИНСТРУМЕНТОВ SELENIUM И EYEAUTOMATE

 

Сергиенко А.Б., старший научный сотрудник,

Волгоградский технический университет,г. Волгоград, Россия

 

Аннотация: В статье представлен сравнительный анализ современных инструментов автоматизированного тестирования графического интерфейса пользователя – Selenium и EyeAutomate. Исследование основано на практическом применении данных инструментов при тестировании промышленного программного обеспечения. Проведена оценка затрат на внедрение и сопровождение автоматизированных тестов, а также расчет возврата инвестиций.

Ключевые слова: автоматизированное тестирование, графический интерфейс пользователя, визуальное тестирование.

 

Введение

Стремительное развитие программного обеспечения и повышение требований к его качеству обуславливает необходимость автоматизации процессов тестирования, что становится все более актуальным в условиях постоянно растущей сложности современных приложений и систем. Особенно актуальным является автоматизированное тестирование графического интерфейса пользователя, поскольку ручное тестирование GUI является трудоемким и подверженным ошибкам процессом, требующим значительных временных и человеческих ресурсов для обеспечения надлежащего качества программных продуктов[1,2]. В настоящее время существует множество инструментов автоматизации GUI-тестирования, которые можно разделить на несколько поколений, каждое из которых имеет свои особенности, преимущества и недостатки в контексте различных задач тестирования и специфики разрабатываемого программного обеспечения. Стремительный рост количества веб-приложений и мобильных приложений с насыщенным пользовательским интерфейсом делает задачу выбора оптимального инструмента автоматизации тестирования особенно важной для успешной реализации проектов по разработке программного обеспечения. В данной работе проводится сравнительный анализ представителей второго поколения (Selenium) и третьего поколения (EyeAutomate) инструментов автоматизированного тестирования GUI, что позволяет оценить их эффективность и целесообразность применения в различных условиях разработки современного программного обеспечения [3]. Результаты данного исследования могут быть использованы руководителями проектов и специалистами по обеспечению качества для принятия обоснованных решений при выборе инструментов автоматизации тестирования графического интерфейса пользователя.


Сравнительный анализ эффективности автоматизированного тестирования веб-приложения с использованием Selenium и EyeAutomate

Исследование проводилось на базе промышленного веб-приложения MAPPRO ONLINE, содержащего более 250 000 строк кода на C# и более 100 уникальных веб-страниц. Для сравнительного анализа были выбраны 6 из 20 критически важных тестовых сценариев. Тестирование проводилось на 66 версиях приложения за период один год. В качестве тестового окружения использовался виртуальный сервер с 8 ГБ оперативной памяти и четырехъядерным процессором Intel Core i5 [4,5].


Методология тестирования включала в себя несколько этапов: подготовка тестового окружения, разработка тестовых сценариев, реализация автоматизированных тестов, выполнение тестов и анализ результатов. Тестовые сценарии охватывали основные бизнес-процессы приложения, такие как авторизация пользователей, создание и редактирование документов, формирование отчетов и выполнение поисковых запросов. Каждый сценарий был реализован как на Selenium, так и на EyeAutomate для обеспечения объективного сравнения.


В процессе исследования оценивались следующие ключевые параметры:время, необходимое для первоначальной реализации автоматизированных тестов, в том числе время на изучение документации и настройку окружения. Также учитывались затраты на поддержку и сопровождение тестов, которые включали время на обновление тестов при изменениях интерфейса. Кроме того, оценивалось количество выявленных дефектов различной степени критичности и время выполнения тестов с учетом подготовки тестовых данных. Наконец, анализировалось удобство использования инструментов, включая качество документации и сложность отладки.

Для повышения достоверности результатов тестирование выполнялось в различных браузерах (Chrome, Firefox, Edge) и при различных разрешениях экрана [6]. Также учитывалось влияние сетевых задержек и нагрузки на сервер. Сбор метрик производился автоматически с помощью встроенных средств мониторинга и специально разработанных скриптов.


Сравнительный анализ эффективности инструментов автоматизации тестирования EyeAutomate и Selenium: временные затраты, производительность и точность обнаружения дефектов

В процессе исследования были получены следующие количественные результаты, которые удалось собрать в ходе длительного анализа:

Время первоначальной реализации тестов составило около 20 рабочих часов для EyeAutomate и 38 часов для Selenium, что объясняется различной сложностью настройки и конфигурации данных инструментов. При этом затраты на поддержку тестов оказались на 32% выше для EyeAutomate по сравнению с Selenium, что связанно с особенностями работы визуального движка распознавания.


EyeAutomate позволил выявить 30 дефектов, что на 25% больше, чем Selenium (24 дефекта). Полученная разница объясняется более тщательной проверкой визуальных элементов интерфейса. Время выполнения автоматизированных тестов составило 7,5 минут для Selenium и 30 минут для EyeAutomate при 75 минутах для ручного тестирования, такая существенная разница во времени выполнения связана с различными подходами к верификации элементов интерфейса.


Детальный анализ распределения затрат в течение года показал, что основную долю (около 87%) составляют затраты на первоначальную реализацию тестов для обоих инструментов автоматизации. При этом затраты на поддержку тестов существенно зависят от частоты и масштаба изменений пользовательского интерфейса, что подтверждается корреляционным анализом (r=0.78, p<0.01).


Проведенные интервью с разработчиками (n=12) показали, что Selenium требует навыков программирования на уровне старшего разработчика, в то время как EyeAutomate более интуитивно понятен и не требует глубоких технических знаний. При этом EyeAutomate оказался более чувствительным к визуальным изменениям интерфейса, что приводит к необходимости более частого обновления эталонных изображений.


Дополнительный анализ стабильности работы тестов показал, что количество ложноположительных срабатываний у EyeAutomate на 45% выше по сравнению с Selenium, что связано с особенностями визуального распознавания элементов интерфейса. Однако, при этом EyeAutomate демонстрирует более высокую точность обнаружения визуальных дефектов интерфейса – 92% против 78% у Selenium.


Исследование производительности показало, что при увеличении количества проверяемых элементов интерфейса время выполнения тестов в EyeAutomate растет линейно, тогда как в Selenium зависимость близка к логарифмической, что связанно с различными алгоритмами поиска и верификации элементов, используемыми в данных инструментах.

 

Заключение

Проведенное исследование продемонстрировало, что выбор инструмента автоматизации GUI-тестирования основывается на специфике проекта и особенностях команды разработки. EyeAutomate демонстрирует меньшие временные затраты на первоначальную реализацию тестов и более прост в освоении, однако имеет более высокие затраты на поддержку при частых изменениях интерфейса. В то же время Selenium требует значительно больше времени на реализацию тестов и навыков программирования, но обеспечивает более стабильную работу тестов при изменениях интерфейса приложения.


Анализ экономической эффективности показал, что возврат инвестиций достигается через 18 недель для EyeAutomate и 36 недель для Selenium при еженедельном выполнении тестов. Частота проведения ручного тестирования существенно влияет на срок окупаемости автоматизации, что необходимо учитывать при планировании внедрения автоматизированного тестирования. Дополнительно следует отметить, что при редком выполнении тестов (реже одного раза в неделю) срок окупаемости увеличится в 1.5–2 раза.


Полученные результаты исследования могут быть использованы при выборе инструментов автоматизации GUI-тестирования с учетом специфики проекта, квалификации команды и частоты изменений пользовательского интерфейса. Важно также учитывать долгосрочную перспективу развития проекта, поскольку первоначальные затраты на внедрение более сложного инструмента могут компенсироваться снижением затрат на поддержку в будущем. При выборе инструмента следует принимать во внимание не только технические характеристики, но и человеческий фактор – уровень подготовки специалистов, их готовность к обучению новым технологиям и предпочтения в использовании различных подходов к автоматизации тестирования. Дополнительным фактором может служить наличие готовых библиотек и компонентов для выбранного инструмента, что может существенно сократить время на разработку тестов.


Литература

1.     Архипов И.С. Внедрение автоматизированного тестирования в Agile-разработке // Universum: технические науки. 2023. № 10-1(115). С. 25-30. DOI: 10.32743/UniTech.2023.115.10.16100.

2.     Белкин Д.А. Разработка сценария тестирования системы анализа функционирования веб сайтов // Современные информационные технологии в образовании, науке и промышленности: XХV Международная конференция, XХIII Международный конкурс научных и научно-методических работ, IX Международный конкурс «Научное школьное сообщество», Мытищи, 27–28 апреля 2023 года. Москва: Общество с ограниченной ответственностью "Издательство "Экон-Информ", 2023. С. 19-22.

3.     Букарев А.В. Практическое применение формализованного подхода для оптимизации процесса тестирования программного обеспечения в автоматизированных системах управления технологическими процессами (АСУ ТП) // Современные наукоемкие технологии. 2023. № 5. С. 7-12. DOI: 10.17513/snt.39609.

4.     Букарев А.В. Программная реализация модели процессов тестирования программного обеспечения методами ручного, модульного и автоматизированного тестирования : свидетельство о государственной регистрации программы для ЭВМ № 2023619895 Рос. Федерация. № 2023619185; заявл. 03.05.2023; опубл. 17.05.2023.

5.     Громыко А.А., Солтанов В.Р. Роль автоматизации в обеспечении качества тестирования: преимущества и недостатки // Современные тенденции развития науки и мирового сообщества в эпоху цифровизации (шифр -МКСТР): Сборник материалов XXIII Международной научно-практической конференции, Москва, 30 апреля 2024 года. Москва: ООО "Издательство "Экономическое образование", 2024. С. 163-165.

6.     Мироненко Ю.В., Селиверстов С.Д., Гниденко И.Г. Паттерны для автоматизированного тестирования // Научные исследования молодых ученых: современные вызовы и тенденции развития российской науки: Сборник материалов XI Международной научно-практической конференции молодых ученых, Санкт-Петербург, 27 февраля 2024 года. Санкт-Петербург: Санкт-Петербургский государственный экономический университет, 2024. С. 437-441.


 
Яндекс.Метрика