TGViewer
DEKSDEN notes DEKSDEN notes @deksden_notes · 3.11K subscribers
Post #249 440
Тестирование в эпоху AI агентов ч1/3


Попробую изложить имеющиеся соображения по тестированию и подходов к нему в некотором преломлении к агентам. Может быть покапитанствую местами - но куда ж без этого)

Сначала о термине "тестирование". Это огромная тема, весьма многогранная, посему вначале нужно выровниться (как говаривает кодекс) по терминологии. Я буду про тестирование, которое автоматические тесты, которые мы запускаем через какой то раннер, и которые чего то ожидают (Expectations), чего то делают, чего там в итоге проверяют как оно вышло (Assertions). Методики типа TDD нам выходят ортогонально - из этой же темы, но другое направление, и их мы пропустим.

▶️ Тесты я поделю так:
- юнит тесты
- полу- и интеграционные тесты, бизнес-процессы
- специализированные тесты: ui, компонентные
- ну и хватит, этого уже достаточно

1️⃣ Юнит тесты: самые простые тесты для кусочков кода. Они тестируют базовые алгоритмы в коде и делаются изолированно - если в алгоритме используем внешние зависимости, то всегда их мокаем - делаем имитацию внешней зависимости с предопределенным поведением.

2️⃣ Все варианты e2e тестов (e2e = end-to-end, интеграционные тесты): это когда наши зависимости уже не мокаются (тогда интеграционные), или не полностью мокаются (может стаб используем для части тестов, или мок - но часть зависимостей "боевая"). Когда несколько кусков вашего кода взаимодействуют мы можем проверить как оно работает вместе.

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

3️⃣ Специализированные тесты: тут можно тестировать какой то интерфейс, дергая его через инструменты наподобие Playwright / Selenium - причем как алгоритмически так и агентами через соответственный MCP.

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

▶️ Пару слов о раннерах - это софт, который позволяет описать тесты и запускать их, учитывая чего там у нас упало, брать логи и прочее. Примеры: Vitest, Jest, Playwright Test, всякие xUnit, и еще миллион разныш штук для разных языков / стеков / технологий.

...
  • 🔥 6
  • ❤‍🔥 2
  • 👍 1
More from @deksden_notes
  1. Oct 8, 2026⚪️ Grok Bot получил доступк к X Ранее давали кредиты $15 при налаживании коннекта с платфо…
  2. Oct 8, 2026⚪️ Что бы это значило? WAT? Грок будет использовать клод?! Грок 4.8 оказался не таким аген…
  3. Oct 7, 2026⚪️ Codex Reset (banked) и 3-й день 28 дневного ship-темберя Это было быстро! Клозеды сегод…
  4. Oct 7, 2026⚪️ Decision Models бенчмарки В одном из своих пайплайнов сделал мелкий тестовый стенд и пр…
  5. Oct 7, 2026⚪️ Haiku 5.5 Хайку обновили, и, видимо, это модель из трендовой нынче категории флешей - у…
  6. Oct 7, 2026⚪️ Чат - 1к Что промо животворящее делает! Бодро добрались до 1к участников в чате Всех по…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →