Как стать автором
Поиск
Написать публикацию
Обновить
87.5

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

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

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

Безопасность Android-приложений. Лекция в Яндексе

Время на прочтение10 мин
Количество просмотров33K
Разработчик Дмитрий Лукьяненко, чью лекцию мы публикуем сегодня, не только является специалистом Яндекса, но и умеет проверять на прочность решения разработчиков других компаний. Это позволяет учиться на чужих ошибках — не исключая порой своих, конечно. В докладе Дмитрий поделится примерами Android-уязвимостей, в том числе найденных им собственноручно. Каждый пример сопровождается рекомендациями — как нужно и как не нужно писать приложения под Android.



Меня зовут Дмитрий, я работаю в компании Яндекс в минском офисе, занимаюсь разработкой аккаунт-менеджера. Это библиотека, которая отвечает за авторизацию пользователей. Поэтому мы поговорим о безопасности Android-приложений.

Bug Bounty Киевстара: награда за админский доступ к сервисам Jira, AWS, Apple, Google Developer, Bitbucket — 50 долларов

Время на прочтение4 мин
Количество просмотров47K
История о совпадении, везении и вознаграждении.

Два года назад пользователь dinikin написал пост, как он нашёл уязвимость в личном кабинете крупнейшего мобильного оператора Украины — Киевстар. Уязвимость позволяла добавлять к себе в аккаунт без верификации любой номер телефона Киевстар и полностью управлять им:

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

Уязвимость была закрыта, а автору в благодарность выплатили огромную премию подключили 4000 мегабайт интернета на 3 месяца.

Добавляем произвольный телефон в личном кабинете оператора мобильной связи Киевстар (Украина)

Позже хабрапользователь rewiaca в своём посте "Почему в Украине нет белых хакеров или история взлома Киевстар" описал ситуацию со столь щедрой наградой более эмоционально.

В комментариях тогда отметился Виталий Султан, Soultan, Chief Digital Officer Киевстар, пообещав вскоре запустить в компании Bug Bounty.

И вот, спустя почти два года, Киевстар анонсирует запуск собственной программы Bug Bounty. Одной из первых фраз в анонсе была следующая:
В «Киевстаре» отметили, что приняли решение запустить программу после того, как нашли уязвимость во время бета-тестирования обновленной системы «Мой Киевстар».
Как видим, компания лукавит, ведь именно пользователь Habrahabr.ru dinikin нашёл уязвимость в системе «Мой Киевстар».
Впрочем, ближе к делу.

 «Угнать за 60 секунд» на примере одного каршеринга

Время на прочтение4 мин
Количество просмотров45K
image
«Без разочарований не ощутишь вкус победы» © Мемфис Реймс

История началась банально. В каком то ролике на YouTube рассказывали про каршеринг. С демонстрацией функции «приветствия», когда вам не удается найти автомобиль на большой парковке. У меня тут же возникла мысль проверить — а не смогу ли я активировать функцию приветствия на абсолютно все автомобили этой компании?! Ну весело же. Крупный российский город. И в какой то момент тысячи автомобилей по команде начинают сигналить и моргать фарами. Почти как в фильме «Крепкий Орешек 4».

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

Устройство для энтузиастов — телефон на ОС «Аврора»

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

«Аврора» на фоне «Авроры».

Привет, читатель!

ОС «Аврора» — это отечественный форк финского проекта. Система позиционируется как решение для корпоративного сегмента, однако не так давно появились устройства для личного пользования. Я давно ждал, что эта операционка станет доступна рядовому потребителю и появится возможность разрабатывать под нее приложения.

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

Багодельня — марафон по убийству престарелых багов

Время на прочтение3 мин
Количество просмотров20K

Сколько открытых багов у вас в бэклоге? 100? 1000?
А сколько времени они там лежат? Неделю? Месяц? Годы?
А почему так происходит? Нет времени? Надо делать более приоритетные задачи? «Вот сейчас все срочные фичи реализуем, а потом точно будет время на разгребание багов»?


… Некоторые используют Zero Bug Policy, у кого-то хорошо развита культура работы с багами (своевременно актуализируют бэклог, пересматривают ошибки при изменении функциональности и т.д.), а кто-то выращивает волшебников, которые пишут вообще без багов (маловероятно, но, может, и такое бывает).


Сегодня я расскажу вам про наше решение по чистке бэклога багов — проект «Багодельня».


Читать дальше →

Зачем мы сделали приложение Билайн под Windows Phone и что в этой ОС есть такого, чего нет в iOS и Android

Время на прочтение4 мин
Количество просмотров34K
У нас есть приложения для абонентов с личным кабинетом на Android и iOS. Когда число пользователей смартфонов WP в нашей сети перевалило за полмиллиона, мы, естественно, начали писать приложение. Учитывая количество потенциальных установок и тот факт, что у других операторов приложения на WP нет, Microsoft всячески помогала нам с информацией по особенностям ОС.

А особенностей было много. Например, выяснилось, что нативный контрол карты в SDK для Windows Phone 8.1 Runtime достаточно медленно работает с метками на карте, если их больше 5. Во время изменения положения и масштаба эти пины отстают от самой карты. Можно использовать MapIcon, но в этом случае не гарантируется, что пин будет показан на карте: например, его может перекрыть название улицы. Пришлось делать кастомный растровый слой на карте для улучшения производительности.



Вторая сложность – в Windows Phone 8.1 Runtime SDK нет возможности отправить USSD-запрос из приложения или скопировать какой-то текст (номер USSD-запроса, например) в буфер обмена системы.
Читать дальше →

Три причины не выбрасывать старый айфон: руководство по сбору артефактов после сброса устройства

Время на прочтение13 мин
Количество просмотров37K

Привет, Хабр! Меня зовут Виталий, в Positive Technologies занимаюсь расследованиями инцидентов, произошедших с мобильными устройствами. Всего мобильной криминалистикой занимаюсь уже больше шести лет. За это время я исследовал много разных телефонов: от самых простых вариантов — без запароленного доступа к содержимому, до телефонов с разбитым экраном, поврежденным интерфейсным разъемом, утопленных, заблокированных и сброшенных. Много среди них было и айфонов.

Недавно, перебирая вещи в квартире, я наткнулся на старый айфон, который долгое время пылился на полке. Включив устройство, я увидел не слишком обнадеживающее сообщение: «iPhone отключен. Подключитесь к iTunes». Оно чаще всего говорит о том, что доступ к данным безвозвратно утерян. Однако кое-что исследователю всё же доступно. О том, что мне удалось откопать — рассказываю под катом.

Погрузиться

11 признаков Senior QA, к которым я пришёл за годы работы в тестировании

Время на прочтение5 мин
Количество просмотров53K

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

За 9 лет работы в роли Head of QA, я для себя сформулировал набор качеств и модель поведения, которым должен соответствовать настоящий сеньор QA. Своими наблюдениями поделился под катом.

Читать далее

Локализация приложений: как мы подружили перевод и разработку

Время на прочтение14 мин
Количество просмотров28K


Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений имеет свою аудиторию, свои рынки, свой стиль общения с пользователями, версии для веба и для мобильных платформ.


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


Статья написана по мотивам моего доклада на конференции Highload++ в ноябре.

Читать дальше →

«Социальный мониторинг». Счёт 1:0 в нашу пользу

Время на прочтение6 мин
Количество просмотров28K

Введение


Приложение вышло → увидели тихий ужас → начали писать отрицательные отзывы → разобрали по полочкам → приложение удалили (отправили на доработку).

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

Что за приложение можно почитать тут.
А про оправдания и отправку на доработку тут.

Под катом мы посмотрим с Вами что же такого увидели в самом начале разбора приложения и пробежимся полностью по интересным моментам из кода. Насладимся дырявостью приложения и ни в какую не будем принимать “посмотрите за какие мы сроки это сделали”.

Предыстория


Для меня началось всё в Telegram канале “IT и COPM”. Далеко не сразу увидел пост с ссылкой на приложение в Play Market’e и apk’шку ниже. Только спустя минут 30, от количества постов в этом канале, я решил почитать. На тот момент ребята уже декомпилировали приложение и активно смотрели куда отправляются данные. Выдернули некоторые эндпоинты, хосты, токен, начали постить скриншоты кусков кода. Приложив apk’шку попросили кого-нибудь опубликовать декомплированный код на GitHub — спустя полтора часа он был выложен. Тут подключился я…

UI-автотесты: как делать не стоит

Время на прочтение11 мин
Количество просмотров79K
Здравствуй, Хабр. Меня зовут Виталий Котов, я работаю в отделе тестирования компании Badoo. Я пишу много UI-автотестов, но ещё больше работаю с теми, кто занимается этим не так давно и ещё не успел наступить на все грабли.

Итак, сложив свой собственный опыт и наблюдения за другими ребятами, я решил подготовить для вас коллекцию того, «как писать тесты не стоит». Каждый пример я подкрепил подробным описанием, примерами кода и скриншотами.

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

Поехали!



Читать дальше →

Все профессии важны: почему тестировщика нужно ценить не меньше, чем программиста

Время на прочтение10 мин
Количество просмотров37K

Здравствуйте. Меня зовут Илья Кудинов, мне 27 лет, и я тестировщик.
Все: Здравствуй, Илья!

Мы уже много писали о том, как здорово мы в Badoo тестируем наши продукты. А сегодня я (внезапно!) расскажу о том, как круто тестировать ВООБЩЕ. И когда я встречаю представителей нашей профессии, которые не разделяют эту точку зрения, я всегда стараюсь открыть им глаза на истину. Например, этой самой статьёй.

О чём она будет? Я поделюсь своим личным опытом, расскажу, как развивалась индустрия в течение шести с небольшим лет, что я за ней наблюдаю, и опишу своё видение карьерного пути тестировщика. Устраивайтесь поудобнее, настало время (неразборчиво, зачёркнуто) занимательных историй…

Дисклеймер


Всё, что я напишу в этой статье, основано на моём личном восприятии, опыте и информации, которую я почерпнул на QA-конференциях и митапах. Статья будет интересна начинающим специалистам и тем, кто мечтает работать в IT, но ещё не определился с профессией. И главным образом тем, кто считает, что тестирование — несерьёзная, скучная и рутинная работа.

Если вы со мной в чём-то не согласны — добро пожаловать в комментарии. Я всегда открыт к диалогу.
Читать дальше →

Уязвимости Киевстара: 1) разбор предыдущего поста про пароли + 2) инфо о покупках, проходящих через сервисы Киевстара

Время на прочтение7 мин
Количество просмотров34K
Привет. Я тот, кто полгода назад получил логины и пароли Киевстара от таких важных сервисов, как: JIRA, Amazon Web Services, Apple Developer, Google Developer, Bitbucket и многих других, зарепортил их по Bug Bounty и получил 50 долларов различные комментарии к репостам моей публикации.

Например:


Спасибо вам за поддержку и комментарии! Итоги голосования:


Детали о старой и новой ситуации тут

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

Selenium для всех: как мы учим QA-инженеров работать с автотестами

Время на прочтение9 мин
Количество просмотров84K


Привет, Хабр! Меня зовут Виталий Котов, я работаю в Badoo в отделе QA, занимаюсь автоматизацией тестирования, а иногда и автоматизацией автоматизации тестирования.


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

Читать дальше →

Что происходит с собеседованиями QA в 2025 году? Взгляд с обеих сторон баррикад

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров14K

Привет! Я Рома Авдонин, Head of QA в KTS.

На Хабре уже выходили посты о том, как тяжело найти работу QA в 2024–2025 годах, но мало кто взвешивает сразу две позиции — и кандидата, и нанимателя. Я побывал по обе стороны и решил поделиться наблюдениями.

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

Читать далее

Дополняем чек-лист тестирования при обновлении иконки и сплеша в мобильных приложениях

Время на прочтение3 мин
Количество просмотров7.4K


Алоха! Меня зовут Даша, я тестирую мобильные приложения. Скоро Хэллоуин, а FunCorp традиционно обновляет к некоторым праздникам иконку и сплеш. Сейчас именно такой случай, потому что большинство наших пользователей находятся в США. Задача показалась тривиальной, я быстро составила базовый чек-лист на 8 пунктов, но в процессе нашла ещё несколько кейсов, и он вырос до 13-ти (прилагается).

Здесь нет rocket science, я лишь расскажу, на что стоит обращать внимание в таких тасках, чтобы не пропустить лишних багов в прод — и на Android, и на iOS.
Читать дальше →

Как сделать кэш браузера не таким бесполезным, как обычно

Время на прочтение7 мин
Количество просмотров44K
Хочу рассказать вам о том, как мы в Яндекс.Браузере попытались сделать кэш не таким бесполезным для пользователей, как обычно. В недавно вышедшей новой бете Яндекс.Браузера для Android (планируем и для других ОС) можно получить доступ к недавно посещенным сайтам даже при отсутствии соединения с интернетом. Причём работать это должно гораздо надёжнее и удобнее, чем всё, что вы видели до этого.



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

Яндекс автоматически привязывает карту к другому аккаунту

Время на прочтение3 мин
Количество просмотров31K
В последнее время многие сервисы стараются запоминать данные банковской карты при оплате, чтобы в следующий раз пользователю было удобнее платить, и не нужно было заполнять данные карты снова. Почти уверен, что во всех учебниках по маркетингу написано, что в случае привязки карты вероятность покупки возрастает на 146%.



Из способов привязки можно выделить 3 самых основных:

  • Предлагать ненавязчиво — кому нужно сам поставит галочку;
  • Предлагать активно — галочка у привязки стоит по умолчанию, кто забыл её убрать — сам виноват;
  • Привязывать без какого-то уведомления — сервис сам знает, как пользователю будет лучше.

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

Как устроено автоматическое тестирование в Почте Mail.Ru под iOS

Время на прочтение32 мин
Количество просмотров21K

image


Некоторое время назад мы рассказали вам об автоматическом тестировании нашей Почты на Android и получили огромное количество вопросов от читателей. Сегодня приоткроем вам часть нашей «внутренней кухни», которая касается автотестирования на iOS. Для тестирования каждой сборки мы проводим более 500 автотестов, которые выполняются менее чем за один час. Как мы их реализовывали и зачем? С какими проблемами сталкивались и как смогли их решить? Обо всём этом читайте под катом.

Читать дальше →

Год успешной работы тестировщиком: мифы, усвоенные на курсах, и реальность

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

Жизнь каждого человека складывается по-разному: кто-то с 16 лет уже четко знает, что ему интересно, а кто-то приходит к этому гораздо позже. Я отношусь ко второму типу. Отучившись в вузе и не проработав ни дня по профессии, я находилась в постоянном размышлении, к чему у меня лежит душа, что может приносить стабильный доход, что будет с этим миром и где в нем мое место. Я пошла в продажи, основываясь на принципе “Нужно попробовать, а дальше посмотрим”. Но продажи не вдохновляли меня от слова “совсем”. Жизненный опыт постепенно накапливался, но у меня не было никаких идей, как реализовать свои хотелки. И вот в очередной раз я начала новую главу своей жизни, пытаясь следовать своим потребностям и мечтам, - я занялась машинным обучением ИИ. В этой статье я расскажу, как я осваивала профессию тестировщика программного обеспечения.

Читать далее

Вклад авторов