«Яндекс» открыл доступ к исходному коду фреймворка Testsuite 

«Яндекс» открыл доступ к исходному коду фреймворка Testsuite 

18.03.2020      31400

Компания «Яндекс» разработала фреймворк Testsuite специально для тестирования сервиса «Яндекс.Такси». Теперь доступ к продукту открыли для всех желающих – исходный код Testsuite выложили на GitHub под лицензией MIT.

Зачем нужен Testsuite 

Фреймворк создан для тестирования HTTP-сервисов. Он позволяет создавать запросы к API таких сервисов и анализировать ответы, отслеживать цепочки вызовов во внешние системы. 

Также фреймворк дает возможность перехватывать HTTP-запросы, которые ваш продукт отправляет во внешние сервисы, и обрабатывать их. 

С помощью Testsuite вы можете в тесте взаимодействовать с подключенной базой данных (из коробки поддерживаются PostgreSQL, MongoDB, Redis) – например, чтобы задать предусловие для выполнения теста через проверку результата запроса. 

Как устроен тестовый фреймворк 

В основу Testsuite лег pytest – самый популярный тестовый фреймфорк для Python. Но использовать его можно для тестирования продуктов, которые не обязательно написаны на Python. Так, «Яндекс.Такси» – это композиция сотен микросервисов, высоконагруженных компонентов на С++ и менее требовательных к ресурсам на Python. Но Testsuite успешно применяется и для тех, и для других.

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

В рамках тестирования каждый микросервис запускается в отдельном процессе. Кроме того, стартует mockserver – веб-сервер, который имитирует работу внешнего окружения. Он подменяет вызовы HTTP API внешних сервисов. 

Настраивать обработчики запросов на сервере можно для каждого теста. При этом mockserver будет помнить, какие запросы были обработаны и какие данные передавались. 

Непосредственно тесты Testsuite позволяют проверить, правильно ли исследуемый сервис обрабатывает HTTP-запросы. Они помогут отследить внутреннее состояние сервиса, его работу с базой данных и вызовы во внешние сервисы. 

Использование Testsuite 

Разработчики отметили, что применимость фреймворка как инструмента тестирования зависит от уровня детализации исследуемого продукта. Так, библиотеки, компоненты, а также отдельные классы, методы и функции удобно тестировать не столько с Testsuite, но с применением стандартных unit-тестов, фреймворков Googletest и pytest. 

Наиболее эффективная сфера применения Testsuite – это тестирование микросервисов. Кроме этого, фреймворк позволяет создавать и запускать интеграционные тесты для ансамблей микросервисов. Причем, если сервисы написаны на Python, Testsuite подойдет и для тестирования низкоуровневых взаимодействий между ними. 

Сейчас Testsuite работает только в операционных системах GNU/Linux и macOS, требуя установки Python и pytest3. Чтобы начать работу, нужно иметь базовое представление о синтаксисе Python. Желательно познакомиться и с pytest – это облегчит создание собственных тестов в Testsuite. 

Разработчики предоставили подробную документацию по проекту и примеры тестов с инструкцией по настройке и запуску фреймворка.

Критика

Разработчики в комментариях к статье о Testsuite на Habr отметили, что продукт – скорее не фреймворк, а набор отдельных инструментов и плагинов для pytest. Конечно, он упрощает работу с оригинальным фреймворком, но в целом не является чем-то уникальным и незаменимым. 

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



Источник: https://infostart.ru/journal/news/tekhnologii/yandeks-otkryl-dostup-k-iskhodnomu-kodu-freymvorka-testsuite_1212496/
Автор:
Обозреватель


В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

Центробанк назначил оператора единой автоматизированной системы страхования

Новость Страхование ИТ-новость

3 марта 2023 года Центробанк принял решение об учреждении АО «Национальная страховая информационная система».

20.03.2023    487    user1915009    1       

1

GitHub открыл доступ к сервису для проверки безопасности репозиториев

Новость GitHub ИТ-новость

Бесплатный сервис GitHub для проверки безопасности репозиториев позволяет защитить публичные проекты от утечки конфиденциальных данных. Ранее эта услуга была доступна только владельцам лицензии на GitHub Advanced Security, работающие в облаке GitHub Enterprise Cloud.

07.03.2023    1383    VKuser24342747    1       

1

Минпромторг подготовил план перехода объектов КИИ на российское ПО

Новость Импортозамещение ИТ-новость

В проекте документа ведомство предлагает поэтапное внедрение отечественных разработок в госкомпаниях и промышленных предприятиях. Полный переход намечен на 2024 год.

20.02.2023    2114    VKuser24342747    0       

3

Магазин приложений RuStore объявил о завершении бета-теста

Новость Импортозамещение ИТ-новость Минцифры

В релизной версии маркетплейса стала доступна консоль разработчика на английском языке. Загружать приложения в магазин станет проще для иностранных издателей.

16.02.2023    1941    VKuser24342747    3       

1

СУБД Postgres Pro Enterprise начала поддерживать быструю миграцию с Oracle

Новость ИТ-новость Разработка

Релиз российской системы включает все возможности открытой PostgreSQL 15 и облегченной версии СУБД компании — Postgres Pro Standard 15, а также функцию маскировки данных для их конфиденциальной передачи и улучшенное резервное копирование.

10.02.2023    1983    VKuser24342747    2       

1

«Сбер» начнет использовать российские TLS-сертификаты для платежного шлюза

Новость Безопасность ИТ-новость Минцифры

Банк запланировал переход на сертификаты, выпущенные Национальным удостоверяющим центром (НУЦ) Минцифры, на 30 января 2023 года. Клиентам необходимо добавить на свои серверы корневой сертификат ведомства.

30.01.2023    2483    VKuser24342747    1       

2

Минцифры подготовило правила отказа от передачи биометрических данных

Новость ИТ-новость Минцифры

Гражданин имеет право отказаться от сбора и распространения своих биометрических данных. Отказ можно оформить в МФЦ только при личном присутствии.

24.01.2023    1906    VKuser24342747    0       

1

Банки смогут получить право на передоверие полномочий по электронной подписи

Новость ИТ-новость Цифровая подпись Цифровая экономика

Комитет Госдумы рекомендует принять соответствующий законопроект. Документ позволит компаниям финансового сектора использовать электронную подпись наравне с другими организациями.

20.01.2023    1636    VKuser24342747    0       

1

«ВКонтакте» начал поддерживать получение уведомлений от Госуслуг

Новость Госуслуги ИТ-новость Мессенджеры Налоги

Оповещения с Единого портала госуслуг будут отображаться в Вконтакте и приложении «VK Мессенджер». Кроме того, стала доступна оплата штрафов ГИБДД прямо в VK.

19.01.2023    1900    VKuser24342747    0       

1

Минцифры подготовило правила аккредитации госорганов на владение информсистемами для биометрии

Новость Законодательство ИТ-новость Минцифры

Проект постановления содержит требования к Цетробанку и госорганам, а также к сторонним организациям, которые будут привлекаться ведомствами в качестве операторов. Требования согласованы с ФСБ.

19.01.2023    1860    VKuser24342747    0       

1

Утвержден профстандарт специалиста по информационной безопасности

Новость Безопасность ИТ-новость

Новый профстандарт вступит в силу 1 сентября 2023 года. А пока у работодателей в кредитно-финансовой сфере есть время проанализировать трудовой функционал специалистов по ИБ и при необходимости уточнить его.

17.01.2023    2847    user1816563    0       

2

Национальная система пространственных данных начала работу в России

Новость ИТ-новость Цифровая экономика

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

12.01.2023    2877    VKuser24342747    0       

3

Госдума рассмотрит законопроект о цифровом рубле

Новость Законодательство ИТ-новость Цифровая экономика

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

11.01.2023    4645    VKuser24342747    2       

2

Оператором Единой биометрической системы стал «Центр Биометрических Технологий»

Новость ИТ-новость

Ранее за работу платформы отвечал «Ростелеком». На «Центр Биометрических Технологий» возложены задачи по развитию в России цифровых технологий идентификации и аутентификации, в том числе на основе биометрических персональных данных.

22.12.2022    3046    VKuser24342747    2       

1

GitHub бесплатно проверит репозитории на наличие секретных токенов

Новость GitHub Безопасность ИТ-новость

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

22.12.2022    2733    VKuser24342747    1       

1

GitHub к концу 2023 года введет обязательную двухфакторную аутентификацию

Новость GitHub Безопасность ИТ-новость

Веб-хостинг потребует от всех пользователей, загружающих код, включить двухфакторную аутентификацию (2FA) для дополнительной защиты своих аккаунтов.

21.12.2022    2948    VKuser24342747    0       

1

Госдума рассмотрит законопроект о провайдере для госсайтов

Новость Государственные, бюджетные структуры Законодательство ИТ-новость

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

20.12.2022    2383    VKuser24342747    1       

1

«Яндекс» открыл доступ к фреймворку Yatagan для сборки Android-приложений

Новость ИТ-новость Яндекс Разработка

Инструмент свободно распространяется через GitHub. Перед публикацией в открытом доступе фреймворк долгое время применялся во внутренних проектах компании. Решение основано на API Dagger.

16.12.2022    3552    VKuser24342747    1       

3

В России появится национальная издательская система вместо иностранных аналогов

Новость Импортозамещение ИТ-новость

Программный комплекс будет создан на базе существующего отечественного решения Axiocat. Сейчас это приложение не внесено в Единый реестр российского ПО, хотя применяется некоторыми компаниями.

15.12.2022    2545    VKuser24342747    0       

1

Google рассказала о проблемах и преимуществах поддержки разработки на Rust в Android 13

Новость Google ИТ-новость Языки программирования

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

14.12.2022    2521    VKuser24342747    0       

3

Банки обяжут принимать оплату по картам «Мир» с QR-кодом в смартфоне

Новость Банки ИТ-новость

Оператор платежной системы «Мир» разослал российским банкам документ с требованием обеспечить прием платежей по новой технологии. Первый этап внедрения завершится в апреле 2023 года.

14.12.2022    2701    VKuser24342747    1       

2

Госдума рассмотрит законопроект о создании Национального удостоверяющего центра

Новость Законодательство Интернет ИТ-новость

Информационная система позволит российским сайтам получать сертификаты безопасности без участия иностранных организаций. Для их выдачи будет применяться отечественная криптография.

09.12.2022    2436    VKuser24342747    0       

0

Госдума планирует отложить срок обязательного перехода на машиночитаемые доверенности

Новость Законодательство ИТ-новость

Госдума в первом чтении одобрила законопроект, который продлевает переходный период для машиночитаемых доверенностей. Еще полгода организации смогут не применять МЧД при использовании электронных подписей.

08.12.2022    2735    VKuser24342747    0       

1

GitHub опубликовал статистику по языкам и проектам за 2022 год

Новость ИТ-новость Языки программирования Разработка

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

01.12.2022    3536    VKuser24342747    11       

3

Инспекторы смогут проводить дистанционные проверки через смартфон

Новость ИТ-новость Мобильные приложения

Минэкономразвития представило мобильное приложение, которое позволит осуществлять надзорные мероприятия бизнеса без посещения офиса. Программа работает через Госуслуги.

28.11.2022    2965    VKuser24342747    0       

1