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

REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала.

В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования столкнулись со множеством «подводных камней», о которых нельзя узнать сразу после импорта библиотеки в проект: статическим контекстом, путаницей в порядке применения фильтров к запросу, трудностями в структурировании теста.

Эта статья — о таких неявных особенностях REST Assured. Их нужно учитывать, если есть шанс, что количество тестов в проекте будет быстро увеличиваться — чтобы потом не пришлось переписывать.

image

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

Пара слов от нашего translate-бюро: обычно все стремятся переводить самые свежие материалы и публикации, и мы не исключение. Но терминалы — это не то, что обновляется раз в неделю. Поэтому мы перевели для вас статью Антуана Бопре, опубликованную весной 2018 года: несмотря на солидный по современным меркам «возраст», на наш взгляд, материал совершенно не потерял актуальности. Кроме того, в оригинале это серия из двух статей, но мы приняли решение объединить их в один большой пост.

Обзор эмуляторов терминала - 1

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

Выбираемся из дебрей тестов: строим короткий путь от фикстуры к проверке - 1

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

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

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

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

Выбор системы управления тестированием в 2019 - 1
Читать полностью »

1 августа в офисе Авито состоялась седьмая встреча Общества анонимных тестировщиков. Спикеры выступали с докладами про самодельную TMS, мониторинг мониторинга, подходы к оценке качества поиска и нативные iOS-тесты. Этот пост — отчёт о том, как прошёл митап. Внутри — видеозаписи, презентации спикеров, ссылки на фотоотчёт и отзывы участников встречи.

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

Почему мы решили развивать практику тестирования ML - 1

Прогнозные и оптимизационные сервисы на базе Machine Learning вызывают сегодня интерес у многих компаний: от крупных банков до небольших интернет-магазинов. Решая задачи различных клиентов мы столкнулись с рядом проблем, что послужило для нас почвой для рассуждений на тему особенности тестирования ML. Для тех, кому это интересно, — наш очередной пост от тест-менеджера компании «Инфосистемы Джет» Агальцова Сергея.
Читать полностью »

Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, люди с обоих сторон в собеседованиях и знакомые, а ответы будут субъективными, краткими и не исчерпывающими, основанными на чужих материалах и своём опыте. Целевая аудитория статьи – разработчики, которые с определенным успехом пишут или хотя бы пытались писать тесты, но испытывают определенные сложности в их написании.

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

Поводом для написания послужила недавняя статья «PHPUnit. Мокаем Doctrine Entity Manager» от trawl, некоторые проблемы из которой я тоже разберу.

Список вопросов:

  • Писать или не писать тесты?
  • А если на тесты не выделяют время?
  • Виды тестирования, как выбрать?
  • Почему мне сложно и долго писать тесты?
  • Как тестировать приватные методы?
  • Как писать интеграционные тесты? Как тестировать базу?
  • Как правильно: интеграционные или функциональные?
  • Как быть с внешними зависимостями?
  • Как упростить навигацию между тестами и предметом тестирования?
  • Должен ли я использовать TDD?
  • Что еще можно использовать для улучшения кода?

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

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

AirTest IDE разработан компанией NetEase и предназначен для "hard-to-automate" приложений, таких как, к примеру, игр. Собственно на них и делается основной упор разработчиками, хотя это не мешает использовать AirTest и для любых других приложений.

AirTest IDE работает под Windows, MacOS X и Linux и содержит в себе 2 фреймворка: AirTest и Poco. Данная разработка была представлена Xin Liu на Android Game Developer Summit 2018. Для написания тестов используется Pthong 2.7 и Python 3.3+. Такие важные вещи как поддержка запуска тестов сразу на большом количестве устройств, открытость исходного кода и бесплатность приложения, а также легкое написаное тестов — это те преимущества, которые выделяются разработчиками. Приложение может быть использовано как на Windows, так и на MacOS и позволяет автоматизировать приложения со следующих OS: Windows, iOS, Android.

AirTest Project на GitHub содержит 4 проекта: Airtest, Poco, iOS-Tangent, multi-device-runner.
Стоит также упомянуть, что NetEase предоставляет свою ферму физических устройств для автоматизированного тестирования, которая называется AirLab.

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

Как мы тестировали несколько баз данных временных рядов - 1

За последние несколько лет базы данных временных рядов (Time-series databases) превратились из диковинной штуки (узкоспециализированно применяющейся либо в открытых системах мониторинга (и привязанной к конкретным решениям), либо в Big Data проектах) в «товар народного потребления». На территории РФ отдельное спасибо за это надо сказать Яндексу и ClickHouse’у. До этого момента, если вам было необходимо сохранить большое количество time-series данных, приходилось либо смириться с необходимостью поднять монструозный Hadoop-стэк и сопровождать его, либо общаться с протоколами, индивидуальными для каждый системы.

Может показаться, что в 2019-м году статья про то, какую TSDB стоит использовать, будет состоять лишь из одного предложения: «просто используйте ClickHouse». Но… есть нюансы.

Действительно, ClickHouse активно развивается, пользовательская база растет, а поддержка ведется очень активно, но не стали ли мы заложниками успешной публичности ClickHouse-а, которая затмила другие, возможно, более эффективные/надежные решения?
В начале прошлого года мы занялись переработкой нашей собственной системы мониторинга, в процессе которой встал вопрос о выборе подходящей базы для хранения данных. Об истории этого выбора я и хочу здесь рассказать.
Читать полностью »

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

image

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


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