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

Тестирование веб-сервисов *

Семь раз оттесть, один раз деплой

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

Дефейс ask.mcdonalds.ru

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

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

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


Полистав стену, я заинтересовался и решил посмотреть, что же из себя представляет эта платформа для общения с пользователями — ask.mcdonalds.ru.
Читать дальше →

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

Время на прочтение4 мин
Количество просмотров25K
Бывало ли так, что вы видите на веб-странице картинки и оформление, но не видите текста — он появляется на пару (десятков) секунд позже? Это загружаются кастомные веб-шрифты. Объясняем, почему это происходит и как этого избежать.

Классический вопрос на собеседовании ops-инженеров и программистов: вы написали в адресной строке браузера habr.com и нажали Enter. Что произойдет? (Ответ на 10 страницах)

Ок, мы указали для своего текста font-family: PFRegal, «Times New Roman». Что произойдет?


Браузер посмотрит, есть ли для PFRegal объявление font-face. Если оно есть, то начнется загрузка файла шрифта. Что будут видеть читатели те секунды (десятки секунд на 3G), пока происходит загрузка?
Читать дальше →

Что не так со Сбермегамаркетом или, Сбер, пора уже меняться

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

Пару недель назад завершился очередной заказ на Сбермегамаркете. Как обычно с нюансами. Я написал о проблеме в поддержку, выбрал наиболее подходящую (как мне казалось) тему из существующих, и стал ждать. Спустя 1–2 дня — такой срок пишется как стандартный для рассмотрения — ничего не произошло. Спустя неделю я написал вопрос, мол, как там с моим обращением? На следующий день тикет закрыли с формулировкой «обращение закрыто, т.к. запрос не соответствует тематике обращения!. т. е. не присвоение другой темы, а просто отлуп пользователя по формальному признаку.

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

Читать далее

Хабраэффект для 130 000 камер Москвы

Время на прочтение2 мин
Количество просмотров134K
Привет, Хабр! Спасибо за неожиданно теплый приём. Высокий рейтинг нашей первой публикации и бурное обсуждение в комментариях окончательно убедили нас в том, что вы довольно отзывчивая аудитория и из этой затеи обязательно выйдет что-то полезное. Сегодня расскажем подробнее о том, как вы можете помочь городу стать лучше.


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

Как я взломал компании, связанные с криптовалютой, и заработал на этом $60 000

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

Биткоин и криптовалюты в целом сейчас у всех на слуху. Моё знакомство с криптовалютами произошло примерно 5 месяцев назад, именно тогда я начал инвестировать в bitcoin и ethereum, курс на тот момент был по $1900 за btc и $89 за эфир. Для того, чтобы вы могли понять, какой профит я получил, скажу, что на момент написания статьи биткоин стоит $18 100, а эфир $830 и продолжает выходить на орбиту вместе с остальными криптовалютами. Подумал, что будет отлично посмотреть насколько безопасны сервисы, в которых я держу свои криптовалютные сбережения, торгую ими или отдаю в доверительное управление.

Как школьники МЭШ взломали

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

История о том, как школьники нашли глупейшую ошибку в production версии электронного журнала г. Москвы и построили на этом бизнес.

Читать далее

Тавтологические тесты

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


Привет! Меня зовут Артём, и большую часть своего рабочего времени я пишу сложные автотесты на Selenium и Cucumber/Calabash. Честно говоря, довольно часто я оказываюсь перед непростым выбором: написать тест, который проверяет конкретную реализацию функциональности (потому что это проще) или тест, который проверяет функциональность (потому что это правильнее, но намного сложнее)? Недавно мне попалась неплохая статья о том, что тесты реализации – это «тавтологические» тесты. И, прочитав её, я уже почти неделю переписываю некоторые тесты в другом ключе. Надеюсь, вас она тоже подтолкнёт к размышлениям.

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

Тестирование в Badoo «с высоты птичьего полёта»

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


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

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

Об одной уязвимости в…

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


Год назад, 21 марта 2019, в баг баунти программу Mail.ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неинициализированной памяти, в которых чаще всего раскрывались фрагменты из GET-параметров и заголовков других запросов к тому же серверу.
Читать дальше →

Мутационное тестирование в PHP: качественное измерение для code coverage

Время на прочтение10 мин
Количество просмотров13K
Как оценивать качество тестов? Многие полагаются на самый популярный показатель, известный всем, — code coverage. Но это количественная, а не качественная метрика. Она показывает, какой объём вашего кода покрыт тестами, но не то, как хорошо эти тесты написаны. 

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

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


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

НЕ безлимитный почтовый ящик, или Сказ про секретное ограничение Mail.ru

Время на прочтение8 мин
Количество просмотров114K
Если хоть одному человеку этот опыт наступания на грабли окажется полезен — уже хорошо. Если разработчики сделают какие-то выводы, пересмотрят свои взгляды на взаимодействие с юзерами — просто замечательно.



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

Ну, значит виноват кэш. Переоткрываем почту в новой вкладке, перелогиниваемся в ящике, наконец входим через приватный режим и приходим к неутешительному выводу, что проблема серьёзнее. Начинаем обмозговывать первую пришедшую на ум версию о превышении лимита на объём ящика. Параллельно узнаём от администрации одного блога, что он получает от нашего ящика обратно отправленные туда в рамках подписки-рассылки письма. Отправляем себе с другого почтового сервиса весточку и любуемся на превращение её в бумеранг, вернувшийся от mailer-daemon@corp.mail.ru с вердиктом «Mailbox full: адресат@mail.ru».
Читать дальше →

Как мы импортозаместили аутсорсинг тестирования. Пошаговая инструкция

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

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

Подтверждение ИТ-компетенций на ГосУслугах, стоит ли доверять?

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

31 мая Госуслуги предложили интересную концепцию – проверку знаний ИТ-специалистов и подтверждение их навыков.

Для меня вопрос
“Можно ли доверять таким сертификатам”
является весьма актуальным, так как я участвую в подборе кадров.

Пришлось немного покопаться "под капотом" всей этой затеи с тестами и как итог родилась идея для статьи.

Читать далее

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

Как мы уже 4 года выживаем в условиях двух релизов в день

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


Здравствуй, Хабр! Сегодня я хочу завершить цикл статей об организации тестирования (начавшийся с изучения ошибок и опыта), рассказав о том, как же все-таки Badoo выпускает два качественных серверных релиза каждый день. Кроме пятницы, когда мы релизимся только утром. Не надо релизиться в пятницу вечером.

Я пришел в Badoo чуть более четырех лет назад. Все это время наши процессы и инструменты для тестирования непрестанно развивались и совершенствовались. Для чего? Число разработчиков и тестировщиков увеличилось примерно в два раза — значит, для каждого релиза готовится больше задач. Количество активных и зарегистрированных пользователей тоже удвоилось — а значит, и цена любой нашей ошибки стала выше. Для того чтобы доставлять пользователям максимально качественный продукт, нам нужны всё более и более мощные средства контроля качества, и эта гонка не заканчивается никогда. Цель этой статьи не только продемонстрировать работающий пример, но и показать, что какими бы крутыми ни были ваши процессы контроля качества, наверняка можно сделать их еще лучше. Технические реализации некоторых инструментов вы сможете найти по ссылкам на другие статьи, о некоторых из них нам еще предстоит написать.

В Badoo существует несколько разных QA-флоу, отличие которых обосновано разными средствами разработки и целевыми платформами (но мы используем для них общие системы: JIRA, TeamCity, Git и т.д.), и я вам расскажу о процессе тестирования и деплоя наших серверных задач (а заодно и веб-сайта). Его можно условно разделить на 5 больших этапов (хотя тут, конечно, многие мои коллеги считают по-разному), каждый из которых включает в себя и ручную, и автоматизированную составляющую. Постараюсь рассказать вам по очереди о каждом из них, отдельно выделяя то, что изменялось и развивалось в последние годы.
Читать дальше →

Аудит безопасности облачной платформы MCS

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

SkyShip Dusk by SeerLight

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

Статья — про этот самый незамыленный взгляд внешних экспертов, которые помогли команде Mail.ru Cloud Solutions (MCS) протестировать облачный сервис, и про то, что они нашли. В качестве «внешних сил» MCS выбрали компанию Digital Security, известную своей высокой экспертизой в кругах ИБ. И в данной статье мы разберем некоторые интересные уязвимости, найденные в рамках внешнего аудита — чтобы вас минули такие же грабли, когда вы будете делать свой облачный сервис.
Читать дальше →

Как мы пробивали Великий Китайский Фаервол (ч.1)

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

Всем привет!


На связи Никита — системный инженер из компании SЕMrush. Сегодня я расскажу вам о том, как перед нами встала задача обеспечить стабильность работы нашего сервиса semrush.com в Китае, и с какими проблемами мы столкнулись в ходе ее выполнения (учитывая местонахождение нашего дата-центра на восточном побережье США).


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



Проблемы китайского интернета


Даже самый далекий человек от специфики сетевого администрирования хотя бы раз, да слышал о Великом Китайском Фаерволе. Ууу, звучит круто, да? Но что это такое, как оно работает на самом деле — вопрос довольно сложный. В интернете можно найти много статей, посвященных этому, но с технической точки зрения устройство этого фаервола нигде не описано. Что, впрочем, неудивительно. Признаюсь сразу, по итогам года работы я не смогу сказать точно, как он работает, но смогу рассказать о своих замечаниях и практических выводах. И начнем мы со слухов об этом фаерволе.

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

Простой способ тестирования рекламы

Время на прочтение3 мин
Количество просмотров1.4K
Есть очень простой способ улучшить отдачу от рекламы. Перед запуском нужно провести её тестирование. Как это сделать без затрат и головной боли? Сейчас расскажу.
Читать дальше →

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».

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

Почему вам не дают подробный фидбек после собеседования

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

Зашла вчера в чат тестировщиков и вижу знакомый диалог:

— Мне в фирме 1 обещали фидбек через пару дней. В итоге неделя прошла, сам им пишу, а меня игнорят...

— Ага, я вот тоже собеседование в фирме 2 прошел, мне обещали ответ дать. А прислали просто отписку! «Вы нам не подходите», и всё.

Читать далее