- Meetup
- Location
11 декабря в петербургском офисе Одноклассников состоится ок.tech: QATOK – мероприятие, посвященное обеспечение качества в ИТ проектах и всему, что с этим связанно. Вместе с коллегами из OK, Mail.ru и Qameta Software поговорим про замеры производительности в Android-приложениях, обсудим визуализацию покрытия автотестов, разберемся почему PageObject уже устарел и пришло время его заменить.
Замеры производительности в Андроид приложении – Антон Смолянин, OK
Одноклассники — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. По этой причине мы очень серьёзно относимся к производительности нашего Android-приложения. В докладе я расскажу о том зачем в принципе заниматься замерами, покажу графики ускорения, поделюсь историей того как были найдены и исправлены медленные участки приложения, также обратим внимание на рекомендации Google по этому вопросу.
Затем разберемся с инструментами, начнем с того, что можно посмотреть в Android Studio, далее обсудим консольные утилиты. После этого я поделюсь лайфхаками о том как настроить приложение, чтобы повысить точность измерений и в итоге встроить всё в процесс тестирования. В завершении доклада расскажу о проблемах, которые пришлось решить на этом пути.
PageObject устарел, время придумать замену – Анатолий Остапенко, Mail.Ru
В крупных Single Page Application применение паттерна PageObject затрудняется тем, что приходится в одном классе описывать локаторы и действия с очень большим количеством элементов на странице. Из-за этого замедляется написание автотестов и страдает качество кода. Я расскажу о том, как мы в интеграционных UI автотестах отказались от классического паттерна PageObject и что придумали ему взамен. Про то, как новое решение связано с кодогенерацией, как оно помогает добиваться строгой типизации тестов и как оно ускоряет их написание.
Визуализация покрытия автотестов – Артем Ерошенко, Qameta Software
Современные способы измерения покрытия хороши только для разработки. При этом количество полезной информации из отчетов покрытия крайне мало. С одной стороны, есть все строчки кода, которые не были задействованы в ходе выполнения тестов. С другой стороны, единственная важная информация — это процент покрытия. При этом интересно не абсолютное значение, а дельта с предыдущим. Артем представит несколько простых решений, которые позволяют оценивать покрытие тестов, написанных автоматизаторами тестирования.
- API-тесты. Есть сваггер, во время его выполнения мы тоже собираем сваггер. Считаем покрытие, как дифф двух свагеров. Видно что покрыто, что нет, и какими данными.
- Web-тесты. Во время выполнения тестов мы собираем информацию про элементы, страницы и действия. В результате получаем такой формат:
- Страница;
- Элементы;
- Действия;
- Тесты.
Все это отправляем в плагин. На странице рисуем элементы, которые были затронуты в ходе выполнения тестов. Плюс дополнительную информацию: список тестов на странице с видео.
В результате можно очень быстро отвечать на следующие вопросы:
- Что покрыто, а что нет.
- Как покрыто (только кликнули или проверили текст).
- Какие тесты проходят через эту страницу.
- Какие элементы наиболее часто используются. Вообще, такого лучше избегать, потому что это потенциальная точка отказа.
- Наводить на тест, увидеть видео из Selenoid.
- Подключили к Selenium. Можно легко доделать для Puppeteer и для чего угодно. Будет удобно понимать, что проверяется и зачем.
Расписание докладов:
19:00 — 19:40 PageObject устарел, время придумать замену – Анатолий Остапенко, Mail.Ru
19:40 — 20:30 Замеры производительности в Андроид приложении – Антон Смолянин, OK
20:30 — 21:00 Кофе-брейк, пицца, общение, нетворкиг
21:00 — 21:40 Визуализация покрытия автотестов – Артем Ерошенко, Qameta Software
Мы ждем всех, кто хочет пообщаться с экспертами в области обеспечения качества на митап 11 декабря в свой петербургский офис.
Приходите, будет интересно и полезно!