|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Привет. Топик возник в виде логического продожления нашего спора здесь https://www.sql.ru/forum/1311165/testirovanie-chto-imenno-testirovat-kak-opredelit-seredinu У меня возникла мысль что тестить их вобщем-то не стоит. Вобщем вот как-то так. Прошу ваши каменты. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 19:01 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonУ меня возникла мысль что тестить их вобщем-то не стоит. - возможность независимого тестирования сервисов считается одним из преимуществ SOA-архитектуры (и микросервисов в частности) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 19:19 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
mayton, Это если четкий ярлык на сервисе: "микросервис". Размыто всё). Как при REST. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 19:26 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Ну... пока прозвучали дежурные фразы. О том что Волга впадает в Каспийское море и зимой люди топят печки . Как у Чехова. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:14 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
я пока что пришел к несколько иному заключению: тестить их нужно, но не всегда это целесообразно - придется поднимать какой-то кусок инфраструктуры. это может быть соизмеримо с поднятием всей инфраструктуры на стенде и комплексным тестированием ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:52 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Хорошо давайте по второму кругу. Как это делается в нашей конторе по правилам. Микросервисы тестятся так же как и любой другой сервис. Сначала пишутся сценарии тестирования т.е. описывается Cucumber в стиле если это то так, если вот это то вот так. Потом ставится микросервис и запускаются сценарии. Все это делается через классический CI/CD c покрытием либо на coverity или sonarqube. Под микросервисом чаще всего понимается сервис полученный через оркестрацию облачных сервисов обычно используется REST или websocket для общения с микросервисом. Так же вполне может быть что-то из экзотики на вроде gRPC протокол. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 21:14 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
SergunkaХорошо давайте по второму кругу. Как это делается в нашей конторе по правилам. Микросервисы тестятся так же как и любой другой сервис. Сначала пишутся сценарии тестирования т.е. описывается Cucumber в стиле если это то так, если вот это то вот так. Потом ставится микросервис и запускаются сценарии. Все это делается через классический CI/CD c покрытием либо на coverity или sonarqube. Под микросервисом чаще всего понимается сервис полученный через оркестрацию облачных сервисов обычно используется REST или websocket для общения с микросервисом. Так же вполне может быть что-то из экзотики на вроде gRPC протокол. А вот у меня на работе сколько бы люди не тестировали и сколько бы тестов не писали программисты все равно вылазят баги и бывает что сервисы не работают/отключаются и т.д. Так что хз на самом деле... P.S это сделали еще до моего прихода. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 21:28 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Tsyklop, Какие технологии такие и зарплаты ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 21:37 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Sergunka, та ЗП норм) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 22:23 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Sergunka, очевидно речь идет об end-to-end? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 22:23 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonSergunka, очевидно речь идет об end-to-end? Да, конечно. Понятно, что не Unit tests. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 22:45 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Ну.. это тестирует полный цикл работы приложения. Уже с поднятием в средах и в докерах. А мой вопрос вобщем-то касался тестов которые проверяют корректность "в процессе" разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 22:48 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
TsyklopSergunkaХорошо давайте по второму кругу. Как это делается в нашей конторе по правилам. Микросервисы тестятся так же как и любой другой сервис. Сначала пишутся сценарии тестирования т.е. описывается Cucumber в стиле если это то так, если вот это то вот так. Потом ставится микросервис и запускаются сценарии. Все это делается через классический CI/CD c покрытием либо на coverity или sonarqube. Под микросервисом чаще всего понимается сервис полученный через оркестрацию облачных сервисов обычно используется REST или websocket для общения с микросервисом. Так же вполне может быть что-то из экзотики на вроде gRPC протокол. А вот у меня на работе сколько бы люди не тестировали и сколько бы тестов не писали программисты все равно вылазят баги и бывает что сервисы не работают/отключаются и т.д. Так что хз на самом деле... P.S это сделали еще до моего прихода. боб мартин на эту тему хорошо сказал - типа тесты не гарантируют что работает правильно. они гарантируют что работает без ошибок :) (сам тест. это как градусник который показывает температуру себя. а куда ты его засунешь - это уже твое личное дело). тесты не обязаны избавить от багов. они обязаны тебе дать понять что твой код работает в определенных (тобою) условиях так как ты хочешь. и всё. насчет задира к фразе микросервисы их определению и т.п. мое имхо - тестировать не надо только геттеры и сеттеры (если в них ничего нету кроме чтения и присваивания) остальное тестить надо. если в твоем микросервисе нихера нету ни логики ни кода (тут кто то пишет их из 3х строчек) -- то прости, нафиа вообще ты этот мусор пишешь? где 98% это бойлерплейт и 2% это вывод в логи. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 23:00 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonПривет. Топик возник в виде логического продожления нашего спора здесь https://www.sql.ru/forum/1311165/testirovanie-chto-imenno-testirovat-kak-opredelit-seredinu У меня возникла мысль что тестить их вобщем-то не стоит. Вобщем вот как-то так. Прошу ваши каменты.ясен пень стоит. фулл набором юниттестов. но это одна из самых ублюдочных технологий последних хайпов, так что жрите не подавитесь =) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 23:29 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Самая ублюдочная это серверлесс облачная херня ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 23:44 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Wow-wow! Коллеги. Придержите коней! Чтож вы на старте спалились! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 00:14 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonНу.. это тестирует полный цикл работы приложения. Уже с поднятием в средах и в докерах. А мой вопрос вобщем-то касался тестов которые проверяют корректность "в процессе" разработки. А в чем отличие? В разработке там сложности, что каждый понимает как работает фича по-своему так что без покрытия тестами если этот момент упустить в начале то будет очень бо-бо в конце. Потом рефакторинг который делается практически каждый день при разработке без покрытия фиг сделаешь я уж не говорю во время баг фиксинга. Обычно зарядил в ветку на гите и CI подхватил и проверил билд. Если какой косяк в тестах CI тут же разослал на емейлы. Можно и до комита в ветку самому проверить на локальном кластере если умеешь это делать. Здесь процентов 70% не умеют... но чаще всего это индусы из вновь прибывших... их учить влом, но если попросят, то учу... из христианского млосердия ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 01:18 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Давайте вернемся в самое начало. В родительский топик. В основу микросервисов (в реализации REST) положен принцип доступа к т.н. ресурсам. Тоесть правильно организованный REST-сервис просто предоставляет доступ к репозитарию с ограниченной семантикой операций. Взять. Положить. Найти все. Обновить. Вопрос. В свете вышесказанного мной. Имеет ли смысл тестировать логику такого REST-сервиса в отрыве от приложения в целом? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 01:28 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonДавайте вернемся в самое начало. В родительский топик. В основу микросервисов (в реализации REST) положен принцип доступа к т.н. ресурсам. Тоесть правильно организованный REST-сервис просто предоставляет доступ к репозитарию с ограниченной семантикой операций. Взять. Положить. Найти все. Обновить. Вопрос. В свете вышесказанного мной. Имеет ли смысл тестировать логику такого REST-сервиса в отрыве от приложения в целом? Это вопрос к дизайну наших микросервисов, а не к тестированию. Дизайн должен идти от принципов SOLID. На самом деле Вы не должны все сводить к трех уровней модели т.е. 1 фронт 2 бизнес логика 3 хранилище В реальной жизни все сложнее к примеру чаще всего у нас бежит брокер сообщений типо кафки или rabbitMQ и там в общем-то в качестве хранилища выступает очередь или топики как таковые. Плюс из брокера сообщений может что-то подсасывать в UI и какая-то быстрая аналитика тут же присобачится и тп. На самом деле закодить весь это зоопарк несложно, сложно понять как это задизайнить, чтоб все работало и собирать проект из микросервисов было удобно на будущее. Чтоб залил свои микросервисы в образы докера и заброооонззззоооовввееллл ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 02:12 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Чем микросервис отличается от обычного приложения? К чему тогда вопрос нужно ли его тестировать? Естественно надо, в разумных для проекта пределах, кому то достаточно 500 раз в дебагере вон запустить, ну и ок если работает. Если вопрос о том как нужно ли тестировать взаимодействие сервисов - то ответ нет, для локальной разработки это не нужно, если вам нужно то у вас говносервисы а не микро. Однако иметь энд ту энд тесткейсы тоже полезно, если они приносят пользу, а не вред, когда на поддержку этих тестов тратится чуть ли не половина времени. Насчёт тестов в целом - после перехода на скалу, стал писать их в разы меньше, потому что большая часть их ушла тупо компилятору. Strong type system compilator check это лучший юнит тест. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 06:43 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Уж слишком широкий вопрос. Причем теоретический. Во первых, в микросервисах есть БЛ. Куда же она делась? Ведь микросервисы это не ресурсы. Например микросервис: ЗарегестрироватьЗаявку() Да. В нём 3-5 строк всего, но и БЛ есть. ... Во вторых, в больших компаниях и тестирование большое - свой DSL, свои тестировщики. Весь набор типов тестов. Тесты вне проектов и в проектах. Тесты пишут не программисты. В маленьких или хайп компаниях это лишняя трата денег. Это как водопадный метод разразработки сменило экстремальное программирование. Естественный отбор)). В третьих, при микросервисах добавились тесты чисто для них самих. Например, устойчивость ПО к падению/перезагрузке сервиса. Все же работвет асинхронно. Попробуй смени версию микросервиса: ОтделКадров.СписокСотрулников() чтобы предприятие не встало. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 07:42 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonДавайте вернемся в самое начало. В родительский топик. В основу микросервисов (в реализации REST) положен принцип доступа к т.н. ресурсам. Тоесть правильно организованный REST-сервис просто предоставляет доступ к репозитарию с ограниченной семантикой операций. Взять. Положить. Найти все. Обновить. Вопрос. В свете вышесказанного мной. Имеет ли смысл тестировать логику такого REST-сервиса в отрыве от приложения в целом? нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq. Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 08:15 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Озверин, +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 09:56 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Petro123Озверин, +1 неужели он тебя переубедил против того тчо микросервис это 2-4 строчки и всё? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 09:58 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTPetro123Озверин, +1 неужели он тебя переубедил против того тчо микросервис это 2-4 строчки и всё?ты глубже копай. Где в его ПОСЛЕДНЕМ сообщении что нужно 500 строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:00 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
ОзверинmaytonДавайте вернемся в самое начало. В родительский топик. В основу микросервисов (в реализации REST) положен принцип доступа к т.н. ресурсам. Тоесть правильно организованный REST-сервис просто предоставляет доступ к репозитарию с ограниченной семантикой операций. Взять. Положить. Найти все. Обновить. Вопрос. В свете вышесказанного мной. Имеет ли смысл тестировать логику такого REST-сервиса в отрыве от приложения в целом? нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq. Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика. кстати да, откуда такое мнение что рест прям только со статикой. под запросом гет/ентити может крыться 100500 строк кода которые эти ентити достают создают и т.д. и т.п. не говоря о том что ты можешь и парамами играться и всякое такое. кроме того описание реста само по себе такое же не менее туманное как и любые другие спецификации. выделенная бизнес-единица. согласен. именно так и есть. она должна быть гранулярной и с минимумом функционала, относящегося только и сугубо лишь к ней самой. ну а что там потестировать - всегда найдется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:01 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaT, Мои слова 3-5 строк это выделенная минимальная атомарная единица работы. Есть при этом как плюсы так и минусы (геморрой) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:03 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Petro123Уж слишком широкий вопрос. Причем теоретический. Во первых, в микросервисах есть БЛ. Куда же она делась? Ведь микросервисы это не ресурсы. Например микросервис: ЗарегестрироватьЗаявку() Да. В нём 3-5 строк всего, но и БЛ есть. ... Во вторых, в больших компаниях и тестирование большое - свой DSL, свои тестировщики. Весь набор типов тестов. Тесты вне проектов и в проектах. Тесты пишут не программисты. В маленьких или хайп компаниях это лишняя трата денег. какие тесты? уточняй. юнит и интеграционные - пишут программисты. это в нормальных конторах а не пет-кид-проектах. некоторые вообще пишут вначале тест потом код. а вообще это было бы забавно что вот я говнокод накидал который тестами обложить в принципе не возможно потому что он говно а следом за мной мальчик-юнит-тестировщик с криками гоугоу гоу их обкладывает моками и тестами )) хехех. а я при этом ему объясняю как оно должно работать и что я от этих сервисов и методов ожидаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:05 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTкстати да, откуда такое мнение что рест прям только со статикой.есть обратная сторона. При рест БЛ в ангуляре на клиенте. Что тогда на бэке остается? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:05 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTкакие тесты? уточняй.табличку выкладывал ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:07 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Petro123andreykaTкстати да, откуда такое мнение что рест прям только со статикой.есть обратная сторона. При рест БЛ в ангуляре на клиенте. Что тогда на бэке остается? ты ща описал прям 99% всех современных приложений. на беке остается бл, сесурити, авторизация и всё остальное два звена из трех. забавно ну давай че бэк вообще выбросим будем сразу давать прямой доступ к бд с твоего ангуляра (это возможно) и пусть сами с ней работают. зачем на лишние прослойки? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:08 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Petro123andreykaTкакие тесты? уточняй.табличку выкладывал в той таблице написано, что за тесты ответственен программист. или ты еще одну таблицу выкладывал? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:11 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaT, Ссыль сюда дай и посмотри ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:17 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTты ща описал прям 99% всех современных приложений.эх, молодость - максимализм. Натягивание совы на глобус)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:18 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTзабавно ну давай че бэк вообще выбросимты про REST впервые услышал? Вчера трехзвенку разбирали. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:20 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
ОзверинmaytonДавайте вернемся в самое начало. В родительский топик. В основу микросервисов (в реализации REST) положен принцип доступа к т.н. ресурсам. Тоесть правильно организованный REST-сервис просто предоставляет доступ к репозитарию с ограниченной семантикой операций. Взять. Положить. Найти все. Обновить. Вопрос. В свете вышесказанного мной. Имеет ли смысл тестировать логику такого REST-сервиса в отрыве от приложения в целом? нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq. Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика. А мы можем тестировать БЛ в отрыве от протокола? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:23 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaT будем сразу давать прямой доступ к бд с твоего ангуляра (это возможно) и пусть сами с ней работают. зачем на лишние прослойки? я, конечно, не прямо профессионал ангуляра, но с каких пор на клиенте js можно реализовать доступ к бд?..там же какой-никакой драйвер нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:24 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonОзверинпропущено... нет такой основы. Что за? Откуда ты это черпаешь? Причем опять! Основа микросервиса - это выделенная бизнес единица...она может вообще без реста реализована, на каком нить json-rpc или gRPC или через mq. Это архитектура rest`а подразумевает, что все есть ресурс, причем совершенно необязательно, что это какая-то статика. А мы можем тестировать БЛ в отрыве от протокола? если у нас хватило ума выделить бизнес логику в отдельный слой - то да. Наверное, встречный вопрос, с каких пор протокол стал частью бизнес логики? Я понимаю еще в специфичных вещах, где протокол - это бизнес ценность приложения, но в корпоартивном секторе?хм.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:26 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Озверин, Тут вопрос, как выделить БЛ при микросервисах? Так как я их не поклонник). Смотрю на них с изумлением))) LOL Читал что в них БЛ может быть размазана). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:30 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Petro123Озверин, Тут вопрос, как выделить БЛ при микросервисах? Так как я их не поклонник). Смотрю на них с изумлением))) LOL Читал что в них БЛ может быть размазана). микросервис - обычное приложение. Там те же слои: dao, service и третий - транспортный(может быть как рест контроллер, так и лиснер для mq. к примеру). Куда выносить бизнес логику - ровно такая же дилемма, как и в обычном приложении - либо это сервис слой + анемичные модели, либо это рич модели, которые вбирают в себя дао и бизнес логику. Сейчас, чаще всего, это сервис слои, где происходит всякая бизнес магия. Имеет смысл тестировать именно эти бизнес слои, куда на вход дают одно и ждут на выходе другого. Рест контроллеры, к примеру, чаще тестируют на то, как он ведет себя при ошибках версионности, проверяют, что на входе стоят нужные валидаторы моделей, проверяют, что при ошибках ответ соответствует схеме и так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:35 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
ОзверинandreykaT будем сразу давать прямой доступ к бд с твоего ангуляра (это возможно) и пусть сами с ней работают. зачем на лишние прослойки? я, конечно, не прямо профессионал ангуляра, но с каких пор на клиенте js можно реализовать доступ к бд?..там же какой-никакой драйвер нужен. ну типа к бд ж можно по тцп подключиться открытием сокета. на жеесе ж это возможно? ) (честно не в курсе). если нет ну можно сделать минимальный бэк который будет тупо трубой от фронта к базе. и пусть фронты совершенно ни в чем себе не отказывают. даже авторизация аутентификация через бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:51 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTминимальный бэк который будет тупоименно. Бэк импотент и делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:56 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Озверинмикросервис - обычное приложение. Я и говорю - buzzword. И весь веб так говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:58 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Озверинmaytonпропущено... А мы можем тестировать БЛ в отрыве от протокола? если у нас хватило ума выделить бизнес логику в отдельный слой - то да. Наверное, встречный вопрос, с каких пор протокол стал частью бизнес логики? Я понимаю еще в специфичных вещах, где протокол - это бизнес ценность приложения, но в корпоартивном секторе?хм.. Я-же про это тему топика веду. Если исключить end-to-end. То тестировать надо только логику. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 11:01 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonend-to-endэтому термину вроде пара лет всего). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 11:12 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
andreykaTОзверинпропущено... я, конечно, не прямо профессионал ангуляра, но с каких пор на клиенте js можно реализовать доступ к бд?..там же какой-никакой драйвер нужен. ну типа к бд ж можно по тцп подключиться открытием сокета. на жеесе ж это возможно? ) (честно не в курсе). если нет ну можно сделать минимальный бэк который будет тупо трубой от фронта к базе. и пусть фронты совершенно ни в чем себе не отказывают. даже авторизация аутентификация через бд. спринг давно ввел понятие RepositoryRestResource;) Там даже безопасность можно прикрутить. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 11:14 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
ОзверинandreykaTпропущено... ну типа к бд ж можно по тцп подключиться открытием сокета. на жеесе ж это возможно? ) (честно не в курсе). если нет ну можно сделать минимальный бэк который будет тупо трубой от фронта к базе. и пусть фронты совершенно ни в чем себе не отказывают. даже авторизация аутентификация через бд. спринг давно ввел понятие RepositoryRestResource;) Там даже безопасность можно прикрутить. да но всё-равно специфика может быть своя у приложения зависимости и т.п. в целом - да. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 11:59 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
мы на тестируем так (используем groovy и Spock Framework) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 12:08 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonЕсли исключить end-to-end. То тестировать надо только логику. А если в исключённой части косяк? Правильную логику тоже можно криво вставить, дёрнуть и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 12:09 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
alex55555maytonЕсли исключить end-to-end. То тестировать надо только логику. А если в исключённой части косяк? Правильную логику тоже можно криво вставить, дёрнуть и т.д. Давайте так. Есть бизнес кейсы. Они должны быть на 100% придавлены UI/End-To-End. По этим - нет вопросов. Их надо тестить. А есть другое. Есть модульные. Интеграционные. Вы их тестируете по другому обычно. Они - шире чем бизнес-кейсы и дешевле в стоимости времени. На пирамиде Фаулера они нарисованы внизу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 14:42 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
maytonalex55555пропущено... А если в исключённой части косяк? Правильную логику тоже можно криво вставить, дёрнуть и т.д. Давайте так. Есть бизнес кейсы. Они должны быть на 100% придавлены UI/End-To-End. По этим - нет вопросов. Их надо тестить. А есть другое. Есть модульные. Интеграционные. Вы их тестируете по другому обычно. Они - шире чем бизнес-кейсы и дешевле в стоимости времени. На пирамиде Фаулера они нарисованы внизу. Тогда я не понял, что "исключить" трактуется как "отложить на потом". Вообще же покрывать надо по максимуму, без выделения геттеров/сеттеров или чего-то ещё. Другое дело, что геттеры неявным образом тестируются в тестах, которые проверяют функционал, использующий геттеры. Точно так же и про вставку логики - если есть уверенность, что сам вызов будет протестирован, тогда вставку тестировать нет необходимости (проверяем только логику). Но если нет уверенности, что все вставки покрыты кейсами для других подзадач, тогда критический баг может оказаться незамеченным. Хотя и здесь можно ещё посмотреть на цену ошибки и сравнить с ценой её вылавливания. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 13:04 |
|
Как тестировать микросервисы?
|
|||
---|---|---|---|
#18+
Да. Забудем про геттеры вообще. Если находятся извращенцы которые вкладывают в геттер больше смысла чем просто вернуть значение свойства - то это конечно надо закрепить. Но с точки зрения читающего бин это оуе... ть как неочевидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 16:00 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2121377]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
125ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 253ms |
0 / 0 |