×

Шпаргалка для QA: как тестировать Flutter-приложения

Россия +7 (909) 261-97-71
Шрифт:
0 1126
Подпишитесь на нас в MAX

Привет! Меня зовут Юлия Андреева, я QA-специалист в AGIMA. Мы много работаем с Flutter-приложениями, и я заметила, что не все понимают их специфику. В этой статье расскажу о ключевых инструментах и подходах, которые применяются именно к тестированию Flutter.

Что важно знать о Flutter

Flutter – это кросс-платформенный фреймворк от Google. С его помощью можно разрабатывать приложения сразу для Android, iOS, Web и даже десктопа. Сегодня в Google Play уже более 700 тысяч Flutter-приложений. 

Уникальная архитектура и концепция виджетов обеспечивают высокую производительность, но требуют особого подхода к тестированию. Разберем, какие нюансы важно учитывать.

Особенности тестирования Flutter-приложений

Попробую суммировать, какие тонкости наша команда замечает при работе с Flutter-проектами. Я их объединила в три большие группы.

● Архитектура Flutter.

Все элементы представляют собой виджеты. Это упрощает тестирование интерфейса и функциональности, а также обеспечивает единообразие интерфейса в приложении.

● Кросс-платформенность.

Можно сильно сэкономить время на тестировании приложения для каждой платформы. Платформенно-специфические функциональности тестируешь отдельно на iOS и на Android, всё остальное – на какой-то одной.

● Специфические инструменты тестирования.

Flutter предоставляет собственные инструменты для тестирования виджетов и интеграционного тестирования, например FlutterDevTools.

Проблемы и их решение при тестировании Flutter-приложений

Самая популярная проблема – отслеживание трафика. Dart обычно использует высокоуровневые библиотеки для HTTP-запросов. Библиотеки инкапсулируют низкоуровневые детали сетевого взаимодействия. И это затрудняет прямой доступ или мониторинг данных – как отправляемых, так и получаемых.

Проблема решается подключением прокси-сервера. Лучше всего добавить этот функционал в вашу инженерную панель.

При тестировании различий UI/UX на разных платформах чаще всего мы сталкивались с такими проблемами:

  • Проблемы с анимацией, обращайте внимание на переходы и скроллы, особенно на iOS-устройствах.
  • Работа с жестами при закрытии и свайпах экранов.
  • Отображение системных диалоговых окон.

Не стоит фокусироваться на всех кнопках. Лучше обращать внимание только на существенные различия. Плюс помогает общение с сообществом. На GitHub можно найти множество уже открытых проблемы, а также добавить свою.

Кроме того, в решении любых проблем помогает Flutter DevTools.

Flutter DevTools

Этот комплект инструментов для отладки и профилирования в экосистеме Flutter дает нам возможность глубоко анализировать и тестировать приложения. Мы можем использовать его для инспекции иерархии виджетов. Это помогает выявлять проблемы с UI, а также мониторить производительность и использование памяти приложения.

Особенно ценной мы считаем его способность к отслеживанию сетевых запросов и логированию. Это делает его мощным инструментом в нашей повседневной практике тестирования и отладки.

Flutter DevTools

Так выглядит интерфейс Flutter DevTools

Интеграция голден тестов в процесс разработки

Мы также активно внедряли голден тесты в наши процессы разработки. Команда тестирования участвовала в разработке сценариев для этих тестов.

Голден тесты – это специальные тестовые сценарии, которые записывают ожидаемые результаты выполнения приложения.

Они работают путем сравнения текущего внешнего вида виджетов с «золотым» эталоном – заранее сохраненными изображениями ожидаемого внешнего вида. Когда разработчики вносят изменения в код, голден тесты автоматически сравнивают новые изображения с эталонными, чтобы обнаружить любые отклонения.

Пример реализации:

Пример реализации

Внедрение автоматизации

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

Что необходимо учитывать:

  • Flutter-совместимость. Наши тесты должны говорить на одном языке с Flutter, так что выбирайте инструмент, дружащий с Dart. Среди них Selenium, Patrol, утилиты integration_test (ex-Flutter Driver), библиотеки flutter_gherkin().
  • Кросс-платформенность. Flutter не знает границ, так что и наш фреймворк должен уметь работать и на Android, и на iOS.
  • Дружба с CI/CD. Хотите скорости и удобства? Убедитесь, что ваш фреймворк ладит с Jenkins, GitLab и прочими CI/CD-инструментами.
  • Популярность в индустрии. Выбирайте фреймворк, который имеет большое комьюнити.

Наш выбор пал на Appium – это открытый инструмент для автоматизации тестирования мобильных приложений, который поддерживает множество платформ, так же как и Flutter. Тесты для Appium можно писать на разных языках программирования. А еще он легко интегрируется с системами непрерывной интеграции и доставки (CI/CD).

Проблема, с которой мы столкнулись: почти всё в приложении является виджетом. Поэтому нам не удавалось получить текст из некоторых модальных окон. Чтобы решить эту задачу, обращайтесь к своей разработке. Они добавят идентификаторы к элементам.

В итоге с помощью Appium мы сильно сократили время на регрессионное тестирование. Ранее полный регресс в нашей команде занимал до 90 часов, а после автоматизации время сократилось до 33 часов. Среднее время выполнения одного теста ~1,5 минуты. Около 10% дефектов заводилось благодаря автотестам.

Параметризацией и оптимизацией тестовых сценариев удалось уменьшить количество тест-кейсов с 1334 до 483 – более чем в два раза! Параметризация позволила сделать тесты более гибкими и адаптировать их под различные условия. В итоге мы стали эффективнее распределять наши ресурсы и уделять больше внимания новым функциям и улучшениям.

End-2-end тест

End-2-end тест на 6 страниц проходит всего за полторы минуты

Заключение

Тестирование Flutter-приложений требует специфического подхода, учитывающего уникальные особенности фреймворка.

Раннее тестирование с использованием голден тестов, оптимизация процессов, применение автоматизации с параметризацией на основе Appium и интеграция с CI/CD позволяют повысить эффективность и точность тестирования для вашего продукта. В этом мы убедились на собственном опыте.


Есть о чем рассказать? Тогда присылайте свои материалы в редакцию.


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Накрутка ПФ vs Бизнес: как накрутка поведенческих факторов «убьет» ваш бизнес в интернете
Гость
1
комментарий
0
читателей
Полный профиль
Гость - Вообще бред несут-пункт позиции и там и там суотрудничать,банов нет,риски и остальные пункты просто смешно,пф гораздо эффективнее чем платить в пиксель)))
Мы сократили рутину SEO-специалиста на 95% – вот архитектура, которая это сделала
Гостьkorayaskin
2
комментария
0
читателей
Полный профиль
Гостьkorayaskin - Можно также посмотреть разбор инструментов типа KeywordKick — помогает быстрее понять, где именно конфликт сигналов.
GEO-продвижение: гайд повышения видимости бренда (сайта) в нейросетях
dayitrix
3
комментария
0
читателей
Полный профиль
dayitrix - Спасибо за разбор. Сейчас как раз в процессе изучения GEO-продвижения, хочется разобраться, как вообще попадать в ответы нейросетей. Ну и смотрю, уже услуги по такому продвижению начали появляться, типа Zenlink Geo. Но пока по большей части информацию собираем, что это и стоит ли в это лезть. Но учитывая то, что люди сейчас в основном через нейронной информацию ищут, было б неплохо, чтоб нейросети нас упоминали)
Как ChatGPT выбирает компании для рекомендаций: что уже известно и как бизнесу подготовиться к эпохе AI Search
Сергей Семенов
1
комментарий
0
читателей
Полный профиль
Сергей Семенов - Спасибо за вопрос. Нет, полностью автоматически отчёт не генерируется. Мы сознательно не пошли по пути «нажал кнопку — получил PDF». В RECOMO мы используем ИИ как инструмент анализа, а не как замену методологии. Наш процесс состоит из нескольких этапов: Проводится серия проверок в различных AI-системах (ChatGPT, Gemini, Claude и других) по заранее сформированной методике и набору запросов. Собираются данные о том, какие компании рекомендуются, в каком контексте, какие источники используются и какие цифровые сигналы присутствуют. Далее ИИ помогает структурировать и анализировать большой объём информации, выявлять закономерности и формировать черновики выводов. После этого отчёт обязательно проходит экспертную проверку нашей командой. Мы дополняем его интерпретацией результатов, практическими рекомендациями и проверяем, чтобы выводы действительно соответствовали данным. Пока рынок AI Search только формируется, полностью доверять генерацию подобных аудитов одной языковой модели было бы неправильно. Именно поэтому мы сочетаем собственную методологию, автоматизированный сбор и анализ данных и экспертную валидацию результатов. Наша цель — не просто красиво оформить отчёт, а дать бизнесу рекомендации, которые действительно помогут повысить AI Visibility и увеличить вероятность появления бренда в рекомендациях современных AI-систем.
Яндекс добавил продвинутую ИИ-модель в Алису на всех умных устройствах
Тимофей
1
комментарий
0
читателей
Полный профиль
Тимофей - Какой смысл усовершенствовать если в нашей стране запрещено говорить правду!
Конференция GEO 2026: как брендам попасть в ответы нейросетей
Дмитрий Севальнев
0
комментариев
0
читателей
Полный профиль
Дмитрий Севальнев - Мощно, мощно!
Что прямо сейчас можно сделать сайту регионального СМИ, чтобы получить мощный приток органического трафика
Дмитрий Севальнев
0
комментариев
0
читателей
Полный профиль
Дмитрий Севальнев - Максим, молодец! Хороший материал
Сервисы для создания квизов: сравнение по конверсии, гибкости сценариев и интеграциям
Виктор
1
комментарий
0
читателей
Полный профиль
Виктор - Без сервиса FormDesigner.ru эта подборка будет не полной. Удивлен, почему вы его не включили в список?
5 полезных сервисов для работы с учебными текстами
Anna B.
2
комментария
0
читателей
Полный профиль
Anna B. - Отличный разбор, очень своевременно!
Сайт компании в 2026 году: что проверяет Роскомнадзор и как не получить штраф
Олег Черников
1
комментарий
0
читателей
Полный профиль
Олег Черников - Дима спасибо, отличный обзор! За ГОСТ Р 52872-2019 спасибо! Давно около него ходил.
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
393
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
142
Комментариев
130
Комментариев
121
Комментариев
100
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
66
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!