Generic vs Singular тесты
   В dbt есть два вида тестов: 
- generic тесты – преднастроенные, которые можно переиспользовать
- singular тесты – кастомные тесты для конкретной витрины
   
Generic tests
   Чаще всего, конечно, используются generic тесты, так как чаще всего мы проверяем банальные вещи: дубли, пропуски, ссылочная целостность и т.д.
    Вот пример проверки на NULL:
     Тест из примера принимает два параметра: model и column_name. Это зарезервированные параметры, о которых речь пойдет далее. Так же можно указывать любые свои параметры, значения которых будут определяться для каждой модели и столбца отдельно.
    Такой тест можно переиспользовать, просто задав в метаданных .yml.
    Вот пример, как к модели и к определенному столбцу привязывается данный тест:
     Зарезервированные параметры model и column_name будут определены автоматически при запуске теста. В них будут переданы наименование модели и столбца, под которыми определен тест.
    Сам dbt имеет встроенные тесты, их пока четыре штуки: проверка на NULL, проверка на уникальность, ссылочная целостность и допустимые значения.
    В Datapulse на текущий момент порядка 30 преднастроенных тестов, и мы продолжаем расширять этот список.
    Пример использования встроенного теста на уникальность:
     
Singular tests
   Здесь все еще проще. Просто пишем SQL-запрос безо всяких переменных. Обращается SQL-запрос к конкретной витрине и к конкретному столбцу.
      Данный тесты предназначаются для особых случаев, когда у конкретной витрины есть собственные правила проверки качества.