단위 테스트의 목표
소프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는것
일반적으로, 단위 테스트 활동이 더 나은 설계로 이어진다.
하지만 단위 테스트의 주 목표는 아니다.
단위 테스트의 핵심은 지속 가능한 성장을 가능하게 하는것
지속 가능하다는 것이 핵심이다.

테스트가 없는 일반 프로젝트는 빠르게 시작 할 수 있다.
잘못된 아키텍처 결정이 없고, 걱정할 만한 코드가 있지도 않다.
시간이 지나고 복잡도가 증가하면서 점점 더 많은 시간을 들여야 처음에 보여준 것과 같은 정도의 진척을 낼 수 있다.
테스트는 안전망이며, 회귀에 대한 보험
테스트는 새로운 기능을 도입하거나 새로운 요구 사항에 더 잘 맞게 리팩토링한 후에도 기존 기능이 잘 작동하는지 확인하는 데 도움이 된다.
테스트가 존재하지 않다면, 하나의 버그를 수정하면 더 많은 버그를 양산하고, 소프트웨어의 한 부분을 수정하면 다른 부분들이 고장이 난다. 결국 코드베이스를 신뢰할 수 없게 되고, 안정화가 어렵다.
개인적 의견
필자의 경우 프로젝트를 하면서 테스트를 꼭 작성하는 편인데, 위 문구가 정말로 공감이 된다.
테스트 코드를 작성하기 전에는 하나의 코드를 수정했을 때, 다른 기능에 문제가 있을까 걱정을 많이 했었다.
테스트 코드를 작성하고 나서부터는 코드 수정 후 전체 테스트를 돌려보며 회귀 테스트를 꼭 한다.
테스트 코드는 한마디로 표현하면 안정감이다.
참고
단위 테스트 (블라디미르 코리코프 지음)
'테스트' 카테고리의 다른 글
| 테스트 픽스쳐(Test Fixture)를 쉽게 만들기 (0) | 2024.06.04 |
|---|---|
| [단위 테스트] 통합 테스트 (narrow integeration, wide integeration) (0) | 2024.05.17 |
| [단위 테스트] 좋은 테스트와 좋지 않은 테스트를 가르는 요인 (0) | 2024.05.13 |
| [프로젝트] 테스트 코드 리팩토링 1탄 (0) | 2024.04.15 |
| [Junit] 랜덤값 테스트 방법 (0) | 2024.01.02 |