На Хабре уже была статья, посвящённая Dependency Injection в Ruby, но упор в ней был больше на использование паттерна IoC-container с помощью гемов dry-container и dry-auto_inject. А ведь для использования преимуществ внедрения зависимостей совершенно необязательно городить контейнеры или подключать библиотеки. Сегодня расскажу о том, как по-быстрому реализовать DI своими руками.
Рубрика «Тестирование веб-сервисов» - 60
DIY DI в Ruby
2016-08-22 в 5:35, admin, рубрики: dependency injection, inversion of control, ruby, Программирование, Проектирование и рефакторинг, Совершенный код, Тестирование веб-сервисовУправление зависимостями в Python: похоже, уже можно пользоваться
2016-08-16 в 9:30, admin, рубрики: phyton стал лучше!, python, Блог компании Voximplant, Программирование, Разработка веб-сайтов, Тестирование веб-сервисов, метки: phyton стал лучше!В большинстве популярных языков программирования и экосистем с зависимостями все плохо. Как правило, создатели нового языка программирования уделяют этому не очень много внимания: просто потому, что в новом языке еще нет сотен тысяч библиотек для разных архитектур и версий, нетривиальным образом зависящих друг от друга. А когда эти сотни тысяч библиотек появляются – уже поздно что-нибудь менять.
Единственным на моей памяти исключением является node.js, авторы которой разработали «с чистого листа» на удивление удачную систему управления зависимостями. Ну, как удачную? Проблем там тоже много, начиная автовыполняемыми скриптами и заканчивая переходом от древовидной к flat структуре в 3-й версии. Но по сравнению с тем, что на тот момент было в других языках, нода — это прорыв.
Совсем недавно экосистема пополнилась новой утилитой rnpm, которая позволяет одной командой устанавливать React Native зависимости. В которых, на секундочку, может быть бинарный код для android и ios. Для разных архитектур. И все это работает из коробки. Мы в Voximplant хорошо знакомы с этой штукой: с ее помощью ставится наш собственный React Native SDK.
Вашему вниманию предлагаем интересную статью, опубликованную всего два дня назад, в которой очень подробно рассказывается про управление зависимостями в Python. Про историю развития. Про проблемы. И, что самое ценное — про то, как сообщество их решает. Под катом адаптированный для Хабра перевод и возможность обсудить печальную тему зависимостей. И не только для Python.
Маленький, но очень полезный патч в Selenium
2016-08-10 в 14:04, admin, рубрики: java, selenium grid, автоматизация тестирования, Блог компании Badoo, Тестирование IT-систем, Тестирование веб-сервисов, Тестирование мобильных приложенийВ нашей небольшой, но очень динамично развивающейся компании каждый день тестируется больше сотни задач. Все они проверяются как в тестовом окружении, так и в окружениях, более приближенных к реальному. Подавляющее большинство задач, связанных с web, проверяется автотестами, которых у нас много.
Примерно полгода назад тестов и задач стало столько, что наша маленькая ферма с Selenium в час пик стала буквально «захлебываться» от запросов на новую сессию Firefox или Chrome. Выглядело это примерно так: на Selenium grid образуется очередь из сессий, которые ждут свободный браузер. Пользователи продолжают запускать автотесты, и эта очередь продолжает расти, но браузеры заняты старыми задачами и сессии «отваливаются» с таймаутом.
Для чего нужен мониторинг? Обзор сервиса ХостТрекер
2016-08-10 в 5:17, admin, рубрики: host-tracker, monitoring, uptime, website monitoring, Блог компании ХостТрекер, мониторинг сайта, мониторинг сервера, проверка доступности сайта, Разработка веб-сайтов, Тестирование IT-систем, Тестирование веб-сервисовКомпания ХостТрекер является одним из лидеров рынка по предоставлению услуг мониторинга сайтов и различных веб сервисов. Она располагает множеством разнообразных инструментов, которые постоянно совершенствуются с учетом тенденций времени. Как появилась компания? Почему возникает потребность в мониторинге? Как он может помочь при разработке и тестировании сайтов и серверов? Этот обзор раскроет суть вопросов, а также покажет, как простое желание оптимизировать свою работу может трансформироваться в полезный для других продукт, а также как не утратить дух стартаперства и всегда шагать в ногу со своими клиентами.
Когда юнит-тестирование действительно необходимо
2016-08-08 в 9:26, admin, рубрики: Блог компании Voximplant, Нет времени объяснять, пиши юнит-тест, Программирование, Тестирование IT-систем, Тестирование веб-сервисов, метки: Нет времени объяснять, пиши юнит-тестПредставим, что вы разработчик на JavaScript, Ruby, Phyton или PHP. Ваш язык программирования не ищет ошибок во время компиляции. Собственно, у него компиляции, как таковой, нету. Если вы допустите синтаксическую ошибку, вы, конечно, о ней узнаете. Когда запустите программу.
Если вы ответственный разработчик, то напишите тесты сами. Так поступают все ответственные разработчики. Но что вы будете тестировать? Читать полностью »
Server-less API на AWS за 15 минут
2016-08-04 в 6:47, admin, рубрики: Amazon Web Services, api, AWS, server-less, прототипирование, разработка мобильных приложений, Тестирование веб-сервисов, Тестирование мобильных приложений, метки: server-lessAmazon Web Services позволяют очень быстро производить прототипирование простых веб-приложений, и написать API, допустим, для простого мобильного приложения можно за считанные минуты. Мы будем использовать связку DynamoDB и API Gateway (без Lambda-функций!) для настройки GET и POST запросов к базе с возможностью чтения, записи и изменения данных в ней.
Сравнение онлайн-сервисов склонения имен
2016-08-02 в 10:39, admin, рубрики: rest api, SaaS / S+S, обработка имен, определение пола, Разработка веб-сайтов, Разработка под e-commerce, роботы, склонение фио, теги никто не читает, Тестирование веб-сервисов, метки: определение пола, склонение фиоПоявилась потребность определять пол клиентов в базе и автоматически склонять ФИО для интернет-магазина. Специфика магазина – подарки и доставка цветов с поздравлениями.
Магазин принимает информацию о пользователях через форму быстрого заказа. Есть и обычная корзина, но многие пользуются именно быстрым заказом – там можно заполнить только телефон и сразу же перейти к оплате. Клиенты пользуются возможностью и часто вообще не указывают имя. Делать поля для ФИО обязательными бессмысленно – вписывать мусор вместо данных не запретить. Также как не запретить неправильно писать собственное имя.
Между тем правильное обращение к клиенту необходимо, иначе возможны казусы:
Почему в Украине всё-таки есть белые хакеры
2016-07-29 в 11:49, admin, рубрики: bugbounty, белые хакеры, информационная безопасность, платежные системы, поиск уязвимостей, программа поиска уязвимостей, Разработка веб-сайтов, Тестирование веб-сервисов, уязвимости, этичный хакингЭта статья будет ответом на недавнюю публикацию Владимира Таратушка.
Причин написания статьи у меня было несколько.
Первая — это показать, что белые хакеры в Украине есть. Существуют они благодаря одной из программ поощрения поиска уязвимостей, которую проводит Приватбанк.
Следующая причина — это рассказать свою success story работы с одним из крупнейшим банком Украины в рамках данной программы.
Так же я хочу показать эффективность работы такой программы на реальном примере и сподвигнуть к организации таких программ те компании, которые по каким то причинам сомневаются или не видят в них реальных плюсов.
Ну и последняя причина — показать будущим и настоящим ресёчерам, что участие в баг-баунти программах интересно, этично и материально выгодно.
Читать полностью »
Тестирование интеграции продукта на скорости Netflix
2016-07-27 в 18:12, admin, рубрики: netflix, Анализ и проектирование систем, интеграция, микросервис, отладка, стратегия тестирования, тестирование, Тестирование веб-сервисов, тестирование интеграции, хитНормальное взаимодействие участников Netflix обеспечивается архитектурой микросервисов и привязано персонально к каждому из наших более чем 80 миллионов участников. Сервисы принадлежат разным командам (группам), каждая из которых имеет свой собственный цикл разработки и релиза. Это означает, что необходимо иметь постоянно действующую и компетентную группу тестирования интеграции, обеспечивающую выполнение сквозных стандартов качества в ситуации, когда микросервисы вводятся в действие каждый день децентрализованно.
В качестве группы тестирования интеграции разрабатываемых продуктов мы обязаны не снижать скорость введения нового, обеспечивая в то же время контроль качества и быструю обратную связь для разработчиков. Каждая группа разработчиков отвечает за качество поставляемого ею продукта. Нашей задачей является бесперебойная работа с различными техническими группами с упором на сквозную функциональность и координацию деятельности групп. Мы представляем собой небольшую группу специалистов по тестированию интеграции в организации, насчитывающей более 200 разработчиков.
Быстрый ввод новых разработок при необходимости обеспечении требуемого качества создаёт интересные задачи для нашей команды. В настоящей статье мы рассмотрим три такие задачи:
1. Тестирование и мониторинг высокорейтинговых показов (High Impact Title = HIT = хит)
2. A/B-тестирование
3. Глобальный запуск
Читать полностью »
Выбираем лучший онлайн-сервис по сжатию CSS
2016-07-26 в 13:03, admin, рубрики: css, Клиентская оптимизация, онлайн-сервисы, оптимизация кода, Тестирование веб-сервисовВ настоящее время существует огромное количество веб-инструментов по оптимизации CSS файлов. Большинство из них имеют собственный алгоритм работы (есть, конечно, и дубликаты). Эффективность самих программ тоже значительно отличается. Кроме того, некоторые оптимизаторы могут «ломать» CSS код, после чего стили становятся невалидными. Как показывает практика, процент таких «полезных» инструментов достаточно высок.
Данная статья представляет собой отчет о проведенном тестировании наиболее популярных онлайн-оптимизаторов. Эксперимент проводился на 3 CSS файлах. Ссылки на каждый из них приведены в таблице результатов.
Читать полностью »