inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

워밍업 클럽 4기 백엔드 - 3주차 발자국

westhan
1

강의 내용

3주차에는 Practical Testing: 실용적인 테스트 가이드 강의의 Spring & JPA 기반 테스트 섹션을 수강했다.

 

회고

강의를 수강하며 테스트 코드를 사실상 처음 작성해본 입장에서 이번 3주차에 들은 강의는 정말 많은 도움이 된 것 같다. 3주차 강의를 들으면서는 강의를 멈춰 놓고 먼저 테스트 코드, 기능 구현을 해보고 강의를 재생해 확인하는 방식으로 공부했다. 테스트 코드를 직접 작성해보고 강의를 듣다 보니 왜 테스트 코드를 짜야 하는지 확실히 체감할 수 있었다. 코드 변경 시에도 테스트 코드를 통해 수시로 확인해볼 수 있어 한 층 편리하기도 하고, 어떤 테스트를 수행해야 할지 고민하는 과정에서 생각지 못 한 예외 케이스를 떠올릴 수 있었다. 복습하는 과정에서 작성했던 테스트 코드를 읽으면서 왜 테스트 코드도 문서라고 하셨는지도 이해했다.

테스트 코드 강의를 수강하면서 생긴 고민이 한 가지 있는데, 여건 상 실무에서 테스트 코드를 작성하기가 쉽지 않다는 점이다. 지금 재직 중인 회사에서 '테스트'라는 건 Postman으로 API 호출해서 응답이 잘 돌아오고 데이터베이스에 값이 잘 들어가는지 확인하는 것, 브라우저로 개발한 페이지에 접속해서 기능 사용해 보는 과정을 의미한다. 물론 필요하지만, 뭐 하나 고칠 때마다 똑같은 걸 계속 하려다 보니 피로감이 컸다. 저번주 금요일에 들었던 테스트 강의 초반부에 정확히 동일한 내용이 나와서 이번주 강의 내용을 정말 기대했는데, 기대한 것 이상의 가치가 있는 내용이었다고 생각한다. 단순히 반복되는 수동 테스트의 피로도를 낮추는 것을 넘어서 코드 품질을 높일 수 있는 정말 좋은 방법 중 하나인 것 같다. 테스트 코드 도입은 어려울 것 같지만, 그렇더라도 의식적으로 테스트 용이성을 신경쓰면서 테스터블한 스타일로 개발하려는 노력 정도는 얼마든 해볼 수 있을 것 같다.

 

미션

Day 11

Day 11 미션은 Readable Code 강의에서 작성한 소스의 단위 테스트를 작성하는 것이었다. 미션 수행에 있어 '테스트가 필요하다고 판단하는 과정부터 테스트의 시작'이라는 조언을 주셨는데, 미션을 시작하려던 순간에 정말 공감되는 조언이었다. 테스트 코드 작성이 익숙하지 않았지만, 나름대로 중요한 비즈니스 로직이나 추후에 변경될 가능성이 있는 부분을 찾아 테스트 코드를 작성해보려고 노력했다. 가장 어려웠던 작업 중 하나는 @DisplayName을 작성하는 것이었다. 도메인 용어를 사용한 추상화 된 내용을 작성해야 하며, 도메인 정책의 관점으로 설명을 작성해야 한다고 했지만, 미션에서 작성한 단위 테스트는 워낙 간단한 내용들이라 처음에는 갈피를 잡지 못 했다. 얼마나 자세히 써야 할지, 자세히 쓴다고 썼지만 너무 구현 측면의 세부사항에 의존한 설명은 아닌지 계속 고민이 되었다. 많은 연습과 고민이 필요할 것 같다는 생각이 들었다.

백엔드

답변 0