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

Едва ли будет неверным сказать, что лучшие из людей
обретают радость через страдание.
Людвиг ван Бетховен

Оркестр перфоманса - 1

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

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

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты - 1

Всем привет!

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

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

Чем ближе я знакомлюсь с Selenium WebDriver, тем больше у меня возникает вопросов, почему тот или иной функционал выполнен так, а не иначе. В своем выступлении «Заморочки в Selenium WebDriver» Алексей Баранцев проливает свет на тонкости реализации этого инструмента автоматизации и разграничивает «баги» и «фичи». В видео вы найдете много интересного, но все же некоторые моменты остаются (по крайней мере для меня) в тени.

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

Размышления будут преподнесены в контексте С#, хотя я не думаю, что логика реализации этого класса будет хоть сколько отличаться для других языков программирования.
Читать полностью »

В нескольких недавних постах обсуждался многообещающий и достаточно простой способ оценки качества поиска по продуктам с использованием намерений. Спешим представить открытый автоматизированный инструмент для такого рода тестирования — Intent-based Search Quality. Идея сводится к использованию заранее подготовленных «фокусированных» запросов, ценность которых заключается в их прямолинейности и однозначной интерпретации.

Первый релиз открытого инструмента для тестирования поиска по продуктам - 1

Если вас заинтересовал подход, обязательно обратите внимание на пост “Я намереваюсь купить” или самый простой способ оценить качество продуктового поиска. Переход от стандартного A/B тестирования к тестированию с использованием намерений может показаться не совсем очевидным.
Читать полностью »

Пересечение тестирования и архитектуры: интервью с Нилом Фордом - 1

Что может значить должность «QA architect»? А что значит совсем уж непонятная должность «meme wrangler»? С какого момента при работе над архитектурой надо подключать тестировщиков? Как менять процессы в организации так, чтобы люди при встрече с первой же сложностью не возвращались к старым?

Нил Форд на своём сайте представляется тремя вариантами: «ThoughtWorker» (сотрудник компании ThoughtWorks, которую многие знают из-за Мартина Фаулера), «Software Architect» и «Meme Wrangler». Вскоре на нашей конференции Heisenbug он расскажет о создании «эволюционных архитектур», которые возможно менять при изменении внешних обстоятельств. А пока что мы расспросили Нила: и о том, как это пересекается с тестированием, и о многом другом.
Читать полностью »

Тестирование синтетических данных

Начнём со сладкого и приведём примеры из практики тестирования.

Представьте себе готовый к запуску интернет-магазин. Ничего не предвещает беды. Маркетологи разработали стратегию продвижения, были написаны статьи в профильные интернет-ресурсы, оплачена реклама. Руководство ожидало до 300 покупок еженедельно. Проходит первая неделя, менеджеры фиксируют 53 оплаты. Руководство магазина в ярости...Читать полностью »

Дело в шляпе: топ-10 докладов Heisenbug 2018 Moscow - 1

Как упростить рефакторинг? Как научить разработчика избегать типовых ошибок в UI? Как вызвать восторг зрителей конференции по тестированию, если сам ты не тестировщик?

По традиции, открывая для всех видеозаписи докладов Heisenbug, мы публикуем на Хабре топ-10, составленный на основе зрительских отзывов. Доклады в посте расположены по возрастанию рейтинга: разница между соседними местами незначительная, так что не стоит придавать ей очень много значения, но главные триумфаторы в самом конце. Кто стал ими в этот раз?
Читать полностью »

Учимся всегда и везде! Подкасты для разработчиков на английском языке - 1

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

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

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

Наша подборка русскоязычных подкастов: https://habr.com/ru/company/mailru/blog/437428/

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

Занимаясь защитой от DDoS-атакРазные графики по одинаковым данным доводится на площадке клиента проводить нагрузочные тестирования, испытания защиты, помогать в отражении атак. Часто наблюдаешь ситуацию, когда на один и тот же трафик различаются графики в разных системах. Краткое пояснение «считают по-разному» не внушает доверие. Поэтому описал причины отдельной статьей. Статья будет полезна начинающим инженерам из эксплуатации сети и тем, кому приходиться сталкиваться с графиками.

Причины расхождения показаний разделил на три группы:

1. Подсчет
2. Сбор и хранение
3. Отображение
Читать полностью »

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

Эта статья – первая из серии производственных драм историй о том, как мы делали наш сервис лучше при помощи аутсорса. Делимся реальными проблемами и выводами.

Облака, белогривые лошадки...

Такая боль, такая боль, сервис на аутсорсе 1:0 - 1
(откуда-то из интернета, впервые увидел тут.)

Нагрузка на нашу систему сильно неравномерна: во-первых, в течение суток нагрузка меняется в 5 раз. Во-вторых, есть и ярко выраженная сезонность. Суточный максимум проверок после окончания летней сессии уменьшается в 10 раз! Зимняя сессия не столь яркая, но тоже не подарок. Плюс каждая последующая летняя сессия тяжелее (по числу проверок) и сложнее (новые технологии поиска и функциональность) предыдущей. Поэтому, с одной стороны, хочется иметь хороший запас по ресурсам, с другой – не платить лишнего во время спада активности. В сессию можно развернуть побольше серверов, а летом сократить объем потребляемых ресурсов. Очевидно, что это как раз случай облачных провайдеров. В этой статье я расскажу о различных аспектах взаимодействия с несколькими облачными провайдерами (AWS, ИТ-Град, MCS, YC). Если кому-то покажется, что это крик души, он не сильно ошибется. Итак, поехали!

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