Обновить
51.07

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

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

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

Почему хороший тестировщик — это не тот, кто нашел больше всего багов

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

На практике все сложнее. И чем опытнее становится тестировщик, тем реже он гордится просто цифрами.

Количество багов ничего не говорит само по себе

Сто найденных дефектов могут означать две совершенно разные вещи:

  • продукт реально нестабилен;

  • тестирование началось слишком поздно.

Если баги находятся пачками в самом конце разработки, это не успех, а симптом. Хороший тестировщик старается сделать так, чтобы часть проблем не доходила до баг-трекера вообще.

Сильный тестировщик думает раньше, чем тестирует

Тестирование начинается не с чек-листов и не с автотестов. Оно начинается с вопросов.

  • что здесь может пойти не так;

  • где система уже ломалась;

  • какие изменения самые рискованные.

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

Баг-репорт — это не обвинение

Новички иногда воспринимают баг как доказательство чьей-то ошибки. Отсюда агрессивные формулировки и желание «поймать» разработчика.

Опытный тестировщик понимает — баг-репорт это способ помочь команде. Хорошее описание проблемы экономит время всем:

  • понятно, что сломалось;

  • понятно, как воспроизвести;

  • понятно, почему это важно.

Чем меньше эмоций и больше контекста — тем лучше работает процесс.

Автотесты — это не самоцель

Автоматизация часто превращается в гонку — у кого больше тестов, у кого выше покрытие. Но цифры сами по себе ничего не гарантируют.

Хороший тестировщик задает другие вопросы:

  • ловят ли эти тесты реальные проблемы;

  • можно ли им доверять;

  • не мешают ли они менять код.

Иногда удаление десятка бесполезных автотестов приносит больше пользы, чем написание сотни новых.

Хороший тестировщик думает о пользователе, а не о сценарии

Чек-листы и тест-кейсы важны, но реальный пользователь почти никогда не действует по ним.

Он кликает не туда, вводит странные данные, прерывает процессы и возвращается позже. Умение выйти за рамки сценариев отличает опытного тестировщика от формального.

Качество — это ответственность всей команды

Одна из самых токсичных идей в тестировании — что за качество отвечает только QA. Это удобно, но не работает.

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

Карьерный рост в тестировании — это не про инструменты

Инструменты меняются быстро. Сегодня один фреймворк, завтра другой. Знание конкретного тулкита редко определяет уровень специалиста.

Гораздо важнее:

  • умение анализировать систему;

  • понимание, где искать проблемы;

  • способность говорить с разработчиками и бизнесом на одном языке.

Именно это делает тестировщика ценным, а не список технологий в резюме.

В итоге

Хороший тестировщик — это не тот, кто нашел больше всего багов. Это тот, кто:

  • помогает находить проблемы раньше;

  • думает о рисках, а не о галочках;

  • пишет понятные баг-репорты;

  • работает с командой, а не против нее.

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

Теги:
+4
Комментарии3

🎓 Бесплатные онлайн-курсы для IT-специалистов от Selectel

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

Системный администратор Linux с нуля. Научитесь работать с командной строкой и основными утилитами Linux, управлять пользователями и файлами, настраивать сети и устранять инциденты. 

Погружение в PostgreSQL. Изучите основы реляционных баз данных. Научитесь создавать и связывать таблицы, добавлять, модифицировать и удалять данные.

Первые шаги в JavaScript. Освоите базовый синтаксис, научитесь писать скрипты, управлять DOM и изменять интерфейс веб-страниц. В конце сделаете свой первый пет-проект.

Тестирование мобильных приложений. Научитесь проверять мобильные приложения с учетом специфики разных платформ. Освойте работу с API, логами и трафиком на эмуляторах и реальных устройствах.

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

Теги:
+4
Комментарии0

Что делать когда памяти на телефоне не хватает - ещё один вариант ;)

---ОФФТОП начало--- Исторически погоня за свободным местом была всегда. Чем больше информации нас окружает, тем больше мы хотим сохранить. И в этой философии каждый человек самостоятельно принимает решения что сохранять и как. Фото и видео (личные, от родственников и друзей), разнообразные документы документы от книг до аудио-видео записей и прочее.

Облако это удобно, но сейчас речь про офлайн решение, которое я использовал лет 15 назад для резервного копирования, и к которому я вернулся сейчас, чтобы не чувствовать ограничений на телефоне с 256гб встроенной памяти. И так уж получилось, что я пользуюсь телефоном, производитель которого отказался от поддержки SD карт, а я не смог пересесть на другие телефоны. ---ОФФТОП конец---

В качестве исходных данных берем телефон, памяти которого со временем становится недостаточно. Раньше я ставил карту памяти, которая больше памяти телефон в несколько раз (телефон 64гб - карта памяти 256гб) и настраивал периодическое копирование из основной памяти на карту памяти.

Таким образом у меня была полная копия данных на карте памяти, которую я мог использовать, если телефон выходил из строя, на другом телефоне. Также я всегда знал что могу удалить файлы из основной памяти телефона, потому что эти файлы уже на карте памяти. Обычно удаляются старые видео, снятые на телефон, которые накапливаются и могут занимать до 30% места на встроенной памяти. Иногда все фото-видео-документы переносились на ПК для архивирования.

Если телефон не поддерживает карту памяти, то можно использовать облако. Но и облако имеет свой предел (той стоимости, которую я готов платить), даже если периодически переносить данные из облака на компьютер.

После очередной (безуспешной) попытки перейти на телефон с SD картой пол года назад, у меня осталась SD карта на 512гб. Карта была подключена через type-c адаптер к телефону и единожды была выполнена полная синхронизация.

Теперь при необходимости почистить место на телефоне, SD карта подключается через адаптер, выполняется синхронизация только новых файлов и традиционно удаляются видео, снятые на камеру телефона и занимающие львиную часть места. Фотографии с телефона не удаляю, ведь по сравнению с видео они занимают гораздо меньше места.

Сейчас используется старый адаптер с переходником, хотя в продаже есть современный адаптер для SD карты с подключением type-c. Этот же адаптер является личной флешкой, т.е. всегда с собой в сумке.

Программ для выполнения синхронизацией папок много и каждый может найти себе удобный вариант. Сам пользуюсь платной версией FolderSync - исхожу из того, что оплачиваешь покупку один раз, а программа продолжает развиваться. Кстати, отдельно при синхронизации по маске * (все папки и файлы), нужно исключать системные папки, типа /.thumbnails/ в корневой папке Pictures.

Общий список исключений (задаётся как регулярное выражение) у меня выглядит так

Ordnerpfad RegEx .*\.database_uuid.*

Ordnerpfad RegEx .*\.nomedia.*

Ordnername RegEx .*\.thumbnails.*

Если появляется сообщение о сбое синхронизации, значит какая то программа использует папку с системным названием, но это большая редкость.

P.S. Многие программы синхронизации поддерживают копирование в SMB (сетевую папку), что также можно использовать для синхронизации данных напрямую с телефона на компьютер через общий WiFi.

P.P.S. Нашел open-source бесплатное решение Syncthing, которым позволяет выполнять синхронизацию между устройствами в интернете через UPnP механизм, но пока ещё не было необходимости его использовать.

Теги:
+4
Комментарии0

Не надо делать по красоте. Надо делать MVP.

Никто так говорить, кроме менеджеров, не любит. А я вдруг внезапно полюбил такой подход в работе. Стал бить себя по рукам и делать дешево.

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

MVP-подход тут мне стал очень помогать на моем, локальном уровне. Суть очень простая: делаю минимум и быстро. А потом добавляю на кости мяса. Надо сделать сохранение строк файла в БД? Пока сделаю построчно и поставлю # TODO. Потом сделаю батчем. Нужна отправка сотен объектов из БД в API? Пока тоже построчно. Нужна еще одна очередь Redis для этапа в обработке файла — потом. Пока и с одной очередью и воркером справимся.

MVP-подход требует некоей выдержки, особенно на пет-проектах. Код пишешь ты сам с собой. Выступаешь внутренним критиком и, зачастую, самым строгим. Но делать все дешево и сердито стало помогать мне лично держать фокус на цели: дать максимум ценности за минимум усилий. И при этом не сгореть от объема, быть в тонусе.

Риски, конечно тоже есть. У TODO нет хозяев, кроме нас. Дешевое Г становится иногда продом. Техдолг это вообще бесконечная тема и, пожалуй, не для этого поста. Пост про эффективность.

MVP-промтинг работает и с нейронками таким же образом. Берем чистый контекст, делаем простой прототип. А дальше по кускам его обтесываем, заменяем, улучшаем. Может, у нас есть с ними что-то общее?

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

Теги:
+10
Комментарии7

Не пользуюсь LLM-агентами, если могу. Давно замечаю: просто избегаю запускать LLM прямо в проекте, потому что боюсь разучиться кодить и думать. Поход в ChatGPT себе разрешаю — это как встать с дивана, чтобы пойти в магазин, а не заказывать доставку на дом. Там нужно правильно сформулировать запрос, потому что он не может добрать контекст проекта сам. Можно перекинуться парой мыслей, как с товарищем на работе. Надо подумать, как применить ответ, что выкинуть. В итоге я всё равно как-то худо-бедно программирую сам.

Пока я отрицаю прогресс, из мира агентов доносится много шума про управление контекстом и токенами. Агенты в ответ на запросы жрут лимиты по токенам, выделенные на отрезок времени. Ну либо запросы по API просто тарифицируются. Причем чем дольше общаешься с нейросетью, тем больше контекста ей нужно держать, учитывать, корректировать, сжимать. Помимо этого, нейронка ещё подглядывает правила проекта в .md-файлах, что-то помнит между переписками.

Чем больше у нейронки пузырь вашего контекста, тем хуже она работает. Путается в постоянно пополняющихся правилах, корректировках и ограничениях. Наконец, контекстный оверхед — это еще очень дорого. Каждый запрос к API содержит тысячи «мусорных» токенов и выжирать лимиты получается еще быстрее.

В ответ на это индустрия на венчурные деньги придумывает и продвигает свои «велосипеды», чтобы с помощью агентов эффективнее и дешевле решать задачи:

  • В Cursor IDE есть Rules, которые накладывают ограничения поверх ваших промптов. Их можно применять вручную или автоматически; говорят, автомат работает хуже.

  • Anthropic пиарит Skills (еще пример Playwright Skill). Это интерфейс для решения типовых задач с адаптивными ступенями контекста в зависимости от сложности.

  • Есть MCP (Model Context Protocol) — условное API, которое расширяет возможности агентов, чтобы они не писали собственные инструменты и не тратили контекст и токены на типовые задачи: открыть браузер, прочитать Jira, отправить письмо и т. д.

  • Также есть субагенты; их оркестрирует агент-оркестратор. У субагентов чистый контекст: они получают задачу, выполняют её и идут на «свалку».

И вот среди этого новояза я – старпер со своим ChatGPT: после 2–3 запросов удаляю чат и начинаю новый. Вот моя экономика токенов и галлюцинаций. Меня и Альтмана маркетингом не проведешь!

Теги:
+4
Комментарии15

Отраслевое исследование QA: автоматизация, AI и метрики — сбор данных

Команда Test IT (бренд «Девелоника» FabricaONE.AI (акционер – ГК Softline)) запустила опрос для сбора данных перед публикацией отраслевого исследование по состоянию QA в российских компаниях.

Наша задача опросить реальных тестировщиков и понять, что меняет их работу прямо сейчас, какие особенности в проектах нужно учитывать в 2025-2026 году и как меняется тестирование с учетом новых инструментов и развития отечественных решений TMS.

Ссылка на анкету исследования

Если вы представитель QA-сообщества и готовы поделиться реальной практикой (включая проблемы и ограничения), то будем ждать ваших ответов! Участие в опросе займет немного времени, итоговые данные будут направлены всем участникам-респондентам.

Присоединяйтесь, давайте вместе составим объективную картину по рынку в нашем сегменте! Всем недели без багов и без пятничных релизов)!

Теги:
0
Комментарии0

Разработчики из РФ замучили мошенника, заставив его проходить бесконечную капчу. Скамер притворился главой одной российской компании и писал на английском. Сотрудники компании должны были отсканировать подарочные сертификаты на его сайте на 1500 евро. Оказалось, в эту игру можно играть вдвоём. Разрабочтики сделали вид, что поверили обманщику и скинули ему ссылку на файлообменник, состряпанный на скорую руку. Идея которого заключалась в бесконечной капче. Бедолага пытался пройти её 1,5 часа, но ничего не выходило. А разработчики добавили ещё и верификацию по видел, которую скамер тоже начал проходить.

Теги:
Всего голосов 71: ↑69 и ↓2+73
Комментарии20

Все еще тестируете мобильные приложения в браузере?

Просто напоминаю, что 1 декабря мы запустили курс по тестированию мобильных приложений, где по завершении вас ждет сертификат. И все это — бесплатно.

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

А чтобы не возник вопрос: «А где мне тестировать, на своем телефоне что ли?», мы предусмотрели все. Каждый, кто запишется на курс, получит бесплатный промокод для доступа к ферме мобильных устройств. Это позволит вам тестировать приложения в реальных условиях и закрепить навыки.

Курс подходит для новичков. Для прохождения достаточно базовых знаний работы с компьютером. Развивайтесь и станьте экспертом в Mobile QA вместе с Академией Selectel.

Теги:
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Tesla Model X поцарапала другую машину из-за активации опции автоматического открытия двери. Бортовая система заметила приближение владельца со смартфоном и сама распахнула ему водительскую дверь. Правда в этот момент владелец как раз проезжал мимо на второй машине - Mini Cooper. В итоге дверь Tesla Model X ударилась о кузов, а на обеих машинах остались царапины. Если бы не камера со дворе, то владельцу бы никто не поверил.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

Тестировщики не нужны? Shift-left подход меняет даже ИИ

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

Мария Лещинская, Head of QA Surf и кандидат технических наук по ИИ и ML, проверила это на практике. Она с командой комбинируют shift-left подход и автогенерацию автотестов, экспериментируют с MCP-решениями, генерируют десятки проверок. 

На основе опыта Мария посчитала реальную экономию времени и собрала лайфхаки внедрения ИИ в тестирование. Поделилась ими в своем выступлении на конференции AI Boost. Теперь запись есть на YouTube. 

Вы узнаете:

  • Что именно меняет shift-left подход. Какие дефекты ловятся раньше всего, почему ошибка на проде ×100 по стоимости и как ранние проверки делают релиз предсказуемым.

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

  • Как выглядит полный shift-left цикл на практике.

  • Как добиться качественной автогенерации автотестов.

«Сейчас очень важны люди, которые системно понимают, как это должно работать, какие есть нюансы — и какие из них должен решать человек, а какие ИИ.»

— Мария Лещинская, Head of QA Surf

А еще в видео много лайфхаков для QA: 

  • Как правильно использовать JSON для снижения количества ошибок.

  • Много примеров рабочих промптов.

  • Стратегия, как один QA + ИИ закрывают работу целой мини-команды.

В общем, меньше слов — смотрите запись выступления на YouTube.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Встреча сообщество Moscow QA #17 x Ви Tech

Встреча по тестированию от сообщества Moscow QA, проводимая совместно с Ви Tech. Moscow QA — это регулярные мероприятия, которые объединяют специалистов в области качества и тестирования программного обеспечения для обсуждения последних трендов в отрасли и обмена опытом.

21 ноября  2025 года вместе с  Ви Tech пройдет митап Moscow QA.

Тайминг:

18:00 —18:30— начало регистрации 
18:35 — 19:10 —Как погрузиться в автоматизацию за 60 дней, Сергей Лебедев 
19:10 — 19:45 —  Подход к организации тестовых контуров,  Александр Крылов
19:45 — 20:00 —  перерыв
20:00 — 20:35 — Как получить высокую оценку на перф-ревью и не сгореть, Вероника Манкова
20:35 — 21:10— Выжить в одиночку: 20 советов и инструментов для прохождения, Ушакова Анастасия

Доклады:

Как погрузиться в автоматизацию за 60 дней

Расскажу о собственном опыте, как я будучи QA-lead ручного тестирования 2 месяца погружался в автотесты на Playwright + TypeScript
Как мне с этим помогал ИИ и как мешал учебник по программированию

Сергей Лебедев, QA Lead в «Яндекс Лавке»

Подход к организации тестовых контуров

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

 Александр Крылов, CPO «Штурвала»

Игра "Выжить в одиночку" — история, основанная на реальных кейсах, с которыми может столкнуться каждый QA. 

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

Покажу практические советы и инструменты — чек-листы, шаблоны, промты для ИИ, которые помогут быстро войти в процесс, определить приоритеты и пройти этот квест с минимальными потерями и максимальной пользой!

Ушакова Анастасия, QA Lead/Яндекс Маркет

Как получить высокую оценку на перф-ревью и не сгореть.

В докладе поделюсь опытом, как QA получить высокую оценку на перф
Расскажу о наборе реальных кейсов, которые привели сотрудников нашей компании к карьерному апдейту, а также об ошибках, которые ведут к выгоранию на этапах подготовки к перф-ревью.

Вероника Манкова, Qa Lead в Ви.Tech

 

Следите за нашими анонсами в информационных каналах: telegram и telegram chat , а так же ЮТУБ

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Предприниматель Йосеф Айеле из Эфиопии и основатель фонда LAVA пожаловался, что его рабочий аккаунт в Telegram был заблокирован без причины. После чего он объявил в соцсети X, что прекращает пользоваться этим мессенджером и переводит свои коммуникации в Signal и электронную почту. В ответ на это основатель Telegram Павел Дуров лично извинился за инцидент с блокировкой. Дуров пояснил, что аккаунт Айеле был разблокирован, а «урок извлечён».

Теги:
Рейтинг0
Комментарии1

Дизайнеры Apple изменили функцию скриншота в новой версии iOS. Они зачем-то поменяли кнопки местами: кнопка удаления теперь находится на месте привычной кнопки сохранения. Из-за этого пользователи с непривычки удаляют снимки экрана сразу после создания.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии6

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

Квиз: сможете ли вы найти ошибку в мобильном приложении?

Проверьте свои навыки и получите 1 000 бонусов на тестирование в мобильной ферме Selectel

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

Пройти квиз →

🎁 За участие — 1 000 бонусов в панели управления. Важно: количество промокодов ограничено.

Теги:
Всего голосов 8: ↑6 и ↓2+7
Комментарии0

ИИ против рутины: как изменится тестирование? Круглый стол на «Стачке»

2–3 октября в Санкт-Петербурге пройдёт XIV международная IT-конференция «Стачка», и мы рады сообщить, что Маргарита Трофимова, директор департамента тестирования и обеспечения качества ITFB Group, выступит модератором круглого стола «Применение ИИ в тестировании».

Маргарита — эксперт с более чем 17-летним опытом в области качества ИТ-систем, вице-председатель Russian Software Testing Qualification Board, спикер ведущих отраслевых конференций и идейный вдохновитель образовательного практикума «Академия тестирования».

На круглом столе вместе с представителями ДОМ.РФ, Альфа-Банка, Авито и других лидеров рынка участники обсудят, как искусственный интеллект трансформирует процессы тестирования, команды и бизнес-результаты.

Будет затронуты ключевые вопросы:
— какие задачи уже сегодня эффективнее решают ИИ-системы,
— где технологии пока остаются уязвимыми,
— как измерить эффект от внедрения ИИ в QA.

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

📍 Санкт-Петербург
📅 2–3 октября
🔗 Конференция «Стачка»

👉 Принять участие

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Под капотом FinamTrade: как работает покупка акций, разработка под санкциями и будущее AI в финтехе

Привет, Хабр!

В нашем подкасте «Null на балансе» мы, как обычно, разбираем технологичные штуки на запчасти. На этот раз мы забрались в одну из самых закрытых и интересных систем — мобильный трейдинг.

У нас в гостях Борис Аксенов, руководитель управления разработки веб и мобильных приложений в «Финаме». Человек, который стоит у руля создания и эволюции FinamTrade последние 15 лет. Мы поговорили о том, о чем обычные пользователи часто не задумываются, нажимая кнопку «Купить».

О чём этот выпуск:

  • Архитектура и нагрузка: Что происходит на бэкенде, в мобильном клиенте и на бирже в момент, когда вы и еще 10 000 человек одновременно отправляете заявку?

  • Эволюция: Как приложение FinamTrade превращалось из простого терминала в суперапп с новостями, аналитикой и обучением? Какие технологические решения были ключевыми на этом пути?

  • Боль и санкции: Самая острая тема — как изменились процессы разработки и публикации в App Store и Google Play для такого критически важного приложения в текущих реалиях? Какие инструменты и воркaунды пришли на смену привычным сервисам?

  • Безопасность: Как защищаются финансовые данные и средства клиентов в эпоху мобильных угроз?

  • AI и ML: Где машинное обучение и искуственный интеллект уже работают в финтехе сегодня (например, в предиктивном анализе поведения или проверке документов), а где это пока лишь хайп?

  • Карьера в финтехе: Как приходят в разработку для таких высоконагруженных систем? Что мотивирует специалистов оставаться в одной компании больше 15 лет?

  • А еще Борис поделился парой забавных курьезных случаев из практики и мифов о финтехе, которые заставят вас улыбнуться.

Выпуск получился по-настоящему гибридным. Он будет полезен:

  1. Разработчикам и архитекторам, особенно тем, кто работает или хочет работать с высоконагруженными и отказоустойчивыми системами.

  2. Специалистам по DevOps и безопасности, чтобы понять уровень требований в fintech.

  3. Всем, кто интересуется карьерой в IT — история Бориса о 15-летнем пути в одной компании очень мотивирует и показывает возможный вектор роста.

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

Наш подкаст доступен на всех удобных платформах:

Youtube Music | Apple Podcast | Яндекс Музыка | Spotify | VK Музыка

Теги:
Рейтинг0
Комментарии0

Нейросети в QA. Подборка важнейших кейсов применения.

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

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

Кейсы по использованию нейросетей в QA

  1. Генерация тест-кейсов на основе требований

  2. Подготовка позитивных и негативных тестовых данных

  3. Адаптация и улучшение баг-репортов

  4. Перевод сценариев в формат Gherkin (Given-When-Then)

  5. Генерация идей для негативного тестирования

  6. Автоматический анализ логов ошибок

  7. Помощь в написании автотестов и шаблонов

  8. Конвертация технической информации в пользовательские инструкции

  9. Голосовое управление заведением баг-репортов и создания чек-листов

  10. Генерация финальных отчётов по тестированию

  11. Помощь в написании автотестов: генерация кода, шаблонов и отдельных функций для фреймворков автоматизации

  12. Подготовка баг-таблиц и чек-листов

  13. Создание слайдов по итогам тестирования

  14. Автоматическая сверка ожидаемого и фактического поведения

  15. Генерация SQL-запросов на основе текстового запроса

  16. Перевод технических отчётов для бизнес-аудитории

  17. Проверка качества текста / интерфейса (UX-копирайтинг)

  18. Генерация данных для нагрузочного тестирования

  19. Сравнение версий документации / требований

  20. Сбор фидбэка из отзывов пользователей (тематический анализ)

  21. Создание чат-ассистента по документации и API

  22. Анализ требований на предмет неясностей, противоречий и неполноты

  23. Прогнозирование областей с высокой вероятностью дефектов

  24. Оптимизация тестовых наборов (выявление избыточных тестов)

  25. Генерация идей для тестов безопасности

Этот список лишь небольшая часть того, как нейросети могут усилить работу QA-инженера. Главный вывод прост: ИИ не заменяет специалиста, а становится его личным ассистентом мощным, быстрым и безотказным. Он помогает находить неочевидные сценарии, экономить часы на подготовке данных и отчетов и, в конечном счете, повышать качество продукта. В своем коротком посте я представил лишь самые популярные примеры того как можно использовать нейросети в работе QA, но в полной коллекции под названием "70 кейсов применения нейросетей для QA" вы найдете их гораздо больше.

Теги:
Всего голосов 2: ↑0 и ↓2-2
Комментарии0

2ГИС на Apple Watch

Год назад мы масштабно обновили приложение для 2ГИС на Apple Watch: начали показывать на часах местоположение близких в рамках функции «Друзья на карте» и поддерживать ведение по пешему маршруту. К очередной презентации Apple решили добавить ещё полезностей. 

Теперь часы умеют вести и по маршрутам общественного транспорта — с указанием номеров маршрутов транспорта и полезными подсказками в пути. Мы сами знаем, что это особенно удобно, когда руки заняты или вокруг суета. 

Об интересных моментах реализации рассказывает разработчик Иван Гнатюк.

Маленький экран — большие задачи

Сделать маршрут общественного транспорта на часах оказалось не так уж сложно — помогли два момента: 

  • Во-первых, у нас уже было приложение на watchOS 10+, где работало пешее ведение и была настроена коммуникация телефон ← → часы.

  • Во-вторых, мы раньше делали отображение маршрута транспорта для Live Activity на телефоне, и смогли переиспользовать много вьюшек и бизнес-логики (а она бывает непростой).

Оставалось только собрать из уже имеющихся блоков новое отображение для часов, что мы и сделали довольно быстро. Потом мы подумали, а почему бы не сделать и новое LA для общественного транспорта на часах? Текущее отображение от Dynamic Island с телефона выглядело скучно.

Сложность в том, что мы ограничены размерами часов, причём размеры варьируются 40– 49 мм. Скролл мы здесь добавить не можем, поэтому нужно попытаться уместить весь маршрут со всеми его сегментами на маленьком экранчике, попытавшись сохранить максимум полезной информации (номер маршрута, номер выхода из метро).

На помощь пришел GeometryReader — он даёт ширину контейнера, и, зная количество и тип сегментов, мы рисуем маршрут. Если пересадок на маршруте шесть и больше, то оставляем те, что помещаются, а вместо последнего покажем «....». Но на бою нам не удалось построить такой маршрут. Если вам удастся — расскажите нам!

Разработка на настоящих часах — интересно, но непредсказуемо

Разрабатывать и собирать на настоящих часах всегда интереснее. Но с этим могут быть свои приключения. 

  • Например, часы могут «отваливаться». Xcode к ним не подключается и приходится постоянно проверять настройки часов и подключение к WiFi. 

  • Иногда таргет часов ни в какую не хочет устанавливаться на часы — помогает только их перезагрузка.

  • А в какой то момент на часах перестал отображаться и новый LA, и простая трансляция DI. Перезагружали и часы, и телефон — ничего не помогало. Оказалось, что в какой то момент телефон обновился, а часы нет. Вот так и сломалось.

Как работает для пользователя

Для того чтобы видеть основные этапы маршрута, нужно построить маршрут на общественном транспорте в приложении на смартфоне и нажать «В путь», а на часах открыть приложение 2ГИС. В пути достаточно посматривать на часы — приложение покажет ключевую информацию с помощью Live Activities: иконки транспорта с цветом ветки метро, номер выхода, время в пути и пересадки, если они предусмотрены. Чтобы просмотреть весь маршрут, достаточно тапнуть на Live Activities и прокрутить Digital Crown.

Всё будет работать на Apple Watch с watchOS 11, iPhone с iOS 18 и в приложении 2ГИС версии 7.11 или новее. На часы отдельно ничего ставить не нужно — всё подтянется из приложения на айфоне.

Теги:
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Почему мы подключаем QA с первого дня проекта

И как это экономит ресурсы, улучшает продукт и снижает количество переделок

Одна из ключевых проблем, с которыми сталкиваются компании, заказывающие разработку — это разрыв между ожиданиями и реальностью. Причины бывают разные: неполное или неструктурированное ТЗ, размытые пользовательские сценарии, неучтённые роли или ветвления логики, которые всплывают на стадии разработки и тестирования.

Команда Doubletapp приняла решение: QA подключаются к проекту на этапе первого ознакомления с ТЗ от заказчика, ещё до оценки, дизайна и начала разработки. Этот подход сильно влияет на качество итогового продукта и помогает заказчику получить то, что действительно нужно — без множества итераций «переделать» и «добавить, потому что забыли».

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

Роль QA в нашей команде: не только тестирование

Наши QA участвуют в проекте с первых дней.

  • Структурируют поступившее от заказчика ТЗ

  • Выделяют функциональные блоки

  • Формируют уточняющие вопросы

  • Работают над схемами и диаграммами логики

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

Наша задача на этом этапе — перевести бизнес-язык заказчика на язык разработки и одновременно выловить противоречия и пустые места в логике до того, как они станут багами.

QA плотно взаимодействуют с селлерами и лидами разработки и помогают им формализовать требования. Это снижает нагрузку на менеджеров и ускоряет проработку проекта.

Как это работает на практике

Заказчик приходит с ТЗ. Оно может быть подробным, а может состоять из тезисов, что хотелось бы реализовать в продукте.

  1. QA разбивают информацию на структурные блоки — экраны, роли, сценарии, ограничения, точки перехода.

  2. Составляют вопросы, которые передаются в команду, ответственную за коммуникацию с заказчиком.

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

  4. Все вопросы объединяются, уточняются и через менеджеров идут в диалог с заказчиком.

Такой процесс позволяет уточнить максимум информации до старта разработки и значительно уменьшает риск изменения требований на лету.

Когда это спасло проект

Один из проектов, с которым мы работали, сопровождался очень подробным бизнес-ТЗ — документ содержал более 70 страниц описания сервиса. Всё выглядело детально и проработанно.

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

На этом этапе проблема была решена за один день — без этой работы её бы пришлось исправлять на этапе тестирования, переделывая часть кода и логику авторизации.

Внутренние процессы: как это устроено

Мы работаем по agile: QA входят в спринты наравне с разработкой. Внутри спринта QA выполняют не только тестирование, но и работу, близкую к системной аналитике:
анализ, структурирование, детализация, согласование требований, построение логики.

Тест-кейсы и баг-репорты ведём в YouTrack и Qase, используем CI/CD, чтобы как можно раньше получать обратную связь по стабильности продукта.

Зачем это заказчику

Когда QA работают с самого начала, заказчик получает

  • Прозрачную архитектуру с понятной логикой

  • Согласованные требования, переведённые в схемы

  • Минимум доработок в процессе разработки

  • Экономию времени — на исправление неочевидных ошибок

  • Повышенное доверие команды к требованиям — все понимают, что делают и зачем

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

Теги:
Рейтинг0
Комментарии0

Тестируем микросервисное приложение с кучей интеграций — четыре совета из практики  

На одном из финтех-проектов наша команда тестирования столкнулась с серьезными вызовами: нестабильные партнерские API, отсутствие тестовых сред у партнеров, лимиты на запросы и риски всё сломать одним обновлением.

В этом посте — примеры, как команда с этим справилась и как можно поступить в похожих ситуациях. Эта подборка может сэкономить кому-то часы (а то и дни) работы.

🛠️ Внешние сервисы без тестовых контуров

Решение:
собственный мок-сервис на основе WireMock.

Как он работает:

  • тестировщик задает нужный ответ и отправляет его через HTTP-запрос в БД;

  • нужные вызовы подменяются в конфигурации;

  • при тестировании запрос уходит не во внешний API, а в мок, который отдает нужный ответ.

Моки у нас кастомные, конфигурируются через Swagger, и не завязаны напрямую на CI/CD — это упрощает запуск и дает гибкость.

Плюс: так мы не зависим от внешних API, которые то работают, то нет.

💸 Платные вызовы и лимиты на тестовые запросы

Решение:
изолированные стенды и замещение моками везде, где возможно.

Если API-партнер дает 150 вызовов в месяц, а вам нужно 500 на автотесты — моки опять же спасают. Мы блокируем обращения к реальным API на командных стендах и заменяем их заглушками. Проверку живых интеграций оставляем только на пред-проде.

Плюсы:

  • не сжигаем бюджет;

  • эмулируем ошибки и нестандартные ответы;

  • ускоряем тесты без зависимости от внешней стороны.

🔄 Нестабильность интеграционных тестов

Решение:
изоляция и моки как защитный слой.

Микросервисная архитектура — это боль, когда один упавший сервис ломает релиз. Поэтому мы:

  • эмулируем нестабильные вызовы моками;

  • изолируем свою часть и фокусируемся на ее стабильности;

  • прогоняем тесты на командных стендах — быстро, стабильно и без флуктуаций от партнеров.

🤝 Десятки команд, завязанных на общий процесс

Решение:
интеграционные проверки и ревью на совместимость.

Когда много команд делают один продукт, любое изменение может зацепить чужой модуль. Мы выстроили систему так, чтобы ошибки ловились до мерджа, а не после инцидента. Что помогло:

  • общие тестовые фреймворки и единый подход к интеграционным тестам;

  • сценарии, которые включают зависимости от других команд;

  • проверка обратной совместимости: если что-то ломает чужой функционал — фича не проходит MR.

Подробнее о каждом из подходов читайте в статье QA-инженера AGIMA Святослава Волохова.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0