이번에는 개발 과정에서 디버깅을 이용하여 해결해보았다.
1. 문제 상황
테스트 결과가 예상과 다르다.

2. 디버깅 시작
1) break point 찍기
멈추고 싶은 지점에 break point를 찍는다.
나는 "알고 싶은 함수가 시작되는 지점"과 "결과를 알고 싶은 지점"에 break point를 찍었다.
그 외는 step over로 한줄씩 확인할 수 있으니 생략했다.

2) 첫 번째 break point
첫 빨간 콩에서 멈췄다.
size가 2인걸 보면, pobi,woni 둘다 제대로 값이 들어온걸 알 수 있다.

직접 검색해봐도 맞다는 걸 확인할 수 있다.

3) 두 번째 break point
resume program을 눌러 다음 빨간콩으로 넘어간다.

step over로 한줄씩 내려보면, randomNumber가 4가 나왔고, 그것으로 인해 "pobi : -"를 추가하는 것을 확인할 수 있다.


(for문이 끝나면 옆에 기록들이 다 사라지니 미리 확인!)
이번에 woni차례를 보면, randomNumber가 3이 나와서 woni는 이동을 못하였다.


3. 디버깅 분석
이런 디버깅 과정으로 알아낸 2가지 문제점이 있었다.
1) gameHistory 값이 누적이 아니라 덮어씌워지고 있다.

join이 아닌 +로 기록을 누적 추가한다. (아.. 지금 내가 쓴 join은 python 문법이라네.. 왜 오류 안뜨냥)
기록이 정상적으로 누적 된다.

2) 랜덤 수
디버깅을 거쳐보면 랜덤 수가 4 → 3 → 3 → 3 → 3 → 3이 나온다.
그러니까 사실 결과는 맞게 나오는 것이고, 테스트 케이스를 잘못 작성해서 Fail이 된 것이다
실제 실행 결과로 형식을 맞춰준다.
(혹시 공백 문제인가 싶어, 공백을 추가해봤지만 테스트케이스에서 공백이 안뜬다.)


세 줄을 한꺼번에 넣지않고, 우테코 제공 테스트 케이스처럼 contains를 이용하여 테스트를 진행하였다.
테스트가 무사히 통과되었다.

'우테코' 카테고리의 다른 글
| [우테코] 프리코스 3주차 로또 회고 (0) | 2025.11.03 |
|---|---|
| [우테코] 프리코스 2주차 자동차 경주 회고 (0) | 2025.10.27 |
| [우테코 2주차] 디버깅으로 입출력 예외 분석하기 (0) | 2025.10.25 |
| [우테코] 프리코스 1주차 계산기 회고 (0) | 2025.10.20 |
| [우테코 1주차] 입력값 검사에 TDD 적용해보기 (0) | 2025.10.19 |