Skip to content

[Brownfield] Regression Shield — 사전 기준선 테스트 + 커버리지 갭 분석 #3

Description

@KyubumShin

배경

현재 MPL의 5-Gate는 변경 후 테스트를 실행하여 통과율을 확인하지만, 변경 전 기준선이 없어 다음을 구분하지 못함:

  • 내가 깨뜨린 테스트 vs 원래 깨져있던 테스트
  • 새로 생긴 회귀 vs 기존 결함

또한, 변경할 코드에 테스트가 없는 **맹점(blind spot)**을 사전에 식별하지 못함.

제안

Gate 1 직전에 Targeted Regression Shield 추가.

구현 방안

  1. 테스트 영향 매핑 (IRA 결과 기반):

    • 직접 테스트: 변경 파일을 직접 테스트
    • 간접 테스트: 변경 파일의 소비자를 테스트
    • E2E 시나리오: 변경 경로를 통과하는 E2E
  2. 커버리지 갭 분석:

    • 변경할 함수 중 테스트 없는 것 → "위험 변경" 플래그
    • 파급 파일 중 커버리지 < 50% → "맹점 경고"
  3. 사전 기준선 실행 (변경 전):

    • 영향받는 테스트를 먼저 실행 → 기준선 저장
    • 변경 후 동일 테스트 재실행 → 회귀 여부 판단
    • 기준선에서 이미 실패한 테스트 → 회귀 아닌 기존 문제로 분류
  4. 위험 변경 시 자동 대응:

    • 테스트 없는 변경 → 해당 페이즈에 "회귀 테스트 작성" TODO 자동 추가
    • 저커버리지 파급 파일 → characterization test TODO 추가

예상 구현 난이도

  • 낮음 (1-2일) — 테스트 실행 + 결과 저장/비교는 단순한 로직

참고

  • gstack /qa의 회귀 테스트 자동 생성 참고
  • Ouroboros의 Regression Gate (이전 통과 AC 퇴행 시 수렴 차단) 참고
  • Hoyeon의 독립 검증자 (격리 컨텍스트 DoD 점검) 참고

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions