Рубрика «Тестирование веб-сервисов» - 30

Продолжаю серию конспектов с HL2018. В проверке этого конспекта мне помогали ребята из Badoo (Владимир Янц vyants и Николай Крапивный), за что им большой спасибо. Надеюсь, это положительно сказалось на качестве донесения идеи доклада.

image
Читать полностью »

Введение в React Hooks - 1

Если вы читаете Twitter, вы, вероятнее всего, знаете что Hooks  -  это новая фича React, но вы можете спросить, как мы на практике можем их использовать? В этой статье мы покажем вам несколько примеров использования Hooks.
Одна из ключевых идей для понимания заключается в том, что Hooks позволяют использовать state и другие возможности React без написания классов.
Читать полностью »

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

Как уязвимость в REG.RU позволяла получить данные регистрации любого домена - 1
Читать полностью »

«Чтобы добиться изменений, поймите, почему люди сопротивляются им»: Джим Холмс о культуре тестирования - 1

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

Общее то, что при всей их разнице, они все близки одному человеку. У Джима Холмса за спиной несколько десятилетий IT-опыта, начавшегося в 80-х в ВВС США — неудивительно, что он готов рассказать о многом. Для него важно понятие «testing culture», и мы задали ему вопросы, которые могут очень сильно различаться, но в конечном счёте так или иначе связаны с культурой тестирования.
Читать полностью »

Сколько отличий вы найдете за 10 секунд?

«Найди N отличий». Опыт тестирования верстки Tinkoff.ru - 1

Наш тестировщик найдет ВСЕ отличия. И даже те, которые не видны. Ниже я расскажу о том, как он это сделает, но для начала немного введу вас в курс дела.
Читать полностью »

Разработка программ высокого качества подразумевает, что программа и её части подвергаются тестированию. Классическое модульное (unit) тестирование подразумевает разбиение большой программы на маленькие блоки, удобные для тестов. Либо, если разработка тестов происходит параллельно с разработкой кода или тесты разрабатываются до программы (TDD — test driven development), то программа изначально разрабатыватся небольшими блоками, подходящими под требования тестов.

Одной из разновидностей модульного тестирования можно считать propery-based testing (такой подход реализован, например, в библиотеках QuickCheck, ScalaCheck). Этот подход основан на нахождении универсальных свойств, которые должны быть справедливы для любых входных данных. Например, сериализация с последующей десериализацией должна давать такой же объект. Или, повторная сортировка не должна менять порядок элементов в списке. Для проверки таких универсальных свойств в вышеупомянутых библиотеках поддерживается механизм генерации случайных входных данных. Особенно хорошо такой подход работает для программ, основанных на математических законах, которые служат универсальными свойствами, справедливыми для широкого класса программ. Есть даже библиотека готовых математических свойств — discipline — позволяющая проверить выполнение этих свойств в новых программах (хороший пример повторного использования тестов).

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

Под катом описаны несколько подходов к тестированию сложных программ с одним входом с разной степенью сложности (вовлеченности) и разной степенью покрытия.

Читать полностью »

Еще одна расшифровка доклада с Pixonic DevGAMM Talks. Антон Косякин — Technical Product Manager и работает над ALICE Platform (такая Jira для отелей). Он рассказывал, как они интегрировали воедино существующие в проекте инструменты для тестирования, зачем нужны нагрузочные тесты, какие инструменты предлагает комьюнити и как запустить эти инструменты в облаке. Ниже — выступление и текст доклада.

Читать полностью »

Вебинар «Тестовые среды 2.0 в облаке и как научиться их готовить» - 1

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

Сегодня, 1 ноября в 17:00 (московское время) на вебинаре про тестовые среды в облаке мы расскажем, как их правильно готовить.
Читать полностью »

Как наконец-то начать писать тесты и не пожалеть об этом - 1

Приходя на новый проект, я регулярно сталкиваюсь с одной из следующих ситуаций:

  1. Тестов нет совсем.
  2. Тестов мало, их редко пишут и не запускают на постоянной основе.
  3. Тесты присутствуют и включены в CI (Continuous Integration), но приносят больше вреда, чем пользы.

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

Что можно сделать, чтобы изменить сложившуюся ситуацию? Идея использования тестов не нова. При этом большинство туториалов напоминают знаменитую картинку про то, как нарисовать сову: подключаем JUnit, пишем первый тест, используем первый мок — и вперед! Такие статьи не отвечают на вопросы о том, какие тесты нужно писать, на что стоит обращать внимание и как со всем этим жить. Отсюда и родилась идея данной статьи. Я постарался кратко обобщить свой опыт внедрения тестов в разных проектах, чтобы облегчить этот путь для всех желающих.
Читать полностью »

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

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

Отметим сразу: разрабатываемый нами продукт еще не запущен, и мы далеки от того, чтобы на данном этапе как-то оценивать свои результаты. Тем не менее, мобильное приложение уже выложено в Google Play. Реализован пока основной, базовый функционал. На текущий момент мы находимся в финальной стадии разработки, после чего нам предстоит самая сложная часть плана — выход на рынок и продвижение продукта.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js