ATDD
뒤늦은 2022년 상반기 ~ 8월까지 회고록
이제야 작성하는 회고록... 작년까지 한 달 단위 혹은 주차 단위로 작성했다가 1월 초에 2021년 회고를 작성하고나서 8개월 만에 작성하는 회고록이다. (3월에 작성하다가 코로나로 중단했었다) 오랜만에 작성하다보니 1월부터 지금까지 시간을 어디서부터 어떻게 적을지 고민하다 그냥 손이 가는 데로 작성해본다. 1월부터 지금까지... 시간 순서대로 되짚어보자. 1~2월 - ATDD 교육으로 시작 작년 12월에 집안사정으로 진이 빠져서 1월 초까지 쉬었다가 ATDD 교육을 수강하면서 새로운 마음으로 시작하려고 했다. 자세한 내용은 따로 교육 정리에서 언급하겠다. 3~4월 - 드디어 올게 왔다. 이때까지 조심했지만 전염병 대유행은 피할 수가 없었다. 3월 중에 집안에 코로나가 오면서 많은 어려움이 생겼다. 외출..
REST-Assured 알아보기 (테스트를 위한 클라이언트 객체)
REST Assured? REST API를 단순히 테스트하는 Java DSL(Domain-specific language)이다. POST, GET, PUT, DELETE, PATCH 및 HEAD Request를 지원하며, 요청과 응답을 검증하는 데 사용한다. 왜 사용하는가? 기존의 단위 테스트, 통합 테스트로 개발자의 안심을 이끌어 낼 수 있지만, 이는 내부 개발자의 관점이다. Rest-Assured는 외부 사용자의 관점에서 코드에 상관없이 요청과 응답으로 REST API 자동화 테스트를 구성하고 확인할 수 있어서, 사용자의 관점에서 한번 더 안심을 할 수 있다. 어떻게 보면 테스트를 더 추가하는 거라 과도한 테스트 코드라 의심할 수 있지만, 사용법이 매우 단순하기 때문에 간단히 Java를 알면 사용자 ..
ATDD 5주차 - 마무리
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. 글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다. ATDD, 클린 코드 with Spring edu.nextstep.camp ATDD 미션 다시 보기 1주차 - 인수 테스트 기반 기능 구현 - 인수 테스트 작성 방법 - 인수 테스트 가독성 고려 2주차 - ATDD + TDD Cycle 경험 - 인수 테스트를 시작으로 세부 구현을 단위 테스트로 구현 - Outside In TDD와 InSide Out TDD를 경험 - 테스트 비용을 고려하여 단위 테스트로 분리 3주차 - 인수 테스트 기반 리팩토링 - 인수 테스트를 통해 점진적으로 기능 개발 경험 - 인수 테스트 통합을 통해 인..
ATDD 4주차 - 테스트 기반 문서화
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 4주차 교육 요약 교육은 지난주 피드백으로 의존성에 대한 이야기, 단위테스트 vs 인수테스트 내용이 있으며 단위 테스트에서는 통과가 되었는데, 인수 테스트에서 실패하는 상황이 발생한 경우, 언제 어떻게 발생하는지 언급하고(ex:인메모리와 DB 조회의 차이) 본 수업으로 테스트 환경과 도구 여러가지가 언급되지만 그중 @SpringBootTest, @WebMvcTest, @DataJpaTest 3가지를 간략히 언급하고 넘어간다. @SpringBootTe..
ATDD 3주차 - ATDD 기반 리팩토링
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 🚀 1단계 - 토큰 기반 로그인 구현 🚀 1단계 - 토큰 기반 로그인 구현 by loop-study · Pull Request #180 · next-step/atdd-subway-favorite 안녕하세요 리뷰어님! 3주차 미션을 진행하게된 박현철이라고 합니다. 이전까지는 기능마다 인수테스트를 작성하다가, 하나로 묶어 진행되었는데, 중간에 한번 에러가 발생하니 독립적인 것보 github.com 요구사항 AuthAcceptanceTest의 myInfo..
ATDD 2주차 - ATDD + TDD 후기
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 🚀 1단계 - 구간 추가 기능 변경 🚀 1단계 - 구간 추가 기능 변경 by loop-study · Pull Request #213 · next-step/atdd-subway-path 안녕하세요. 리뷰어님! 이번에 리뷰이가 된 박현철이라고 합니다. 늦게 제출해서 죄송합니다. 🙈 이번 단계를 진행하면서 Mockito를 사용하고 인수테스트와 단위테스트를 포함해서 중복되는 테 github.com 요구사항 변경된 스펙 - 구간 추가 제약사항 변경 변경된 스..
ATDD 1주차 - 인수테스트 후기📖
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. (글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다.) ATDD, 클린 코드 with Spring edu.nextstep.camp 🚀 1단계 - 노선 관리 기능 구현 step1 : 노선 관리 기능 구현 by loop-study · Pull Request #165 · next-step/atdd-subway-map 안녕하세요 리뷰어님. 박현철입니다. 기존의 지하철 인수 테스트를 참고하여 노선 관리 기능 구현을 했습니다. 앞으로 많은 지도 부탁드립니다! 🙇🏻♀️ github.com 요구사항 아래 인수 조건을 검증하는 인수 테스트 작성하기 작성한 인수 테스트를 충족하는 기능 구현하기..
ATDD 시작하면서...
NEXTSTEP에서 진행하는 교육과정 ATDD와 함께 클린 API로 가는 길 4기다. 글을 작성하는 시점에서는 과정명이 ATDD, 클린 코드 with Spring으로 변경되었다. ATDD, 클린 코드 with Spring edu.nextstep.camp 교육이 끝난지 3달이 지나서 4달이 되어가고 있어서 더 늦기전에 이제야 후기글을 작성한다. 수강 이유 다른 포스팅에 적어두긴 했지만 테스트 주도 개발을 좀 더 알고 싶어서 읽은 서적이 있다. 이 서적에서 언급된 ATDD를 알고 싶어서 NEXTSTEP의 ATDD 과정을 신청하게 되었다. 왜 ATDD를 배워야 할까? 구현 전에 인수 테스트를 수행하는 경우 팀의 생산성이 2배가 되는 것을 확인했다. - 제프 서덜런드 (스크럼 공동 제작자) 인수 테스트 주도 ..