AI Slop Detector v2.6.2: 통합 테스트 증거 (“green CI”도 여전히 허구일 수 있기 때문에)

발행: (2026년 1월 16일 오전 01:15 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

AI Slop Detector v2.6.2 커버 이미지: 통합 테스트 증거 (“green CI”가 여전히 허전할 수 있기 때문)

“AI Slop”이란?

AI Slop은 겉보기에 정상적인 코드이지만 실제 인과 관계가 거의 없는 코드를 말합니다.
“깨졌다”는 아니고,
“악의적”인 것도 아니며,
그저 믿을 만큼 빈 코드일 뿐입니다.

전형적인 증상:

  • 증거보다 앞서는 약속 (“production‑ready”, “scalable”)
  • 테스트는 존재하지만 실제 의존성을 건드리지 않음
  • 구현보다 문서와 구조가 더 빨리 성장

커뮤니티 피드백 (그리고 이 릴리즈가 존재하는 이유)

이 릴리즈는 OnlineProxy(https://onlineproxy.io/)의 사려 깊은 댓글 덕분에 만들어졌습니다.
그는 “완전해 보이는” 레포지토리와 녹색 CI가 여전히 허전하게 느껴진다고 지적했으며, 실제 레드 플래그를 제시했습니다:

CI는 녹색이지만, 실제 의존성을 건드리는 통합 테스트가 0개.

이는 사소한 지적이 아니라 실제 프로덕션 실패 모드입니다.
그 피드백을 버그 리포트처럼 다루면서 v2.6.2가 탄생했습니다.

v2.6.2의 새로운 점

1) 통합 테스트 증거 (명시적 구분)

테스트가 존재한다”는 충분하지 않습니다. v2.6.2는 다음을 구분합니다:

  • tests_unit (빠르고 격리된 테스트)
  • tests_integration (실제 의존성을 건드리거나 현실적인 경계를 테스트)

탐지는 네 가지 레이어를 사용합니다:

  1. 경로 기반 (tests/integration/, e2e/, it/)
  2. 파일명 패턴 (test_integration_*.py, *_integration_test.py)
  3. Pytest 마커 (@pytest.mark.integration, @pytest.mark.e2e)
  4. 런타임 신호 (TestClient, testcontainers, docker‑compose)

2) 주장에 이제 통합 테스트 증거가 필요

강력한 주장은 이제 더 강력한 증거를 요구합니다:

  • production‑readytests_unit tests_integration 모두 필요
  • scalable / fault‑toleranttests_integration 필요

이로써 코드가 완전해 보이지만 실제 의존성 하에서는 아무것도 증명하지 못하는 격차를 메웁니다.

3) 더 명확한 보고서와 질문

목표는 “숫자를 더 늘리는 것”이 아니라 검사 가능한 출력을 제공하는 것입니다. 보고서와 질문에 이제 다음이 표시됩니다:

  • 단위 테스트와 통합 테스트 구분
  • 생산성 주장이 있지만 통합 테스트가 없을 때 명시적인 경고
  • 더 읽기 쉬운 증거 라벨 (예: “integration tests”)

빠른 시작

# 설치 / 업그레이드
pip install -U ai-slop-detector

# 프로젝트 스캔
slop-detector --project .

CI 예시

# Soft: 보고만 함 (절대 실패하지 않음)
slop-detector --project . --ci-mode soft --ci-report

# Hard: 임계값 초과 시 실패
slop-detector --project . --ci-mode hard --ci-report

# Claims strict: 생산성 주장이 통합 테스트 증거가 없을 때 실패
slop-detector --project . --ci-mode hard --ci-report --ci-claims-strict

왜 중요한가 (한 줄 요약)

AI 시대의 실패는 종종 구문 오류가 아닙니다. 깔끔한 구조와 녹색 CI 뒤에 숨은 검증 격차가 문제입니다. v2.6.2는 가장 흔한 격차 중 하나인 **“통합 테스트 0개”**를 측정·보고·게이트할 수 있게 합니다.

링크

  • Repo:
  • CI:
  • Changelog:
Back to Blog

관련 글

더 보기 »