
185
Chapter 5
자동 테스트: 신속하게 진행하되 문제는 피하기
다나는 방금 자리에 앉았고, 주위는 신선한 커피 향으로 가득합니다. 그녀와 팀의 주니어 데이터
과학자는 어제 시작한 사용자 스토리를 계속 진행하고 있습니다. 이 작업의 목적은 모델을 개선할
수 있는 새 기능을 개발하는 것입니다.
그들은 필요한 수정을 마친 후 테스트를 실행하는 명령을 내렸습니다. 이 테스트셋은 코드 전체가
수정 이후에도 여전히 예상대로 작동하는지 확인하는 데 도움을 줍니다.
20
초 후 터미널에 녹색
줄무늬가 나타나 모든 테스트가 통과했음을 알려줍니다.
가끔 터미널이 빨간색으로 바뀌기도 했습니다. 몇몇 테스트가 실패하기도 했지만 그리 큰 문제는
아니었습니다. 실패한 테스트는 오히려 깊은 문제에 빠질 뻔한 것을 잡아내어 간단히 몇 단계를 되
돌려 문제를 쉽게 해결할 수 있게 해 줍니다. 테스트가 다시 녹색으로 돌아오면, 그들은 다시 시도
했습니다.
녹색이든 빨간색이든, 테스트는 코드 변경에 대한 신속한 피드백을 제공합니다. 이 테스트들은 그
들에게 자신감을 주며, 올바른 방향으로 가고 있는지, 잘못된 방향으로 가고 있을 때 멈추라는 신
호를 주는 일종에 도파민을 제공합니다. 코드를 테스트하기 위해 지루한 수동 절차를 따를 필요가
없습니다. 테스트가 실패할 때는 실패 원인이 ...