이슈 범위를 단계적으로 좁혀가며 원인을 찾은 경험
배포 후에 특정 조건에서만 계산 결과가 달라지는 버그가 발생했는데, 어디서 값이 틀어지는지 처음에는 감이 오지 않았습니다.
우선 문제가 발생하는 최소 조건을 찾는 것을 먼저 진행했습니다. 입력값을 하나씩 바꿔가면서 어떤 조건에서 오류가 발생하는지 범위를 좁혔고, 결국 소수점 아래 값을 넣을 때만 문제가 생긴다는 것을 확인했습니다. 그 조건을 재현하고 나서야 코드의 반올림 로직이 의도와 다르게 동작한다는 것을 발견했습니다.
'전체에서 부분으로'라는 흐름이 이슈 분석에서 가장 효율적이라는 것을 그 경험에서 배웠습니다. 전체를 동시에 보면 어디가 문제인지 알 수 없고, 재현 조건을 좁혀야 원인이 보입니다. 지금도 버그를 만나면 먼저 '이게 항상 일어나는가, 아니면 특정 조건에서만 발생하는가'를 구분하는 것부터 시작합니다.
그 경험이 디버깅 접근 방식을 체계화해주었습니다.