Re[105]: Что такое Dependency Rejection
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.03.24 16:50
Оценка:
Здравствуйте, ·, Вы писали:

P>>другая сеть,

·>Многопоточка, по сути. В проде её выцепить гораздо сложнее, чем в тестовом енве.

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

P>>другой энвайрмент,

·>Конфиги? Менеджатся, расказал как.

Энвайрмент это весь ваш клауд со всеми потрохами, кроме внешних зависимостей

P>>другие данные,

·>У тестов данные по определению ровно такие же.

У вас что, стейдж работает на базе прода?

P>>другая нагрузка

·>Мониторится.

Ага, приборы двести.

P>>итд

P>>хоть бит-перфект соответствие энвайрментов — всё равно есть недерминизм.
·>Исследуем, находим, воюем с недетерминизмом. Тесты для этого — далеко не лучший инструмент.

У вас что, недетерминизм как то тесты обходит?
Re[106]: Что такое Dependency Rejection
От: · Великобритания  
Дата: 22.03.24 21:58
Оценка:
Здравствуйте, Pauel, Вы писали:

P>·>Многопоточка, по сути. В проде её выцепить гораздо сложнее, чем в тестовом енве.

P>Неадекватное упрощение. Сеть принципиально ненадежна, и никогда надежной не бывает.
И? По итогу — байты приходящие/не приходящие в разном порядке. Сводится к таймингам (который вы не можете контролировать) и приходу сетевых пакетов.

P>>>другой энвайрмент,

P>·>Конфиги? Менеджатся, расказал как.
P>Энвайрмент это весь ваш клауд со всеми потрохами, кроме внешних зависимостей
Ну да.

P>>>другие данные,

P>·>У тестов данные по определению ровно такие же.
P>У вас что, стейдж работает на базе прода?
Твои тесты по твоим же рассказам используют тестовые аккаунунты и т.п. Т.е. реальные данные в базе прода на них влиять не могут. А если могут, то они будут перманентно давать false positive.

P>>>хоть бит-перфект соответствие энвайрментов — всё равно есть недерминизм.

P>·>Исследуем, находим, воюем с недетерминизмом. Тесты для этого — далеко не лучший инструмент.
P>У вас что, недетерминизм как то тесты обходит?
Конечно обходит, притом недетерминированно.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[107]: Что такое Dependency Rejection
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.03.24 14:06
Оценка:
Здравствуйте, ·, Вы писали:

P>>Неадекватное упрощение. Сеть принципиально ненадежна, и никогда надежной не бывает.

·>И? По итогу — байты приходящие/не приходящие в разном порядке. Сводится к таймингам (который вы не можете контролировать) и приходу сетевых пакетов.

Не сводится. Как вы собираетесь моделировать тайминги и пакеты в распределенном приложении?

> Т.е. реальные данные в базе прода на них влиять не могут. А если могут, то они будут перманентно давать false positive.


Откуда такая уверенность, что будут только false positive да еще перманентно?

P>>У вас что, недетерминизм как то тесты обходит?

·>Конечно обходит, притом недетерминированно.

какойто у вас детерминированый недетерминизм, умеет мимо тестов ходить.
Re: Что такое Dependency Rejection
От: fk0 Россия https://fk0.name
Дата: 29.04.24 08:48
Оценка: 4 (1)
Здравствуйте, Разраб, Вы писали:

Р>Кто-нибудь понимает суть отказа от зависимостей?

Р>Можете привести пример кода?
Р>Или доклад/статью на русском хотя бы

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