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

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

18.03.2020      20923

Компания «Яндекс» разработала фреймворк 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/
Автор:
Ксения Шестакова Обозреватель


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

См. также

Лаборатория Касперского представила бесплатную ОС

Новость ОС Безопасность ИТ-новость Новости компаний

«Лаборатория Касперского» выпустила собственную операционную систему. На базе KasperskyOS можно создать решения, которые защищены от многих видов кибератак.

вчера в 17:27    4579    user1015646    0       

«Яндекс» представил сервис для сканирования документов

Новость ИТ-новость Новости компаний Яндекс

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

вчера в 15:58    5457    VKuser24342747    0       

OpenAI открывает доступ к API GPT-3

Новость Искусственный интеллект ИТ-новость Новости компаний

Компания OpenAI предоставила доступ к API (прикладному программному интерфейсу) алгоритмов обработки естественного языка GPT-3. Это открывает новые возможности для экспериментов с умными системами, которые могут имитировать человеческие возможности – например, писать стихи или отвечать на вопросы.

29.11.2021    4369    user1015646    0       

Компания JetBrains представила легковесный редактор Fleet

Новость ИТ-новость Новости компаний

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

29.11.2021    4697    ЕленаЧерепнева    8       

Разработчики Astra Linux создали аналог Microsoft Active Directory

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

Группа компаний «Астра» представила службу ALD Pro, которая замещает в российской ОС Astra Linux решение Microsoft Active Directory. Поддержку этой функции от системы часто требуют госзаказчики.

29.11.2021    5394    VKuser24342747    1       

Специальный алгоритм очистит данные переписи населения

Новость Искусственный интеллект ИТ-новость

В России завершился первый этап Всероссийской переписи населения. Росстат будет в автоматическом режиме очищать собранные данные от продублированных записей при помощи российской BI-системы.

26.11.2021    5169    VKuser24342747    0       

В офисах Google появились универсальные роботы

Новость Автоматизация ИТ-новость Новости компаний

Офисы Google в Маунтин Вью, штат Калифорния, теперь станут гораздо чище. К уборке привлекли универсальных роботов, разработанных X Company, которая, как и поисковый гигант, входит в состав холдинга Alphabet.

25.11.2021    5010    user1015646    2       

Вышло крупное обновление для TypeScript с автодополнением кода

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

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

24.11.2021    7630    VKuser24342747    4       

GitHub назвал три ключевых тренда в разработке за 2021 год

Новость GitHub Аналитика ИТ-новость

GitHub провел традиционное ежегодное исследование Octoverse, чтобы определить основные направления развития ИТ-индустрии. В 2021 году актуальными стали вопросы быстрого написания кода и подготовки документации.

24.11.2021    7306    VKuser24342747    0       

Рособрнадзор прекратит использовать Windows при проведении ЕГЭ

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

Единый государственный экзамен к концу 2024 года будет проходить без использования ОС Windows во всех местах, где можно сдать тестирование. Вместо нее будет установлена российская система.

23.11.2021    5567    VKuser24342747    5       

Google выпустил версию браузера Chrome 96

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

Новая актуальная версия Google Chrome 96 получила расширение инструментов для веб-разработчиков и экспериментальные функции в мобильной версии.

23.11.2021    4765    VKuser24342747    1       

Через Госуслуги компании подтвердили 13,3 млн корпоративных SIM-карт

Новость Безопасность ИТ-новость Телекоммуникации

Министерство цифрового развития сообщило, что компании соблюдают новые требования закона «О связи» и уже зарегистрировали на портале госуслуг 13,3 млн рабочих SIM-карт.

22.11.2021    6928    VKuser24342747    1       

Visual Studio 2022 и .NET 6: что нового

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

Microsoft выпустила свежий релиз одной из самых популярных сред разработки. Вместе с Visual Studio 2022 представили обновленную платформу .NET 6.

22.11.2021    8211    user1015646    0       

Программист разработал поисковую систему без слежки за пользователями

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

Бывший разработчик из компании Salesforce Ричард Сокер открыл публичный доступ к своему поисковому сервису You. В нем нет никаких трекеров личных данных и рекламных материалов.

18.11.2021    5574    VKuser24342747    3       

«Сбер» обучил нейросеть ruGPT-3 генерировать программный код

Новость Искусственный интеллект ИТ-новость Новости компаний

Новая функция самой большой генеративной AI-модели для русского языка получила название JARVIS. Сейчас сервис способен работать с языками программирования Java, Python и JavaScript.

18.11.2021    5465    VKuser24342747    2       

Университет Иннополис создал уникальный российский индустриальный блокчейн

Новость Блокчейн ИТ-новость

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

17.11.2021    6255    VKuser24342747    0       

В Dropbox появились «автоматизированные папки» и новая система тегов

Новость ИТ-новость Облачные технологии

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

17.11.2021    5567    SKravchenko    1       

Microsoft выпустит платформу Defender for Business

Новость ИТ-новость Новости компаний

Microsoft Defender for Business станет частью комплексного решения Microsoft 365 Business Premium, которое объединяет Microsoft Teams и Office 365 с основными инструментами безопасности для малого и среднего бизнеса.

16.11.2021    3524    SKravchenko    0       

Adobe Photoshop и Illustrator стали доступны онлайн

Новость

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

11.11.2021    4807    user1015646    0       

Что нового в SQL Server 2022

Новость СУБД MS SQL ИТ-новость Новости компаний

Microsoft на ежегодной конференции Microsoft Ignite анонсировала предварительную версию SQL Server 2022 – теперь СУБД включает интеграцию с базой Azure SQL, службой аналитики Azure Synapse Analytics и платформой управления данными Azure Purview.

11.11.2021    9474    SKravchenko    0       

«Сбер» представил нейросеть для генерации картинок по описанию

Новость Искусственный интеллект ИТ-новость

Сервис ruDALL-E способен генерировать изображения с нуля по текстовому описанию на русском языке. Авторы полагают, что модель будет полезна для создания рекламного, архитектурного и промышленного дизайна.

11.11.2021    6313    VKuser24342747    10       

Правительство собирается определить главный российский процессор

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

Минцифры и Минпромторг намерены выбрать приоритетную российскую микропроцессорную платформу. Разработчики отечественного ПО будут обязаны поддерживать ее.

10.11.2021    5849    VKuser24342747    4       

Первая стабильная версия Microsoft Edge стала доступна для Linux

Новость Linux Интернет ИТ-новость

В репозиториях Linux на портале Microsoft появилась стабильная версия браузера Edge. Пакет под названием microsoft-edge-stable_95 доступен для пользователей Ubuntu, Debian, Fedora и openSUSE.

10.11.2021    5907    VKuser24342747    0       

Microsoft выпустит версию Windows 11 для слабых компьютеров

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

Microsoft намерена представить ОС Windows 11 SE для устройств начального уровня. Для работы операционной системы будет достаточно ноутбука на базе процессора Intel Celeron.

08.11.2021    4651    VKuser24342747    3       

Нейросеть GitHub Copilot стала доступна в Neovim и разработках JetBrains

Новость GitHub Искусственный интеллект ИТ-новость

Ассистент программиста GitHub Copilot, генерирующий код при помощи ИИ, включен в последние версии редактора кода Neovim, а также в IDE IntelliJ и PyCharm от компании JetBrains.

08.11.2021    7854    VKuser24342747    1