Тестирование CLI, сервисов и daemon

Программы без UI проверяются через команды, конфигурации, файлы, логи, exit codes, signals и сервис-менеджеры. Здесь особенно важны воспроизводимость и точная фиксация окружения.

Что важно понять

  • Аргументы командной строки, help, неверные параметры, exit codes.
  • Конфигурационные файлы, env vars, secrets, precedence правил.
  • Логи, stdout/stderr, rotation, уровни логирования.
  • Start/stop/restart, signals, systemd/launchd/Windows services.

Рабочий порядок

  1. Соберите таблицу команд и ожидаемых результатов.
  2. Проверьте валидные и невалидные конфигурации.
  3. Проверьте обработку ошибок файловой системы и сети.
  4. Автоматизируйте повторяемые проверки shell/Python/pytest или другим локальным стеком.

Что отдавать команде

  • CLI test matrix.
  • Примеры команд и ожидаемые exit codes.
  • Логи и конфиги для дефектов.

Частые провалы

  • Проверять только интерактивный happy path.
  • Не проверять stderr и exit code.
  • Не учитывать права пользователя и рабочую директорию.

Практика

Для CLI-утилиты импорта проверьте: нет файла, пустой файл, битый CSV, большой файл, нет прав на output, повторный запуск.