본문으로 건너뛰기
실습 과제와 포트폴리오 기초집LESSON 11

버그와 문제 해결 기록: 오류·가설·수정·검증 과정을 남기기

난이도초급
예상 시간45분
선수지식테스트 체크리스트

11강. 버그와 문제 해결 기록: 오류·가설·수정·검증 과정을 남기기

1. 이번 강의에서 해결할 문제​

“오류를 고쳤다”만 적으면 어떤 관찰과 판단을 거쳤는지 알 수 없습니다. 실제 문제 하나를 골라 누구나 반복할 수 있는 해결 기록으로 바꿉니다.

2. 학습 목표​

3. 핵심 개념​

문제 해결 기록은 환경 → 증상 → 최소 재현 → 관찰 → 가설 → 변경 → 같은 조건 재검증 → 남은 위험 순서입니다. 처음 가설이 틀렸다면 지우지 않고 왜 제외했는지 남깁니다.

“이벤트 버그를 고쳤다”는 결과만 있고 판단 과정이 없습니다. 반면 “재시작 횟수만큼 로그가 증가했다”는 관찰과 “구독 해제 누락”이라는 가설을 분리하면, 로그 수를 세어 가설을 기각하거나 지지할 수 있습니다.

구분예시증거로 확인 가능한가
증상결과가 두 번 반영됨화면·테스트로 확인 가능
관찰재시작마다 핸들러 로그가 하나씩 증가로그로 확인 가능
가설비활성화 때 구독 해제가 빠짐코드·추가 실험 필요
검증같은 재현을 3회 실행해 한 번만 반영수정 전후 비교 가능

4. 단계별 실습​

문서 작업 · 산출물: <PROJECT_ROOT>/docs/bugs/001-example.md

시작 전 상태: 실제 실패를 같은 입력으로 한 번 재현하고 환경 버전, Git 상태, 실행 명령과 첫 오류를 기록합니다. 관련 없는 리팩터링은 보류합니다.

docs/bugs/001-example.md
# BUG-001 빠른 재시작 뒤 결과가 두 번 반영됨

## 환경
- 검증 버전과 실행 방식: 실제 값 기록

## 재현 절차
1. 프로젝트를 시작한다.
2. 결과 직후 재시작을 빠르게 두 번 선택한다.
3. 첫 행동을 한 번 수행한다.

## 예상 / 실제
- 예상: 결과가 한 번 반영된다.
- 실제: 결과가 두 번 반영된다.

## 관찰과 가설
- 관찰: 재시작 횟수만큼 이벤트 로그가 늘어난다.
- 가설 A: 구독 해제가 없어 핸들러가 누적된다.
- 가설 B: 입력이 한 프레임에 두 번 전달된다.

## 수정
- 활성화 시 구독하고 비활성화 시 같은 핸들러를 해제했다.

## 검증
- T-04를 3회 반복: 모두 한 번만 반영됨

## 남은 위험
- 장시간 반복은 T-05에서 추가 확인한다.

코드 작업: 원인을 좁히는 데 필요한 최소 변경만 적용하고 관련 없는 리팩터링은 섞지 않습니다. 테스트 작업: 수정 전과 같은 절차를 다시 실행합니다.

완료 기준: 실제 문제 하나에 환경, 3단계 이상의 재현, 두 가설, 수정과 재검증 결과가 있습니다.

변경 전에는 재시작 횟수와 결과 반영 횟수가 함께 늘어야 가설을 검토할 근거가 됩니다. 수정 뒤에는 같은 빌드 방식·입력·반복 횟수로 T-04를 다시 실행하고, 정상 흐름과 빠른 재시작 흐름을 모두 비교합니다.

5. 작성 방식이 필요한 이유​

결과보다 과정이 남으면 디버깅 능력과 판단 근거를 보여 줄 수 있습니다. 같은 증상이 돌아왔을 때도 처음부터 추측하지 않고 이전 증거를 재사용합니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

10. 다음 강의 연결​

수정 결과뿐 아니라 판단과 검증 과정을 남겼습니다. 다음 강의에서는 해결하지 못한 제한과 다음 개선 우선순위를 숨기지 않고 정리합니다.

MINI QUIZ

버그와 문제 해결 기록: 오류·가설·수정·검증 과정을 남기기 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“버그와 문제 해결 기록: 오류·가설·수정·검증 과정을 남기기” 실습을 안전하게 진행하기 위한 판단으로 가장 알맞은 것은 무엇인가요?
  2. 문제 2“버그와 문제 해결 기록: 오류·가설·수정·검증 과정을 남기기” 실습 중 ‘해결하지 못한 문제를 삭제’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

11강. 버그와 문제 해결 기록: 오류·가설·수정·검증 과정을 남기기 미완료 상태