powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Как тестировать микросервисы?
25 сообщений из 53, страница 1 из 3
Как тестировать микросервисы?
    #39798374
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Топик возник в виде логического продожления нашего спора здесь
https://www.sql.ru/forum/1311165/testirovanie-chto-imenno-testirovat-kak-opredelit-seredinu

У меня возникла мысль что тестить их вобщем-то не стоит.

Вобщем вот как-то так.

Прошу ваши каменты.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798378
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonУ меня возникла мысль что тестить их вобщем-то не стоит.
- возможность независимого тестирования сервисов считается одним из преимуществ SOA-архитектуры (и микросервисов в частности)
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798384
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Это если четкий ярлык на сервисе: "микросервис".
Размыто всё). Как при REST.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798399
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... пока прозвучали дежурные фразы. О том что Волга впадает
в Каспийское море и зимой люди топят печки
. Как у Чехова.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798412
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я пока что пришел к несколько иному заключению: тестить их нужно, но не всегда это целесообразно - придется поднимать какой-то кусок инфраструктуры. это может быть соизмеримо с поднятием всей инфраструктуры на стенде и комплексным тестированием
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798420
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо давайте по второму кругу. Как это делается в нашей конторе по правилам.

Микросервисы тестятся так же как и любой другой сервис.

Сначала пишутся сценарии тестирования т.е. описывается Cucumber в стиле если это то так, если вот это то вот так.

Потом ставится микросервис и запускаются сценарии. Все это делается через классический CI/CD c покрытием либо на coverity или sonarqube.

Под микросервисом чаще всего понимается сервис полученный через оркестрацию облачных сервисов обычно используется REST или websocket для общения с микросервисом. Так же вполне может быть что-то из экзотики на вроде gRPC протокол.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798421
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergunkaХорошо давайте по второму кругу. Как это делается в нашей конторе по правилам.

Микросервисы тестятся так же как и любой другой сервис.

Сначала пишутся сценарии тестирования т.е. описывается Cucumber в стиле если это то так, если вот это то вот так.

Потом ставится микросервис и запускаются сценарии. Все это делается через классический CI/CD c покрытием либо на coverity или sonarqube.

Под микросервисом чаще всего понимается сервис полученный через оркестрацию облачных сервисов обычно используется REST или websocket для общения с микросервисом. Так же вполне может быть что-то из экзотики на вроде gRPC протокол.

А вот у меня на работе сколько бы люди не тестировали и сколько бы тестов не писали программисты все равно вылазят баги и бывает что сервисы не работают/отключаются и т.д. Так что хз на самом деле...

P.S это сделали еще до моего прихода.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798422
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,

Какие технологии такие и зарплаты
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798431
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergunka, та ЗП норм)
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798432
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka, очевидно речь идет об end-to-end?
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798440
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonSergunka, очевидно речь идет об end-to-end?

Да, конечно. Понятно, что не Unit tests.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798441
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну.. это тестирует полный цикл работы приложения. Уже с поднятием в средах и в докерах.
А мой вопрос вобщем-то касался тестов которые проверяют корректность "в процессе" разработки.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798444
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopSergunkaХорошо давайте по второму кругу. Как это делается в нашей конторе по правилам.

Микросервисы тестятся так же как и любой другой сервис.

Сначала пишутся сценарии тестирования т.е. описывается Cucumber в стиле если это то так, если вот это то вот так.

Потом ставится микросервис и запускаются сценарии. Все это делается через классический CI/CD c покрытием либо на coverity или sonarqube.

Под микросервисом чаще всего понимается сервис полученный через оркестрацию облачных сервисов обычно используется REST или websocket для общения с микросервисом. Так же вполне может быть что-то из экзотики на вроде gRPC протокол.

А вот у меня на работе сколько бы люди не тестировали и сколько бы тестов не писали программисты все равно вылазят баги и бывает что сервисы не работают/отключаются и т.д. Так что хз на самом деле...

P.S это сделали еще до моего прихода.
боб мартин на эту тему хорошо сказал - типа тесты не гарантируют что работает правильно. они гарантируют что работает без ошибок :) (сам тест. это как градусник который показывает температуру себя. а куда ты его засунешь - это уже твое личное дело).

тесты не обязаны избавить от багов. они обязаны тебе дать понять что твой код работает в определенных (тобою) условиях так как ты хочешь. и всё.

насчет задира к фразе микросервисы их определению и т.п.

мое имхо - тестировать не надо только геттеры и сеттеры (если в них ничего нету кроме чтения и присваивания) остальное тестить надо.

если в твоем микросервисе нихера нету ни логики ни кода (тут кто то пишет их из 3х строчек) -- то прости, нафиа вообще ты этот мусор пишешь? где 98% это бойлерплейт и 2% это вывод в логи.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798445
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПривет.

Топик возник в виде логического продожления нашего спора здесь
https://www.sql.ru/forum/1311165/testirovanie-chto-imenno-testirovat-kak-opredelit-seredinu

У меня возникла мысль что тестить их вобщем-то не стоит.

Вобщем вот как-то так.

Прошу ваши каменты.ясен пень стоит. фулл набором юниттестов.

но это одна из самых ублюдочных технологий последних хайпов, так что жрите не подавитесь =)
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798447
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самая ублюдочная это серверлесс облачная херня
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798450
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wow-wow! Коллеги. Придержите коней! Чтож вы на старте спалились!
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798463
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу.. это тестирует полный цикл работы приложения. Уже с поднятием в средах и в докерах.
А мой вопрос вобщем-то касался тестов которые проверяют корректность "в процессе" разработки.

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

Обычно зарядил в ветку на гите и CI подхватил и проверил билд. Если какой косяк в тестах CI тут же разослал на емейлы. Можно и до комита в ветку самому проверить на локальном кластере если умеешь это делать. Здесь процентов 70% не умеют... но чаще всего это индусы из вновь прибывших... их учить влом, но если попросят, то учу... из христианского млосердия
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798465
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте вернемся в самое начало. В родительский топик.
В основу микросервисов (в реализации REST) положен принцип
доступа к т.н. ресурсам. Тоесть правильно организованный
REST-сервис просто предоставляет доступ к репозитарию
с ограниченной семантикой операций. Взять. Положить.
Найти все. Обновить.

Вопрос. В свете вышесказанного мной. Имеет ли смысл
тестировать логику такого REST-сервиса в отрыве от
приложения в целом?
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798468
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте вернемся в самое начало. В родительский топик.
В основу микросервисов (в реализации REST) положен принцип
доступа к т.н. ресурсам. Тоесть правильно организованный
REST-сервис просто предоставляет доступ к репозитарию
с ограниченной семантикой операций. Взять. Положить.
Найти все. Обновить.

Вопрос. В свете вышесказанного мной. Имеет ли смысл
тестировать логику такого REST-сервиса в отрыве от
приложения в целом?

Это вопрос к дизайну наших микросервисов, а не к тестированию. Дизайн должен идти от принципов SOLID.

На самом деле Вы не должны все сводить к трех уровней модели т.е.

1 фронт
2 бизнес логика
3 хранилище

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

Плюс из брокера сообщений может что-то подсасывать в UI и какая-то быстрая аналитика тут же присобачится и тп.

На самом деле закодить весь это зоопарк несложно, сложно понять как это задизайнить, чтоб все работало и собирать проект из микросервисов было удобно на будущее. Чтоб залил свои микросервисы в образы докера и заброооонззззоооовввееллл
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798478
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798484
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем микросервис отличается от обычного приложения? К чему тогда вопрос нужно ли его тестировать? Естественно надо, в разумных для проекта пределах, кому то достаточно 500 раз в дебагере вон запустить, ну и ок если работает.
Если вопрос о том как нужно ли тестировать взаимодействие сервисов - то ответ нет, для локальной разработки это не нужно, если вам нужно то у вас говносервисы а не микро. Однако иметь энд ту энд тесткейсы тоже полезно, если они приносят пользу, а не вред, когда на поддержку этих тестов тратится чуть ли не половина времени.
Насчёт тестов в целом - после перехода на скалу, стал писать их в разы меньше, потому что большая часть их ушла тупо компилятору. Strong type system compilator check это лучший юнит тест.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798495
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уж слишком широкий вопрос.
Причем теоретический.
Во первых, в микросервисах есть БЛ. Куда же она делась?
Ведь микросервисы это не ресурсы. Например микросервис:
ЗарегестрироватьЗаявку()
Да. В нём 3-5 строк всего, но и БЛ есть.
...
Во вторых, в больших компаниях и тестирование большое - свой DSL, свои тестировщики. Весь набор типов тестов. Тесты вне проектов и в проектах.
Тесты пишут не программисты.
В маленьких или хайп компаниях это лишняя трата денег.
Это как водопадный метод разразработки сменило экстремальное программирование. Естественный отбор)).
В третьих, при микросервисах добавились тесты чисто для них самих.
Например, устойчивость ПО к падению/перезагрузке сервиса.
Все же работвет асинхронно.
Попробуй смени версию микросервиса:
ОтделКадров.СписокСотрулников()
чтобы предприятие не встало.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798509
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте вернемся в самое начало. В родительский топик.
В основу микросервисов (в реализации REST) положен принцип
доступа к т.н. ресурсам. Тоесть правильно организованный
REST-сервис просто предоставляет доступ к репозитарию
с ограниченной семантикой операций. Взять. Положить.
Найти все. Обновить.

Вопрос. В свете вышесказанного мной. Имеет ли смысл
тестировать логику такого REST-сервиса в отрыве от
приложения в целом?

нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq.
Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика.
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798547
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
+1
...
Рейтинг: 0 / 0
Как тестировать микросервисы?
    #39798550
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
+1
неужели он тебя переубедил против того тчо микросервис это 2-4 строчки и всё?
...
Рейтинг: 0 / 0
25 сообщений из 53, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Как тестировать микросервисы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]