더북(TheBook)

2주, 2개월, 2년 전에 만든 테스트가 여전히 잘 돌아가는가?

이전에 만든 기능에 문제없는지 어떻게 알 수 있을까? 애플리케이션 코드를 계속해서 운영하는 한 데이터와 코드는 언제든지 바뀔 수 있다. 코드를 변경한 후 이전에 잘 돌아가던 테스트를 실행할 수 없게 되면 코드에 버그가 생겨도 알아차리지 못할 수 있다. 이를 회귀(regression)라고 한다. 회귀는 스프린트나 배포가 끝날 무렵 개발자들이 기존 버그를 고치려고 심적 압박을 받을 때 자주 일어난다. 때로는 마음이 성급하여 기존 버그를 해결하는 과정에서 나도 모르게 새로운 버그를 심어 버리기도 한다. 아침에 눈을 떠서 괜히 기분이 상쾌하고 짹짹 소리가 창문을 통해 들려오면 직감적으로 “지각이다!”라고 느끼는 것처럼 코딩을 하다가도 뭔가 잘못되었다는 사실을 바로 알 수 있으면 얼마나 좋을까? 이 책 후반부에서 그 방법을 다룰 예정이다.

Note ≣ | 회귀 정의

회귀는 이전에 동작하던 기능이 지금은 동작하지 않는 것이다. 즉, 한때 작동하던 하나 이상의 작업 단위가 이제는 작동하지 않는 것을 의미한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.