더북(TheBook)

문제가 있다면 데일은 즉시 중단하고 고칩니다. 그녀의 문제는 발견하기 쉽습니다. 실수 위에 수많은 코드를 쌓기보다 코드만 몇 줄 추가했기 때문입니다.

데일은 시스템의 나머지 요소와 함께 테스트를 계속 유지합니다. 그녀 혹은 다른 사람이 같은 영역의 코드를 변경할 때도 테스트는 값어치를 합니다. 이 단위 테스트들이 쌓이면 회귀 테스트(regression testing)를 지원합니다. 즉, 그녀는 더 이상 기존 동작을 깨트리지 않으면서 새로운 변경점을 검증하려고 몇 분을 소모할 필요가 없다는 의미입니다.

또 데일이 하는 테스트는 시스템이 무엇을 하는지 이해하는 데도 팻과 다른 모든 사람의 시간을 현저히 줄여 줍니다. 비즈니스 분석가인 매두는 “X와 Y를 조합하여 입력했을 때 시스템은 무엇을 하죠?”라고 묻습니다. 팻의 대답은 대개 “모르겠는데요. 코드를 좀 볼게요.”입니다. 팻은 때때로 1~2분 내 대답하기도 하지만, 종종 30분 혹은 그 이상이 걸리기도 합니다. 반대로 데일은 그녀의 단위 테스트를 살펴보고는 즉시 대답합니다.

데일의 발자취를 따라 작고 집중된 단위 테스트를 작성하는 방법을 알아봅시다. 먼저 기본적인 JUnit 개념부터 알아보겠습니다.

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