Pull to refresh
8
0
Александр @z3us

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

Send message

Топ-12 лучших систем управления тестированием 2020

Reading time 10 min
Views 72K
Каждый проект уникален и у каждой команды свои запросы. Однако всех нас объединяет желание работать с качественными инструментами, которые экономят время и позволяют QA-специалистам тестировать качественнее и быстрее, в идеале чтобы TMS могла совмещать ручное и автоматизированное тестирование.

Мы вновь проанализировали проверенные временем и новые системы управления тестированием, которые сейчас популярны на рынке. Выбрали функции, которые должны быть в Test Management System нашей мечты, сравнили возможности продуктов и изучили отзывы пользователей. Делимся списком инструментов, один из которых точно подойдёт вашей команде.

Здесь нет рейтинга, у каждого инструмента есть свои преимущества и недостатки. В основном инструменты тест-менеджмента платные, однако у всех есть бесплатная пробная версия.

image
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 13

Релиз мобильных приложений одной кнопкой

Reading time 11 min
Views 12K


Всем привет! Меня зовут Михаил Булгаков (нет, не родственник), я работаю релиз-инженером в Badoo. Пять лет назад я занялся автоматизацией релизов iOS-приложений, о чём подробно рассказывал в этой статье. А после взялся и за Android-приложения.

Сегодня я подведу некоторые итоги: расскажу, к чему мы пришли за это время. Long story short: любой причастный к процессу сотрудник может зарелизить хоть все наши приложения на обеих платформах в несколько кликов — без головной боли, больших затрат времени, регистрации и СМС. Так, наш отдел релиз-инженеров за 2019 год сэкономил около 830 часов.

За подробностями — добро пожаловать под кат!
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 11

QA — специалист по пожарной безопасности вашего проекта

Reading time 25 min
Views 16K


На конференциях и в неформальных беседах на работе нет-нет да и возникает разговор о важности работы QA-инженера и его роли в проекте. Это может быть и робкий вопрос коллеги-программиста «А, может, выпустим без QA?», и объёмный доклад.


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

Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Comments 8

Дзен изолированных компонентов в Android-архитектуре

Reading time 10 min
Views 7.6K


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

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

Наш коллега Zsolt Kocsi (Medium, Twitter) из лондонского офиса рассказал, каким образом с помощью MVI мы строим независимые компоненты, которые легко переиспользовать, какие преимущества мы получаем и с какими недостатками нам пришлось столкнуться при использовании этого подхода.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 13

Автоматизация тестирования платных сервисов на iOS

Reading time 21 min
Views 7.3K
Для тех, кто интересуется темой автоматизации на iOS, у меня две новости — хорошая и плохая. Хорошая: в iOS-приложении для платных сервисов используется только одна точка интеграции — in-app purchases (встроенные в приложение покупки). Плохая: Apple не предоставляет никаких инструментов для автоматизации тестирования покупок.

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


Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 0

Как не потерять деньги в черном ящике: методы тестирования биллинга

Reading time 17 min
Views 14K
Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям. 

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

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



Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 9

«Сгоревшие» сотрудники: есть ли выход?

Reading time 18 min
Views 156K
Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — живи да радуйся!

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

Что же делать? Как работать с Игнатом? Добро пожаловать под кат!


Total votes 224: ↑210 and ↓14 +196
Comments 400

Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube

Reading time 2 min
Views 55K
В этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию.

С 2013 года наша небольшая команда занимается переводом и адаптацией англоязычных видеокурсов. За это время мы перевели и адаптировали свыше 150 часов материала. Перед тем как приступать к работе, мы анализировали материалы нескольких обучающих онлайн-школ, и выбирали, на наш педагогический взгляд, самую лучшую, которая максимально доступно, структурированно и кратко подаёт обучающий материал. В результате чего нам приходилось просматривать по несколько курсов касающихся одной и той же тематики, а после выбирать тот, который наиболее качественный и доступный для понимания новичкам.

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

image
Total votes 19: ↑18 and ↓1 +17
Comments 26

Образ современного тестировщика. Что нужно знать и уметь

Reading time 20 min
Views 159K


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

Отчасти это даже правда, но, скорее, для ситуации, которая была на рынке лет 10 назад. Сейчас же всё обстоит несколько иначе. Причин для этого масса, и они самые разные. Если отметить ключевые, то, пожалуй, это:

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

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

Поэтому сегодня всё реже можно полагаться исключительно на морально-волевые качества для входа в IT в свете возросших аппетитов рынка и обилия конференций, курсов, тренингов, литературы, статей и прочих информационных источников, которые находятся на расстоянии вытянутой руки начинающих специалистов.
Читать дальше →
Total votes 37: ↑33 and ↓4 +29
Comments 33

8 интересных багов беты iOS 12 и как мы их искали

Reading time 6 min
Views 19K


Всем привет!

Я Катя, тестирую мобильные приложения в Badoo. Сегодня я расскажу о том, почему тестировать бета-версии так важно, как мы проводим мануальное тестирование таких версий и что интересного мы обнаружили в ходе проверки iOS 12 Beta.
Читать дальше →
Total votes 52: ↑46 and ↓6 +40
Comments 27

Компонентная архитектура UI в iOS-приложении

Reading time 10 min
Views 12K


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

Меня зовут Валера, и уже два года я разрабатываю iOS-приложение в составе команды Badoo. Один из наших приоритетов — легкосопровождаемый код. Из-за большого количества новых фич, еженедельно попадающих к нам в руки, нам нужно в первую очередь думать об архитектуре приложения, иначе будет крайне сложно добавить новую фичу в продукт, не ломая уже существующие. Очевидно, что это также относится и к реализации пользовательского интерфейса (UI) независимо от того, делается это с помощью кода, Xcode (XIB) или смешанного подхода. В этой статье я опишу некоторые методики реализации UI, которые позволяют нам упрощать разработку пользовательского интерфейса, делая её гибкой и удобной для тестирования. Также есть версия этой статьи на английском.

Прежде чем начать…


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

Оно состоит из трёх частей:

  1. Компоненты — кастомные UI-компоненты, то есть код, относящийся только к пользовательскому интерфейсу.
  2. Демоприложение — демонстрационные view models и другие сущности пользовательского интерфейса, имеющие только UI-зависимости.
  3. Реальное приложение — view models и другие сущности, которые могут содержать специфические зависимости и логику.

Почему такое разделение? На этот вопрос я отвечу ниже, а пока ознакомьтесь с пользовательским интерфейсом нашего приложения:
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 9

Mind map вместо тест-кейса, или Как визуализация позволяет тестировать приложение быстрее

Reading time 5 min
Views 82K

Привет! Меня зовут Катя, и я работаю тестировщиком мобильных приложений более пяти лет. Последние три года я тружусь в iOS-команде Badoo, и еженедельно мы релизим от трёх до семи новых фич, от трёх до пяти технических тасков и от пяти до 13 багфиксов. Как вы понимаете, приложение меняется с такой скоростью, что поддерживать классическую тестовую документацию (test cases) неэффективно: почти всегда она будет устаревшей.

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

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

Сегодня мы подробненько разберём созданную мной mind map для тестирования iOS-приложения (далее именуемую «моя прелесть»), а также пройдёмся по ресурсам, которые можно использовать при построении mind map для мобильного приложения, чтобы покрыть максимальное количество важных сценариев.
Читать дальше →
Total votes 46: ↑45 and ↓1 +44
Comments 32

Проблема Небраски

Reading time 15 min
Views 19K
image

Кейси Муратори — один из программистов игры The Witness. В процессе разработки игры он публиковал в своём блоге посты о технических задачах, которые перед ним вставали. Ниже представлен перевод одного из таких постов.

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

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

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

Вопрос «почему» в этом случае достаточно прост: почему мы используем для размещения травы синий шум?
Читать дальше →
Total votes 43: ↑42 and ↓1 +41
Comments 17

Тестирование телефонов с помощью Arduino

Reading time 17 min
Views 9K
В 2016-м на Хабре привлёк много внимания пост Алексея Лавренюка «Измеряем потребление батарейки на мобильных устройствах. Эксперимент в Яндексе». Годом позже на нашей конференции Heisenbug Алексей вместе с коллегой Тимуром Торубаровым представил доклад «Тестирование телефонов с помощью Arduino»: часть этого доклада совпадала с хабрапостом, но было и много новой информации. А теперь круг замкнулся: мы сделали текстовую версию доклада, чтобы вся эта новая информация появилась и на Хабре.

Как правильно измерить энергопотребление приложения? Зачем при этом делать 10 000 замеров в секунду вместо 500? Какие смартфоны сложнее сверлить? Как убить iPhone совершенно непредвиденным способом? В тексте под катом — всё это и многое другое. Также прикладываем видеозапись доклада:

Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Comments 13

Белый ящик Пандоры

Reading time 15 min
Views 14K
Обсуждая тестирование, чаще всего спикеры говорят об особенностях подхода, известного как «черный ящик». Но здесь мы поговорим о противоположном сценарии — «белом ящике», позволяющем формулировать вопросы к коду, понимая его внутреннюю структуру.



В основе статьи — расшифровка доклада Никиты Макарова (Одноклассники) с нашей декабрьской конференции Heisenbug 2017 Moscow.
Total votes 33: ↑32 and ↓1 +31
Comments 1

Тестирование геолокации в Badoo: шишки, камни, костыли и селфи-палка

Reading time 33 min
Views 28K
Вроде бы о тестировании мобильных приложений есть уже тысячи материалов, так что удивить тут сложно. Но пока аспекты вроде UI уже затёрты до дыр, про тестирование геолокации рассказывают гораздо реже. И когда на нашей конференции Heisenbug Николай lamamer Козлов и Александр z3us Хозя (Badoo) поделились своим опытом, зрителей конференции доклад очень заинтересовал. Как и геолокацию получить, и телефон пользователю не разрядить? Зачем в этом тестировании селфи-палка? Насколько близко расположены лондонские пабы и что из этого следует?

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



Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 0

Приглашаем на Badoo PHP Meetup 7 апреля

Reading time 2 min
Views 7.4K


UPD. Места уже расхватали, но будет трансляция. Приглашения участникам скоро вышлем!

Привет, Хабр! Похоже, астрологи объявили неделю PHP митапов в апреле :)

7 апреля мы проведем первый Badoo PHP Meetup в московском офисе компании!

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

Адрес: Цветной бульвар, 2 (м.Трубная)
Начало докладов в 12:00
Регистрация здесь
Трансляция будет на нашем YouTube-канале и в группах VK и FB. Записи опубликуем там же и на Хабре.

Читать дальше →
Total votes 58: ↑58 and ↓0 +58
Comments 7

Обзор лучших европейских и не только QA-конференций этого года

Reading time 7 min
Views 14K

Привет, Хабр! Меня зовут Влад Романенко. Я работаю инженером по тестированию в Badoo, в команде iOS.

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

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

В моём списке уже около 20 конференций. Среди них Международный день ГИС в Белорусском государственном университете, Конференция для пользователей и разработчиков ГИС с открытым исходным кодом в Москве и множество конференций по тестированию (например, эта и эта).

Я заметил, что многие тестировщики и QA-инженеры почему-то избегают конференций. И напрасно. С одной стороны, есть вы со своими вопросами к сообществу, с другой — есть сообщество, которому интересен ваш опыт. И почему бы эти две стороны не объединить? Именно поэтому я решил поделиться своим мнением относительно предстоящих мероприятий и вдохновить вас на их посещение.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Comments 7

TOП-10. Разбор лучших докладов в свободном доступе. Heisenbug 2017 Moscow

Reading time 16 min
Views 17K

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


Предыдущие части: JBreak 2017, JPoint 2017 (обе конференции были про Java).


На этот раз объектом изысканий будет Heisenbug 2017 Moscow — известная конференция для тестировщиков (а также программистов и менеджеров команд, как написано на главной странице сайта).


В посте присутствует зашкаливающее количество картинок и ссылок на YouTube. Осторожно, трафик!


Disclaimer: Все описания являются моим личным мнением. Всё написанное является плодом моего больного воображения, а не искажёнными цитатами докладчиков (это предостережение написано для того, чтобы докладчики меня не побили). Если кого-то случайно обидел — пишите в личку, разберёмся. Но в целом, давайте думать так: если бы BadComedian каждый раз спрашивал у Фонда Кино, что ему стоит говорить или не говорить — снял бы он хоть один ролик?

Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 3

Путеводитель по инструментам автотестирования мобильных приложений

Reading time 15 min
Views 47K


…несмотря на то, что он кое в чём неполон, содержит много сомнительного или,
во всяком случае, вопиюще неточного, он имеет два важных преимущества:
во-первых, он немного дешевле, [...], а во-вторых, на его обложке большими
и приятными для глаз буквами написаны два слова «Без паники!»
— The Hitchhiker's Guide to the Galaxy

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

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

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

Я преследовал три цели:

  1. Классифицировать инструменты в стеке автотестирования, чтобы стали понятны их иерархия и сочетаемость.
  2. Показать, какие инструменты популярны сегодня на рынке.
  3. Рассказать про самые популярные инструменты каждого типа и сравнить их по нескольким параметрам.

Результатом моих трудов стал этот путеводитель по наиболее популярным и простым в освоении инструментам автотестирования мобильных приложений.

Пользуйтесь!

  • Выбираете инструмент — посмотрите сравнение.
  • Хотите узнать, как устроена автоматизация на мобильных устройствах — загляните в классификацию.
  • Хотите добиться повышения зарплаты — освойте популярный инструмент.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 1

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Date of birth
Registered
Activity