diff --git a/docs/architecture/testing.md b/docs/architecture/testing.md index 2f73226..c73cbb7 100644 --- a/docs/architecture/testing.md +++ b/docs/architecture/testing.md @@ -96,6 +96,31 @@ ClickHouse отвечает сразу. посмотрите, покраснеет ли прогон и назовёт ли виновника. Не покраснел — проверка не работает, и чинить надо её, а не стенд. +## Интеграционная проверка постоянной целью не становится + +Проверка, которая не спрашивает стенд, а **кормит** его — шлёт сообщения, +вставляет строки, портит данные нарочно, — постоянной целью `make` не живёт. +Такую проверку гоняют один раз при исполнении, убеждаются, что механизм +работает, и оставляют след записью в теле PR. Регулярная жизнь стенда — это +жизнь с менти, а интеграционный прогон в неё не входит; самое большее, он +становится темой урока. + +Довод не про цену прогона, а про данные. Вложенное остаётся: у сырья срок +жизни трое суток, а ODS хранит всё, и события, которых мир не рождал, лягут в +лабы менти неотличимо от настоящих — считая конверсию, он молча посчитает и +их. Хуже явного мусора: явный видно. + +Отсюда правило для того, что всё-таки вкладывает: **прибираться за собой.** +Дешевле всего это выходит партицией — опыт играет модельный день за границей +оси мира, его строки ложатся в собственную партицию `EventDate`, и она +сносится по окончании. Заодно менти видит партицию как единицу работы — тот +же механизм, на котором стоит переобработка дня X. + +Что тогда стережёт цепочку постоянно — проверки на **настоящих** данных, тех, +что стенд произвёл сам: счётчики против манифеста зернового мира ловят +сломанный разбор (события уехали в брак — счёт разошёлся), ничего при этом не +вкладывая. + ## Устройство скриптов | Цель | Скрипт |