테스트 작성 계기·접근 방식·Mock 활용·회귀 방어 경험 연결 중심으로 푸는 결
단위 테스트를 체계적으로 작성하기 시작한 건 학부 프로젝트에서 리팩토링을 하다가 기존 기능이 동작하는지 매번 손으로 확인하는 게 너무 비효율적이라고 느낀 시점부터였습니다. pytest를 처음 도입했는데, 함수 하나에 대한 테스트를 작성하면서 그 함수가 어떤 입력을 받고 어떤 출력을 내야 하는지를 명확하게 정리하게 됐습니다. 접근 방식은 먼저 정상 케이스를 작성하고, 경계값과 에러 케이스를 순서대로 추가하는 방식입니다. 외부 API 호출이 포함된 함수는 실제 호출 없이 테스트할 수 있도록 unittest.mock으로 의존성을 모킹하는 방식을 썼습니다. 처음에는 테스트 코드 짜는 게 시간 낭비처럼 느껴졌는데, 리팩토링 이후 테스트가 자동으로 회귀를 잡아줬을 때 테스트가 없었다면 버그를 언제 발견했을지 모른다는 걸 실감했습니다. 테스트 커버리지보다 중요한 기능의 핵심 경로를 먼저 커버하는 것이 현실적인 전략이라고 생각합니다.