Skip to Content
Suffering builds character
아카이브12.테스팅실습2. 단위 테스트를 수행하는 이유

2. 단위 테스트를 수행하는 이유

단위 테스트를 수행하면 얻을 수 있는 이점은 다음과 같음

1. 회귀를 사전에 발견하여 디버깅 작업을 줄일 수 있음

회귀(regression) - 퇴보, 후퇴하다

개발자가 기존 소스를 리팩토링하거나 새로운 기능을 추가/수정하면 변경된 코드로 인해 기존의 기능 동작에 문제가 없는지, 인접한 다른 클래스에는 영향이 없는지와 같은 영향도 분석이 필요함

이러한 회귀/영향도를 편리하게 도와주는 대표적인 방법이 단위 테스트 코드

즉, 단위 테스트 코드 자체가 기존 기능에 대한 구현 명세이자 안전망이라고 볼 수 있음

결과적으로 단위테스트는 개발자가 소스를 리팩토링하거나 변경할 때 개발자에게 확신을 주는 역할을 수행함

2. 코드의 예상 동작을 문서화할 수 있고, 애플리케이션 기능 이해에 도움이 됨

한 번도 다뤄보지 않은 시스템을 개발/운영하게 되면 시스템의 동작을 이해하는데에 상당한 시간이 소요될 수 있음

이때 해당 시스템에 단위 테스트가 잘 작성되어 있다면, 단위 테스트 그 자체로 시스템의 동작을 이해할 수 있는 문서가 될 수 있음

단위 테스트는 통상적으로 현재 운영 중인 코드와 함께 업데이트되기 때문에 설계 문서와 다르게 최신 상태에 더 가까울 확률이 높음

3. 커버리지를 비롯하여 다양한 지표 측정 가능

코드 커버리지 지표를 통해 외부 설득 자료로 활용할 수 있고, 배포 후 성능이 떨어질 경우 테스트가 실패하도록하여 성능 개선이 될 때까지 빌드를 막을 수 있음

Last updated on