Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Git Hooks не так страшны, как их малюют

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.3K

Бывает, что в командах тестирования грезят об автоматизации процессов, но почему-то боятся внедрять даже такие простые вещи как хуки: «Они очень усложняют процесс, и писать их тысячу часов». С этим я категорически не согласен, ведь реализовать хуки очень просто.

Меня зовут Денис Федоров, я тестировщик в команде 2ГИС ПРО, сервисе геоаналитики для бизнеса. Рассказываю, что такое гит-хуки, чем они могут быть полезны и как их можно реализовать у себя. 

Читать далее

Как оптимизировать размер контейнерного образа в Docker

Время на прочтение6 мин
Количество просмотров6.8K

Введение


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

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

Создаем простейший API и тестируем его с помощью Playwright + TS

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.8K

Создаем и тестируем простейший API.

Что будет выполнено в ходе данной статьи:

1. Будет создан простейший API сервер на NodeJS для запуска локально.
2. Будут написаны автотесты, на Playwright + Typescript, покрывающие простые запросы GET, POST, PUT, PATCH, DELETE.
3. Выполнены негативные тесты с получением ошибок, последующим анализом и устранением.

Читать далее

Функция TypeScript 5.3, о которой вам не рассказали

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров11K

20 ноября команда TypeScript выпустила TS 5.3.

Как обычно, я просканировал сообщение об анонсе, но быстро заметил кое-что интересное.

Одно из самых важных изменений в TypeScript 5.3 не было упомянуто в примечаниях к релизу.

Читать далее

Docker: как создавать образы контейнеров и развертывать приложения

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров44K

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

Читать далее

Создание снимка виртуальной машины с памятью на платформе vStack

Время на прочтение1 мин
Количество просмотров1.5K

Продолжаем демонстрировать возможности платформы vStack. Руководитель проекта vStack Евгений Гаврилов лично в режиме реального времени создает снимок виртуальной машины с оперативной памятью.

Читать далее

OpenConnect: недетектируемый VPN, который вам понравится

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров318K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее

Автогенерация тестов на Puppeteer встроена в Chrome DevTools

Время на прочтение3 мин
Количество просмотров21K

В Chrome 89 в DevTools добавлена экспериментальная поддержка автогенерации JS-скриптов на Puppeteer.

Схематично это работает так: вы открываете нужную страницу, в DevTools включаете запись действий, и после делаете что-то на странице обычным образом (кликаете по ссылкам и кнопкам, переходите на другие страницы, вводите текст). По мере выполнения действий браузер наполняет DevTools-вкладку с виртуальным файлом записи JS-кодом, описывающим через API Puppeteer все действия. После этого запись можно остановить, и сохранить полученный код в виде реального JS-файла.

Для демонстрации новой функциональности (названной Puppeteer Recorder) авторы подготовили небольшую демо-страницу (хотя проверять можно на любой странице, никаких предварительных условий от сайта не требуется).

Но сперва, поскольку это ещё ранняя экспериментальная функция (хотя авторы планируют развивать и расширять Puppeteer Recorder), её нужно включить в настройках DevTools, на вкладке Experiments, в виде пункта Recorder:

Читать далее

Анализ производительности с помощью Chrome DevTools

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров22K

Когда речь идет о производительности, разработчики часто используют Lighthouse, Perfbuddy или аналогичные инструменты анализа производительности. Но когда целевой сайт имеет защиту от ботов, получить информацию не так просто. В этой статье блога мы сосредоточимся на том, где искать признаки узких мест в производительности с помощью Chrome Devtools.

Читать далее

Используем DevTools в headless Chrome

Время на прочтение4 мин
Количество просмотров4.7K


Если вы когда-нибудь использовали Puppeteer, то наверняка сталкивались с неудобной отладкой скриптов на удалённых нодах headless Chrome. Часто так не хватает консоли, а лучше полноценной панели инструментов для изучения запросов и логов… хотя постойте. Puppeteer сам по себе построен поверх Chrome DevTools Protocol, значит, наверняка есть куча решений для проброса данных в локальные DevTools? А вот и нет. Есть только два более-менее рабочих инструмента: отладчик для browserless.io и pptrconsole. Второй по функционалу и стабильности уже далеко впереди, поэтому поговорим про него.
Читать дальше →

5 accessibility инструментов в Chrome DevTools

Время на прочтение4 мин
Количество просмотров9.7K

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

Читать далее

Суперсилы Chrome DevTools

Время на прочтение6 мин
Количество просмотров70K


Я работаю в команде Онлайн. Мы делаем веб-версию справочника 2ГИС. Это долгоживущий активно развивающийся проект, в котором JavaScript используется как основной язык как на клиенте, так и на сервере.

Важное место в работе занимают инструменты анализа и отладки приложения. Популярные JavaScript фреймворки как правило обладают собственным инструментарием, заточенным под конкретную идеологию. Наша ситуация осложняется тем, что под капотом Онлайна гудит фреймворк собственного производства — Slot — также находящийся в стадии активной доработки.

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

Сниппеты для Chrome DevTools

Время на прочтение5 мин
Количество просмотров32K
Возможности встроенного в браузер инструмента Chrome Developer Tools можно расширить с помощью сниппетов. Это ускоряет разработку и упрощает рабочий процесс. Хорошая коллекция сниппетов есть на GitHub'е.

Сниппеты в Google Chrome


Подробно о функциях сниппетов можно почитать в официальной документации Chrome. А вот краткая инструкция:

  1. Зайти в «chrome://flags» — Отметить «Enable Developer Tools experiments».
  2. Открыть DevTools: «Settings» — «Developer Tools Experiments» — Отметить «Snippets support».
  3. После перезагрузки во вкладке DevTools «Sources» появится «Snippets», где можно управлять сниппетами:

image
Читать дальше →

Flutter DevTools: анализируем и улучшаем Flutter-приложения на примере «Росбанк Инвест»

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.8K

Привет! Меня зовут Нияз, и в этом посте я расскажу о Flutter DevTools — очень богатом и разнообразном наборе инструментов для оценки Flutter-приложений, причем доступном прямо через браузер. Статья представляет собой обзор доступного функционала Flutter DevTools, где я постараюсь описать, что можно сделать с его помощью. Для иллюстраций я по возможности буду использовать приложение «Росбанк Инвест». В ряде случаев нужных примеров в приложении не нашлось, поэтому я придумал их сам. Надеюсь, эта статья будет вам полезна и добавит в ваш инструментарий кое-что новое.

Читать далее

Бородатый обманщик. Методика TARPIT в защите и нападении

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров5.9K

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

Добро пожаловать под кат если вас интересует:

  Как затруднить атакующему фазу разведки?

  Отчего nmap может серьезно тормозить?

  Откуда берутся хосты с тысячами открытых портов?

  Как выявлять tarpit хосты и что с ними делать если вы занимаетесь аудитом ИБ.

  Что это вообще такое этот ваш tarpit? )

 

Читать далее

DVC + Hydra: легко меняем и запускаем ML эксперименты

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.1K

В этой статье рассмотрим пример организации ML проекта с возможностью быстро менять основные настройки и запуска множества локальных экспериментов на длительное время без сложных интеграций с внешними системами.

Читать далее

Как легко сделать подмену данных на вебе?

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров22K

Привет, Хабр!

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

В роли QA-инженера, активно тестирующего веб, я часто сталкиваюсь с необходимостью изменения запросов/ответов API, статус кода ответа и других параметров. Иногда возникают ситуации, когда фронт готов, но доработки с бэка еще предстоит дождаться.

Тут на помощь приходит Requestly! 

Читать далее

Как мы переложили на ChatGPT рутину в тестировании

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров23K

Здравствуйте вам каждому. Мы — Дмитрий и Павел, специалисты по тестированию в ITFB Group. В нашей работе, как и у любого тестировщика, есть много рутинных, однотипных задач. Делать их не хочется, но без них нельзя. К счастью, нам теперь могут помогать генеративные нейросети.

Мы решили исследовать возможности ChatGPT в нашей работе: чем он может быть полезен при составлении документации, написании тестовых сценариев и генерации автотестов. Конечно, это пока что не идеальный инструмент, но мы на своём опыте убедились, что в чем-то он уже может быть полезен многим тестировщикам.

Приглашаем под кат почитать про наш опыт.

Читать далее

Лидерство в тестировании — документация

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров5.7K

Независимо от того, какой это проект, организация или подход, всегда найдется место для документации. Хорошая документация — это находка, предоставляющая полезную информацию о подходах, масштабах, планах, конструкциях и результатах анализа, разработки и тестирования.

Читать далее

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.3K

Сегодня Kubernetes — это основное средство для оркестрации контейнеров на рынке, поэтому их тестирование занимает особую позицию в перечне задач. Большинство тривиальных тестов можно запустить через команду kubectl, либо фреймворк Sonobuoy для тестирования сертификации версий.

Однако для сложных интеграционных тестов, которые завязаны на Kubernetes API, необходимо реализовать что-то свое. Я воспользовался клиентской библиотекой Python для Kubernetes, которая позволяет работать со всеми прелестями его интерфейса, соединил ее с PyTest и API нашего продукта — Managed Kubernetes. Что из этого вышло, показываю в статье.
Читать дальше →
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Software Performance Engineer, Manual Test Engineer
Senior
От 120 000 ₽
Linux
Node.js
Docker
React
Development of test cases
API Testing
Manual testing
Software testing
Postman
Regression testing