본문 바로가기

테스트

[단위 테스트] 단위 테스트의 목표

단위 테스트의 목표

소프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는것

 

일반적으로, 단위 테스트 활동이 더 나은 설계로 이어진다.

하지만 단위 테스트의 주 목표는 아니다.

 

단위 테스트의 핵심은 지속 가능한 성장을 가능하게 하는것

지속 가능하다는 것이 핵심이다.

 

테스트 유무에 따른 프로젝트 간 성장 추이의 차이

 

테스트가 없는 일반 프로젝트는 빠르게 시작 할 수 있다.

잘못된 아키텍처 결정이 없고, 걱정할 만한 코드가 있지도 않다.

 

시간이 지나고 복잡도가 증가하면서 점점 더 많은 시간을 들여야 처음에 보여준 것과 같은 정도의 진척을 낼 수 있다.

 

테스트는 안전망이며, 회귀에 대한 보험

테스트는 새로운 기능을 도입하거나 새로운 요구 사항에 더 잘 맞게 리팩토링한 후에도 기존 기능이 잘 작동하는지 확인하는 데 도움이 된다.

 

테스트가 존재하지 않다면, 하나의 버그를 수정하면 더 많은 버그를 양산하고, 소프트웨어의 한 부분을 수정하면 다른 부분들이 고장이 난다. 결국 코드베이스를 신뢰할 수 없게 되고, 안정화가 어렵다.


개인적 의견

필자의 경우 프로젝트를 하면서 테스트를 꼭 작성하는 편인데, 위 문구가 정말로 공감이 된다.

테스트 코드를 작성하기 전에는 하나의 코드를 수정했을 때, 다른 기능에 문제가 있을까 걱정을 많이 했었다.

테스트 코드를 작성하고 나서부터는 코드 수정 후 전체 테스트를 돌려보며 회귀 테스트를 꼭 한다.

테스트 코드는 한마디로 표현하면 안정감이다.


 

참고

단위 테스트 (블라디미르 코리코프 지음)

https://seungo.tistory.com/26