Разделы портала

Онлайн-тренинги

.
Тестирование мобильных приложений
Пермишены (permissions) для тестировщика: зачем нужно, что такое и как с этим работать
15.07.2024 00:00

Автор: Сухарев Антон @antohen_suh
Оригинальная публикация

В тестировании, особенно мобильном, существуют специфические области приложений, которые не всегда тестируются «вдумчиво» в силу своей необычности. Одна из таких областей — это разрешения или, как их принято называть, permissions (пермишены). Всё чаще я сталкиваюсь с ними в работе , на собеседованиях и в различных тренажерах по тестированию, поэтому решил погрузиться и более детально рассмотреть эту необычную и по-своему интересную часть мобильных приложений.

Меня зовут Антон, я QA Mobile в компании MobileUp. В статье я разберу, что такое пермишены, для чего нужны, какие виды существуют, где их можно найти и как тестировать. Эту статью я пишу исключительно с точки зрения ручного тестирования, но в конце текста оставлю интересные ресурсы, которые могут пригодиться для QA Auto (но это не точно).

Подробнее...
 
Утечки памяти в мобильных приложениях: руководство для QA-инженеров
10.07.2024 00:00

Оригинальная публикация

Меня зовут Ира и я руковожу отделом тестирования мобильной платформы: наш отдел занимается разработкой инструментов для автоматизации тестирования мобильных приложений Ozon и тестированием внутренних библиотек, которые используются в наших приложениях. Около года назад мы пытались понять, почему у одной из команд джоба с автотестами отваливается по тайм-ауту. К слову, это был проект мобильного приложения для продавцов, и на нем у нас для автоматизации тестирования используются нативные фреймворки: Kaspresso + Kotlin для Android и XCTest + Swift для iOS.

Одна из гипотез заключалась в том, что в приложении могут быть утечки памяти и что-то зависает. Спойлер: дело было не в этом. В общем, около года назад я проверяла, что к чему там у нас с памятью приложения, а сейчас поняла, что полученными знаниями можно и поделиться.

Эта статья будет полезна тем, кто только начинает изучать, что происходит со стабильностью мобильного приложения. Внутри статьи разберёмся с тем, как приложение работает с оперативной памятью; что такое утечки памяти и когда они возникают; как утечки влияют на стабильность работы приложения и как их находить.

Как исправлять найденные проблемы в своей статье я не описываю.

Подробнее...
 
Карантин UI-тестов в iOS
14.06.2024 00:00

Автор: Тимур Шафигуллин

Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru. Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся.

Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас у нас включено около 600 UI-тестов: они гоняются утром, вечером и на каждом PR в develop. О том, как мы обеспечиваем качество мобильной разработки есть отдельная статья.

Рано или поздно большое количество UI-тестов скорее всего начнут тормозить разработку, потому что их стабильность зависит от множества факторов: стенды (API), инфраструктура (обновление Xcode, машин, СI), кодовая база. Даже из‑за проблем в самом XCUITest тесты могут начать выдавать аномалии.

Подробнее...
 
Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска
15.05.2024 00:00

Автор: Эмилия Куцарева

UI-автотесты под Android — отличный инструмент, который позволяет кратно сократить время на проверку разрабатываемых фич и свести к минимуму участие в ручном регрессионном тестировании инженеров по обеспечению качества. Но работать с UI-тестами надо правильно — иначе все может прийти к ситуации, при которой автотесты становятся нестабильными, а их результаты не вызывают доверие.

Меня зовут Эмилия Куцарева. Я — руководитель команды автоматизации тестирования в Одноклассниках (VK). В этой статье я расскажу о нашем подходе к работе с Android UI-автотестами: как устроен запрет мерджа, как смогли стабилизировать тесты, как настроили параметризацию запуска.

Подробнее...
 
Тестирование микросервисов: просто и эффективно даже для начинающих
18.10.2023 00:00

Автор: Кошелев Михаил

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

Аналогия с кубиками Лего. Для начала давайте представим приложение как огромную модель из кубиков Лего, а микросервисы — как сами эти кубики. Они могут работать независимо, но если их соединить, получится настоящее волшебное здание. Но как узнать, какой вклад вносит каждый «кубик»?

Пример из реальной жизни: интернет-магазин микросервисов. Допустим, у нас есть интернет-магазин. В нем действуют три микросервиса: «Магазин одежды», «Корзина покупок» и «Оплата». Каждый микросервис — это свой собственный «кубик Лего».

Подробнее...
 
Тестирование Flutter-приложений c помощью Appium
16.10.2023 12:08

Автор: Дмитрий Тумашев
Оригинальная публикация

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

С помощью стандартной библиотеки Flutter, разработчики могут создавать различные типы тестов: unit-тесты, widget-тесты и интеграционные тесты. Каждый из этих типов тестов имеет свое специфическое применение и важность.

Рассмотрим интеграционные тесты. Они проверяют, как взаимодействуют несколько частей приложения вместе, или даже весь стек приложения в целом. Так как фреймворк уже содержит в себе инструменты для написания таких тестов, Flutter-разработчики могут писать тесты, не используя дополнительных внешних инструментов. Если же тесты пишет отдельная QA-команда, это может стать проблемой, так как Dart - далеко не самый популярный язык. К счастью, есть инструменты, которые позволяют тестировать Flutter-приложения не используя Dart.

Appium - это открытый инструмент автоматизации тестирования, который позволяет вам тестировать все типы приложений: нативные, гибридные, а также мобильные веб-приложения, в том числе и Flutter, используя популярные языки программирования.

Appium состоит из трех основных компонентов или модулей:

  1. Сервер, который устанавливается на машине разработчика и слушает команды тестирования от клиента.

  2. Клиентские библиотеки для различных языков программирования (Java, Ruby, Python, PHP, JavaScript), которые обеспечивают поддержку для написания скриптов.

Для Flutter добавляется третий элемент - библиотека Appium-Flutter-Driver, которая позволяет тестовым сценариям взаимодействовать с Flutter-приложением.

В этом гайде описывается, как настроить окружение для тестирования с помощью Appium и создать тесты для Flutter-приложения используя Python.

Подробнее...
 
Как выбрать фреймворк мобильной автоматизации?
21.08.2023 00:00

Автор: Нихил Дабаде (Nikhil Dabhade)
Оригинал статьи
Перевод: Ольга Алифанова

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

«Какой фреймворк тест-автоматизации выбрать для автоматизации мобильных и веб-тестов?»

Подробнее...
 
Как эволюционировали уязвимости в приложениях для Android
10.08.2023 00:00

Автор: Артем Кулаков, старший специалист группы исследования безопасности мобильных приложений, Positive Technologies
Оригинальная публикация
Еще больше об уязвимости в мобильных приложениях можно узнать тут

История развития приложений для Android прошла несколько заметных этапов. Были небольшие приложения, работающие локально, клиент-серверные приложения, экосистемы приложений и, наконец, суперапы (super-app). Каждый из этих этапов повышал планку сложности, порождал новые уязвимости и заставлял разработчиков все больше заботиться о безопасности как самих приложений, так и данных, которыми они оперируют. Развивалась и сама операционная система. Она давала разработчикам больше возможностей и механизмов обеспечения безопасности.

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

Подробнее...
 
Про тестирование мобильных приложений. Часть 4. Интеграционное тестирование
06.07.2023 00:00

Автор: Виталий Никоноров
Оригинальная публикация

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

Перед тем как приступить к рассмотрению самих интеграционных тестов, предлагаю сделать краткое резюме описанного ранее материала и обратить внимание на плюсы и минусы юнит и системных тестов. Для этого проанализируем наиболее типовую на данный момент архитектуру мобильного приложения и попробуем разработать тестовую стратегию, на основе описанных ранее видов тестирования.

Подробнее...
 
Про тестирование мобильных приложений. Часть 3. Cквозное (UI, e2e) тестирование
29.05.2023 00:00

Автор: Виталий Никоноров
Оригинальная публикация

Ранее мы с вами познакомились с пирамидой тестирования и ее основанием. В данной же статье предлагаю перейти к сразу к вершине пирамиды.

На вершине пирамиды, представленной в статье 1, расположены сквозные тесты. В контексте сквозных тестов, речь может идти об e2e (end-to-end), UI, системных, тестах пользовательского интерфейса... Иными словами в данной статье речь пойдет о тестах, которые проводятся над системой, как над единым целым. Основная задача этой группы тестов - проверка того, удовлетворяет ли вся система, как единое целое, представленным и заявленным требованиям.

В разработке мобильных приложений в целом, как и в разработке приложений под android в частности, понятие e2e тесты часто используется как синоним понятий тесты пользовательского интерфейса (UI тесты) и инструментальные тесты. Однако следует помнить, что в общем случае это не совсем так, поскольку они не всегда означают одно и то же, так как все может зависеть от контекста. 

Инструментальные тесты – это тесты, для выполнения которых требуется специальная среда – либо физически подключенное устройство (смартфон, планшет и т.п.), либо эмулятор (симулятор). Данная группа может не ограничиваться привычными UI тестами, но может также включать в себя большое множество других видов тестирования - например тестирование работы с базой данных или диском, в которых UI вовсе не нужен, screenshot тесты и т.д.

Подробнее...
 



Страница 1 из 11