Day 55 · 3/5
🌿 중급 개발도구

테스트 코드가 뭔가요?

쉽게 이해하기

테스트 코드는 식당에서 음식이 나가기 전에 하는 맛 체크와 비슷해요. 주방장이 직접 맛을 보고 간이 맞는지, 온도가 적절한지 확인하잖아요. 프로그램도 마찬가지로 테스트 코드가 자동으로 체크해서 버그 없이 제대로 작동하는지 확인해줘요.

핵심 정리

프로그램이 제대로 동작하는지 자동으로 검사해주는 코드예요.

자세히 알아보기

테스트 코드는 내가 짠 코드가 의도한 대로 동작하는지 자동으로 검증하는 코드예요. 예를 들어 '두 숫자를 더하는 함수'를 만들었다면, 테스트 코드는 'add(2, 3)이 5를 반환하는가?', 'add(-1, 1)이 0을 반환하는가?' 같은 것을 자동으로 확인해줘요. 테스트 코드가 없으면 코드를 수정할 때마다 일일이 손으로 확인해야 해요. 로그인 기능을 고쳤다면 실제로 로그인해보고, 회원가입도 해보고, 비밀번호 찾기도 해봐야 하죠. 하지만 테스트 코드가 있으면 'npm test' 명령어 하나로 모든 기능이 제대로 작동하는지 몇 초 만에 확인할 수 있어요. 테스트 코드에는 여러 종류가 있어요. 단위 테스트(Unit Test)는 함수 하나하나를 테스트하고, 통합 테스트(Integration Test)는 여러 기능이 함께 잘 동작하는지 테스트하고, E2E 테스트는 사용자 입장에서 전체 흐름을 테스트해요. 실무에서는 Jest, Vitest, Cypress 같은 도구를 써요. 특히 여러 개발자가 함께 작업하는 프로젝트에서는 테스트 코드가 거의 필수예요. 내가 코드를 수정했을 때 다른 팀원의 코드를 망가뜨리지 않았는지 자동으로 확인할 수 있거든요. CI/CD와 함께 쓰면 테스트를 통과한 코드만 배포되도록 설정할 수도 있어요.