인프런 워밍업 클럽 스터디 2기 BE 클린코드 & 테스트 과정- 3주차 발자국
3주차 발자국 회고
테스트는 왜 필요한가?
테스트 코드 작성에 대한 지식이 없었을 적 불편했던 일들이 코치님이 말하시는 테스트를 작성하지 않았을 때 발생하는 상황과 굉장히 유사했기에 크게 공감하며 이해할 수 있었다. 단순히 알고리즘 문제를 풀 때만 해도 특정 케이스에 대해 잘 못 작성된 코드를 수정하게 되면 올바르게 고쳐졌는지 확인하기 위해 해당 케이스 뿐만이 아니라 기존의 모든 테스트 케이스를 반복해서 돌려봐야 하는 경우가 생긴다. 여러 도메인의 연관 관계가 존재하는 프로젝트에서는 어떠한 영향을 끼칠지 빠른 피드백과 안정성이 필수적이라는 점은 인상 깊게 기억에 남았다.테스트하기 어려운 영역
관측할 때 마다 다른 값에 의존하는 코드가 존재하고 그러한 코드를 테스트 하는 것의 어려움을 이해하고 분리해나가는 과정은 단순히 파라미터 하나 혹은 전역 변수 하나라도 그 위치의 중요성을 고민하게 만들었다. 코드를 작성하는데 있어 단순한 전역변수 하나가 테스트 케이스 구성을 어렵게 만들 수 있다는 것은 신중한 코드 작성 그리고 TDD 방식의 필요성을 직관적으로 이해할 수 있게 도와주었다.Spring & JPA 기반 테스트
Business Layer에 대한 테스트 코드를 작성하는 것은 생각보다 어려움이 많았다. 테스트를 구성하고 해당 테스트가 제대로 동작하기 위해 구체적인 코드를 작성하면서 그에 따라 발생하는 Persistence Layer 테스트를 캐치 하고 새로운 테스트를 작성하는 것은 TDD 방식에 익숙하지 않아 유연하게 따라가기 어려웠던 것 같다. 그렇지만 그렇게 발생한 테스트 코드의 중요성은 깨달을 수 있었던 것 같다.
강의 : Practical Testing: 실용적인 테스트 가이드 (박우빈)
댓글을 작성해보세요.