2022-07-11

진행 상황 공유를 목적으로 나를 포함한 4명의 스터디원이 만났다. 진행 상황만 공유하고 각자 할 일 하러 돌아가는 줄 알았는데, 스터디원 분 중 한 분이 테스터를 돌릴 때 왜 KO가 뜨는지 모르겠다고 하셔서 다같이 봐드렸다.
KO가 뜨는 문제는 내가 라피신을 진행할 때, 4번의 리트라이의 주역이었던 함수에 관련된 것이었다. 그래서 나는 혹시나 라피신 때 내가 틀렸던 그 부분을 간과하신 게 아닐까 하고 의심을 하고는 있었다.

나는 테스터가 어떤 데이터를 인자로 넘겨줬는지를 보고 싶었고, 스터디원 분께 어떤 데이터가 테스트로 들어갔는지를 여쭤봤는데 잘 모르겠다고 하셨다. 그래서 나는 테스트 폴더를 찾아서 테스트 함수의 원본을 찾아 무슨 데이터를 가지고 테스트했는지를 확인할 수 있는 방법을 말씀드렸고, 그 자리에서 직접 같이 확인했다.
결과는 내가 의심했던 부분에서 문제가 있었고, 그 부분을 수정한 후에 무사히 테스트를 통과한 것까지 볼 수 있었다.

나는 테스트에 들어가는 데이터가 어딨는지를 어떻게 알았는지를 생각해봤다. 일단 터미널에 출력으로 테스트 로그가 어디에 생성되었는지가 나와서 그 로그가 있는 경로를 살펴보다가 “src”라는 폴더를 발견했었다. 그래서 단순히 “src에는 뭐가 들어있을까?” 하고 호기심에 풀더 구조를 쭉 살펴봤다. 그렇게 테스트 파일은 어디에 있는지, 로그는 어디에 생성되는지 등을 확인했다.
테스트 파일에는 당연하게도 테스트 동작을 하는 함수들이 쭉 나열되어 있었는데, 일단 메인 부분을 우선적으로 찾았다(그 부분이 시작점이니까). 이후, 메인에서 호출하는 순서대로 함수를 훑어보았고 함수의 구성을 파악했다. 그렇게 테스트의 출력이 어떻게 이루어지는지를 알 수 있었고, 추가적으로 각 테스트 함수에 어떤 값을 집어넣었는지 또한 찾아냈다.

이게 어찌보면 내가 처음 라피신 도전했을 때, 첫 시험을 무사히 시작한 이유와도 연관된 것 같다. 나는 어느 장소를 처음 가거나, 뭔가를 처음 보면 한 번 전반적으로 쭉 훑어보는 성격이 있다. 라피신 첫 시험 때에도 그냥 이 pc에 뭐가 있는지 궁금해서 이것저것 뒤져보다가 시험을 무사히 시작했고, 이번 테스터 같은 경우에도 “이 테스터는 어떻게 동작하는걸까” 하고 뒤져보다가 해당 부분을 알게 된 것이었다. 호기심(?)이 이번 일에 대해서는 많은 도움이 된 것 같다.

댓글남기기