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

У вас когда-нибудь было такое состояние?

image

Хочу показать вам, как TDD может улучшить качество кода на конкретном примере.
Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим.
Так получилось, что мне довелось написать два практически идентичных приложения: одно писалось в классическом стиле, так как я ещё не знал тогда TDD, в второе — как раз с использованием TDD.

Ниже я покажу, где были самые большие различия.

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

Оказалось, я не один такой и схожие ощущения возникают у многих моих коллег. И тогда я решил, что либо научусь писать нормально, либо пора менять профессию. Я попробовал test-driven development в попытке что-то изменить в своём подходе к программированию.

Забегая вперёд, по результату нескольких проектов, могу сказать, что TDD даёт более чистую архитектуру, но при этом замедляет разработку. И подходит не всегда и не всем.
Читать полностью »

Всем привет!

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

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

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

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

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

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

Всем привет! Сегодня мы хотим представить на суд IT-общественности наш продукт — IDE для работы с API TestMace. Возможно некоторые из вас уже знают о нас из предыдущих статей. Однако всеобъемлющего обзора инструмента не было, поэтому устраняем этот досадный недостаток.

TestMace — мощная IDE для работы с API - 1

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

Онлайн-конструктор переговорной комнаты — подбор оптимального решения ВКС - 1Три года назад мы опубликовали статью Оборудование ВКС для переговорных комнат. Она стала результатом труда и сборником экспертизы не одного человека, а нескольких компаний, специализирующихся многие годы на интеграции сложных решений видео-конференц-связи. На первый взгляд, ВКС и телефония — имеют много общего: общие задачи, схожий состав оборудования и аналогичная архитектура решений. Но, в реальности, с точки зрения интегратора — расчет и реализация проекта по видео-конференц-связи существенно отличается от телефонизации.

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

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

И если даже разобраться в них подробней, часто у заказчика возникают вопросы типа:

  • Почему я не могу поставить в этой переговорной комнате обычную веб-камеру?
  • Насколько эта камера сможет увеличить председателя?
  • А если мы телевизор придвинем к столу, ближние участники попадут в кадр?
  • Хватит ли чувствительности этого спикерфона на нашу комнату?

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

Привет! 6 июля, в следующую субботу, у нас в офисе пройдёт Panda Meetup #22, посвящённый фронтенд-разработке. Мы обсудим, зачем создавать свои плагины и как с ними работать, как обращаться с объектами с большой вложенностью и хитрой структурой и как тестировать не на примерах, а на основе свойств.

С докладами выступят эксперты из Voximplant, Mail.ru и Авито. Под катом — тезисы выступлений, ссылки на регистрацию и прямую трансляцию митапа. Регистрируйтесь на встречу и приглашайте коллег.

Плагины vue-cli, работа со «сложными» данными и тестирование на основе свойств — анонс Panda-Meetup Frontend - 1

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

Мутационное тестирование: тестируем тесты - 1

Написание тестов должно вселять в нас уверенность в корректной работе кода. Часто мы оперируем степень покрытости кода, и когда достигаем 100 %, то можем сказать, что решение корректное. Уверены в этом? Быть может, есть инструмент, который даст более точную обратную связь?
Читать полностью »

Я часто слышу среди обсуждений в сообществе мнение, что unit тестирование в Laravel неправильное, сложное, а сами тесты долгие и не дающие никакой пользы. Из-за этого эти тесты мало кто пишет, ограничиваясь лишь feature тестами, а польза unit тестов стремится к 0.
Я тоже так считал когда-то, но, однажды я задумался и спросил себя — может быть я не умею их готовить?

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

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

Сканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Application Security Project), некоторые идут в своем black-box тестировании гораздо дальше.

Чем искать уязвимости веб-приложений: сравниваем восемь популярных сканеров - 1

В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.
Читать полностью »

В течение месяца Министерство цифрового развития, связи и массовых коммуникаций (Минкомсвязь) начнёт открытое публичное тестирование прототипов пяти первых суперсервисов для российских граждан. Тестирование начнётся или на портале госуслуг, или на отдельном портале, это ещё не решили.

Суперсервисы — это комплексы государственных услуг, сгруппированные по типичным жизненным ситуациям. Здесь услуги можно получить онлайн в сокращённые сроки.

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

Настало время воплотить в жизнь новую мажорную версию Codeception! За годы эволюции и постоянных улучшений мы многому научились, и сегодня представляем вам лучшую версию Codeception. Мы по-прежнему считаем, что простота тестирования важна: чтение, написание и отладка тестов должны быть легкими.

Поддерживать проект, который пытается охватить все виды фреймворков и CMS, от Symfony до WordPress, от Laravel до Magento, сложно. Но мы видим, что люди из этих сообществ регулярно присылают нам патчи, и наша философия — отделить тесты от фреймворка, поделиться похожими решениями через модули — правильный путь. Наше удивительное сообщество продолжает улучшать этот проект.

Хорошо, а как насчет Codeception 3.0?
Читать полностью »


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