Обновить
60.58

Тестирование мобильных приложений *

Методы, советы, опыт

Сначала показывать
Порог рейтинга
Уровень сложности

System Design для QA: о чём вас спросят на собеседовании

Время на прочтение11 мин
Охват и читатели5.3K

Привет, Хабр! Я написал эту статью для тех, кто с System Design особо не сталкивался. Никаких предварительных знаний не нужно — всё объясню с нуля. Если вы уже знаете, что такое load balancer — местами будет скучно, но, может, в секции про очереди или мониторинг найдёте что-то новое.

Читать далее

Новости

Soft Skills для тестировщика: почему «мягкие» навыки важнее «жестких» скриптов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5K

В мире тестирования программного обеспечения часто царит культ «хард скиллов». Selenium, SQL, Postman, Charles, написание автотестов — все это визитная карточка технического специалиста. Безусловно, эти навыки критически важны. Но есть загвоздка: самый совершенный скрипт не найдет баг, который требует человеческого любопытства, и не донесет критичную проблему до разработчика, который вас не слышит.

Пора признать: ключевое отличие тестировщика-исполнителя от тестировщика-аналитика и мыслителя заключается в развитых soft skills.

Читать далее

Backend-driven UI в Авито: от идеи к проду

Время на прочтение10 мин
Охват и читатели8.6K

Всем привет! Меня зовут Влад Шатиленко, я продакт-менеджер в команде технической платформы Авито. Раньше я был разработчиком: начинал с аутсорса, затем работал в стартапе, где со временем перешёл в продакты. Сейчас в Авито занимаюсь развитием инструментов backend-driven UI — о них и пойдёт речь дальше. Статья будет полезна командам, которым важны скорость экспериментов, быстрые изменения интерфейса и кроссплатформенность.

Читать далее

15 промптов ChatGPT для QA

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели13K

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

Как превратить ChatGPT в ассистента, который берёт эту рутину на себя? В статье — 15 промптов, которые уже помогли командам ускорить процессы и освободить время для реального тестирования.

Статья будет полезна manual/automation QA, лидам и аналитикам, которые хотят систематизировать процессы и сократить рутину с помощью ИИ.

Читать далее

Школьная информатика в составлении тест-кейсов авторизации

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели7.9K

Поговорим о блоксхемах.

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

Читать далее

Мертвые не кусаются, но светятся: как работает приложение Локатор в iOS в 2026 году

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.4K

Вы узнаете, как на самом деле работает магия приложения Локатор (Find My в англоязычной версии): от аппаратных хитростей контроллера питания до пост-квантовых алгоритмов шифрования. Мы разберем, почему «выключенный» iPhone - это лишь иллюзия для пользователя, как математика защищает ваши координаты от самой Apple и почему ваш смартфон превращается в криптографический маяк, когда гаснет экран. Статья будет интересна разработчикам, специалистам по безопасности и всем, кто хочет понимать реальные возможности (и ограничения) современной электроники.

Продолжим

250 тестов вручную? Нет, спасибо. Автоматизируем screenshot-тестирование через Compose Preview

Время на прочтение12 мин
Охват и читатели5.7K

Давайте представим типичную ситуацию для разработчика: вы делаете фичу, код проходит ревью, тесты «зеленые». На первый взгляд все хорошо, вы отправляете её в релиз. А потом на проде обнаруживается визуальный баг: текст наехал на текст, цвет оказался не тот, отступ съехал. Бывало такое?

В чем проблема – ведь тесты были пройдены успешно? Дело в том, что юнит-тесты проверяют только логику. Им все равно на то, как выглядит экран.

А screenshot-тесты нужно писать вручную в большом количестве. В классическом подходе мы прописываем каждый тест, но что если у вас 50 экранов по 5 состояний на каждый? Так как же быть, если не хочется писать 250 тестов вручную, а проверку сделать нужно?

Узнать ответ на вопрос

37 000 unit-тестов против Gradle: как мы добились 12-минутного прогона

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.5K

Привет я Федотов Михаил, технический лидер по Android разработке в Альфа-банке. Сегодня хочу поговорить про performance (ускорение) unit тестов.

Я работаю на проекте Android приложения Альфа-банка для физических лиц. Для нашего большого проекта это время — больная тема, так как у нас около 800 модулей и большая часть кода полностью покрыта unit тестами (за некоторыми исключениями, например, view классы). Сейчас у нас почти 6000 spec (тест-классов) в которых 37 000 тест-кейсов.

Общее время прогона всех тестов на CI превышало 3 часа. Локально все тесты прогнать вообще было утопией, так как вероятнее всего сборка просто падала от нехватки оперативной памяти.

Сейчас все тесты проекта мы научились прогонять за честные 12 минут и я расскажу что для этого потребовалось.

Читать далее

Магия AirDrop: Как Apple заставляет Bluetooth и Wi-Fi работать в одной упряжке

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.5K

Разбираться во внутренностях AirDrop - это как препарировать фокус иллюзиониста: на сцене всё бесшовно, а за кулисами - вспотевшие инженеры пытаются заставить два разных радиомодуля не конфликтовать за общую антенну. Прочитав этот текст, вы поймете, как Apple фактически создала свой стек протоколов на базе стандартного железа, почему Bluetooth Low Energy - это «швейцар», а Wi-Fi - «грузчик», и как индустрия наконец-то пришла к единому стандарту передачи данных, который не заставляет владельцев Android чувствовать себя лишними на этом празднике жизни.

Продолжим

000xpda или как я реверсил электронный дневник и нашел ключи в логах

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели14K

В этом учебном году в нашей школе внедрили новый электронный дневник. Дизайн в стиле «привет из 2010-го», медленная загрузка - типичный набор для регионального госсектора. Глядя на всё это, я подумал: если визуальная часть сделана так лениво, то что же там под капотом?

Моё любопытство было вознаграждено сполна. Внутри мобильного приложения обнаружились: отладочные логи, пишущие сессионные куки в открытый доступ, самописная «криптография» на базе XOR, неиспользуемые фрагменты AES и вишенка на торте — захардкоженная в коде универсальная заглушка для авторизации, которую разработчики, видимо, забыли вырезать после тестов.

В этой статье я расскажу, как декомпиляция APK, USB-отладка и пара скриптов на Python помогли мне обойти защиту системы, написать собственного Telegram-бота для получения оценок, найти огромную дыру в безопасности и в очередной раз доказать, что концепция «Security through obscurity» не работает, если за дело берется школьник с JADX.

В программе:

Перехватываем X1_SSO через adb logcat.

Реверсим класс Crypt и реализуем его логику на Python.

Ищем загадочный pdakey и находим «магическую» строку 000xpda.

Находим полноценный IDOR и смотрим чужие оценки

Пишем бота, который работает быстрее официального приложения.

Читать далее

Самописные уведомления от Claude Code в Telegram

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели11K

Пока работал над флоу в статье, заметил, что некоторое количество просадок в производительности при работе с агентом вне режима авто-пилота возникает из-за тихих ожиданий. Например, ты не смотришь в IDE, читаешь что-то, а Claude Code сидит тебя ждет. Особенно это надоедает, когда агенту нужно какое-то разрешение.

Я люблю и практикую ChatOps. Поэтому решение пришло само: пусть агент мне пишет в телеге, когда я ему нужен.

Читать далее

MVVM+Coordinator+Factory: Святая Троица внедрения зависимостей

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.3K

Эта статья - финальный аккорд в нашей трилогии об архитектуре. Мы уже научились наводить порядок внутри экрана с помощью MVVM и управлять потоками переходов через Coordinator. Но остался один неудобный вопрос: кто создаст все эти зависимости? Если ваш Координатор превратился в свалку из десятка сервисов, которые он просто пробрасывает дальше, значит, пришло время внедрить Factory. Вы узнаете, как разделить создание объектов и управление ими, почему глобальные DI-контейнеры - это яд замедленного действия, и как построить систему, где каждый компонент получает только то, что ему нужно, не зная лишнего.

Продолжим

Опыт использования Линукс смартфона. Ubuntu Touch на Xiaomi Poco X3 NFC

Время на прочтение3 мин
Охват и читатели46K

В общем то решил я как-то попробовать перейти на Linux phone. Но решил сделать это тестово и дешевым способом, купил себе Xiaomi Poco X3 NFC за 5 тыс. руб на Авито, хорошенько потанцевал с бубнами и накатил себе Ubuntu Touch.

Читать далее

Ближайшие события

Тестирование в 2026: Manual VS Auto

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.5K

Привет! Меня зовут Оля, я работаю в сфере обеспечения качества ПО уже больше 17 лет. За это время я успела поработать в самых разнообразных компаниях по очень разным направлениям: от ПО для автозаправок до финтеха, агротеха и ритейла. Пробовала себя и в ручном, и в автоматизированном тестировании. В итоге лет 10 назад ушла с головой в менеджмент.

И как-то в разговоре с Алиной Илюхиной, автором канала Багов бояться - в прод не ходить, зашла речь про развитие QA в наше непростое время. Алина ставила интересные вопросы и в итоге у нас получилось отличное пятничное чтиво, статья-интервью, которой мы решили поделиться с общественностью, чтобы, как завещал Шрек, не держать в себе.

Читать далее

Как не сломать Android-приложение при защите от реверса

Время на прочтение11 мин
Охват и читатели8.2K

Привет, Хабр! На связи Александр Ананикян, аналитик сервиса по защите мобильных приложений от реверс‑инжиниринга. Мы в команде PT MAZE делаем «кнопку», которая превращает мобильные приложения в самый запутанный лабиринт для хакера.

Защита мобильного приложения от реверс‑инжиниринга и взлома — обязательный этап, который стоит учитывать при разработке релизной сборки. Протекторы используют обфускацию (запутывание), шифрование и другие техники, чтобы затруднить статический анализ и защитить код от модификаций злоумышленниками. Но у многих разработчиков присутствует страх сломать приложение применением таких техник.

Читать далее

Coordinator в iOS: как я перестал бояться кнопки «Назад» и полюбил навигацию

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели5.2K

Эта статья - логическое продолжение нашего погружения в архитектуру. Если в первой части мы навели порядок внутри «черного ящика» под названием ViewModel, то здесь мы выйдем за его пределы. Вы узнаете, как выпилить логику переходов из ViewControllers и ViewModels, почему вызов navigationController?.pushViewController() прямо в экшене кнопки - это архитектурный тупик, и как построить систему навигации, которая не превратит ваш проект в спагетти при добавлении десятого экрана. Мы разберем концепцию Child Coordinators, решим проблему утечек памяти (спойлер: системная кнопка "Назад" - ваш враг) и обсудим, выжил ли этот паттерн в эпоху SwiftUI.

Продолжим

Доступ к Google Store для Huawei

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели6.1K

Пост, думаю, будет актуален владельцам телефонов и планшетов Huawei, с установленной операционной системой Harmonyos 2 и 3 версии.

Цены на устройства от Huawei ниже цен всемирно известных брендов по разным причинам, в частности из-за санкций и ограничений со стороны США, при этом качество на приличном уровне.

Однако владельцам устройств этого бренда хорошо известна проблема с установкой приложений, так как сервисы Google на устройствах Huawei не работают, а с ними и магазин приложений Google Play тоже.

Читать далее

В QA платят не за тестирование: анализ зарплат по 2500 вакансиям

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели12K

«Сколько платят в QA» — вопрос не про цифры, а про роль. Анализ зарплат QA-вакансий за 2025 год по данным 2500 объявлений показывает, почему manual и junior остаются в нижнем сегменте рынка, а automation и fullstack-специалисты получают существенно больше.

Читать далее

Компромиссы построчной вставки в БД и батчинга

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.4K

У тех, кто не кодит, бытует мнение, что у разработчиков на любую задачу есть какое-то одно решение — бест-практика. Достаточно почитать SO или, вот теперь, пообщаться с нейронкой и — вуаля — задача сделана. На практике, даже у такой задачи, как вставить данные в БД, есть варианты решения, каждый со своими плюсами и минусами. Делюсь небольшим примером.

Читать далее

Почему «заканчивается» время в iOS-будильнике и как мы искали предел в часах Samsung

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.1K

Работает ли это? А что, если… ? Как настоящие QA, мы всегда задаемся этими вопросами. Неудивительно, что вся наша команда взбудоражилась, увидев рилс про «фейковую бесконечность» прокрутки в будильнике на iPhone. Неужели правда? Конечно, тут же проверили на тестовых айфонах. Оказалось, часы и минуты в iOS-будильнике действительно не цикличны. Это список, который можно быстро долистать до конца.

Нам стало интересно, баг ли это, откуда он в iOS и есть ли такое в Android. Чтобы разобраться и найти ответы, нам даже пришлось «на коленке» написать автотест на C#. Но обо всем по порядку.

Читать далее
1
23 ...