Devin.KR

오류 재현과 근거 있는 수정

재현 자료로 가설을 확인하고 수정 후 동일 입력과 회귀를 확인합니다.

진도 0%

레슨

  1. 재현 입력과 실행 조건

    실패 fixture로 JDK·명령·입력·기대 및 실제 결과를 모은 재현 기록을 작성합니다.

  2. 실패 입력 줄이기

    중복 할 일 목록에서 실패를 유지하는 최소 입력을 Python으로 추출합니다.

  3. 가설을 하나씩 확인하기

    조회 순서 오류의 가설과 반증 입력을 분리하고 한 번의 변경으로 원인을 확인합니다.

  4. 수정과 회귀 증거

    같은 재현 입력이 수정 전 실패하고 수정 후 통과하는 테스트를 남깁니다.

오류 재현과 근거 있는 수정 미션

m05 미션 solution 전체를 이어받습니다. 교육용 starter의 TaskRepository.list는 제목순 정렬 결함이 있으며, 합성 제목 Z·A의 생성 순서를 뒤집습니다. 이전 회귀와 Python 참조 모델을 유지합니다.

요구사항

  • 앞 모듈 앱의 제공된 조회 순서 결함을 재현하고 수정합니다.
  • failures.json에 사례 ID·환경·기대·실제·가설·수정 근거를 기록합니다.
  • AI에게 전달하는 자료에서 토큰과 개인 데이터를 제외합니다.
  • TaskRepository.java의 list와 failures.json만 수정합니다. 기존 테스트와 OrderBugFixture는 보존합니다. 동일 제목도 다른 ID의 할 일이므로 제거하지 않습니다.
  • ORDER-01: Z·A를 차례로 생성하면 기대 ID는 [1, 2]입니다. 빈 목록·한 항목·중복 제목·반복 완료·다음 번호도 보호합니다.

완료 기준

  • ./mvnw test (캐시 준비 환경 ./mvnw -o -q test)가 종료 코드 0이며 Surefire의 failures·errors·skipped가 0입니다.
  • ReproductionTest의 ORDER01_sameInput이 starter에서 assertion 실패하고 solution에서 통과합니다. 고정 OrderBugFixture는 같은 기대값으로 AssertionError 검출을 확인합니다.
  • 기존 생성·조회·완료 테스트와 bash check_reference.sh가 통과하고 python3 check_scope.py가 SCOPE OK를 출력합니다.
  • failures.json의 사례 ID·테스트·기대·수정 전 결과·검증 상태·비식별화·미확인 범위를 검사합니다. 가설과 수정 근거의 타당성은 사람이 읽습니다.
  • standalone MockMvc와 서비스 범위만 확인합니다. 실제 소켓·동시성·운영 환경은 미확인입니다.
./mvnw test
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 요구사항과 실제 검증 근거를 연결해 설명합니다.
  • 본인이 판단한 사항과 AI에 맡긴 사항을 구분합니다.
  • 통과·실패·미확인 상태를 사실대로 기록합니다.