NEXT STEP/ATDD, 클린 코드 with Spring 5기

ATDD, 클린 코드 with Spring 5기 후기

샤아이인 2022. 8. 15.

 

어느덧 ATDD과정 또한 수료하게 되었다.

나 같은 경우 미션 4개를 모두 수행하고, 리뷰어와 의견을 잘 나누면서 나름 성공적으로 과정을 수료한 것 같다.

 

1. 과정 소개

ATDD, Clean Code with Spring 과정은 스프링 웹 애플리케이션을 개발하는 과정에서 ATDD(인수 테스트 주도 개발) 프로세스를 경험하고 클린코드 작성과 인수 테스트 기반 리팩터링에 대해 고민해보는 과정이다.

 

 

위와 같은 순서로 수업이 진행된다.

매주 목요일 7시 30분부터 10시 30분까지 주당 3시간씩 수업이 있었다.

 

과제 하나당 1주일씩 잡으면 되는데,

목요일날 3시간 수업을 듣고 난 후 그다음 주 목요일 전까지 해당 주차의 미션을 완주하면 된다.

(다만 2주차 과제는 2주가 주어진다, 2주라 정말 다행이라 느껴지는 과정이었다... 1주 안에 해결하려면 진짜 잠이 엄청 줄었을 것 같다...)

 

일주일에 리뷰를 적어도 5번은 해주신다. 리뷰를 정말 많이 받을수 있다는 점이 가장 큰 장점인 것 같다.

 

2. 왜 ATDD를 학습해야 하는가?

구현 전에 인수 테스트를 수행하는 경우 팀의 생산성이 두 배가 되는 것을 확인했다 - 제프 서덜런드 (스크럼 공동 제작자)

인수 테스트 주도 개발은 테스트가 가능한 요구사항으로 소프트웨어를 개발하는 것입니다.

 

테스트가 가능한 요구사항은 인수 테스트에 꼭 필요한 사항입니다. 인수 테스트가 소프트웨어의 개발 방향을 정하기 때문입니다.

 

요구사항을 구현하기 전에 인수 테스트를 먼저 생성하면 오류를 줄이고 생산성을 높일 수 있습니다.

무엇이 구현되어야 하는지 명확하게 하기 위해 인수 테스트를 만듭니다.

 

3. 후기

우선 과정동안 스스로 많이 성장하게 된 것 같아 기쁘다.

 

나를 성장시킨 동력은 크게 보면 2가지 이다.

 

1) 미션 

해당 과정은 미션 기반을 중심으로 학습하기 때문에 사실상 강의는 부가적인 역할을 한다.

개발자는 직접 코딩을 하면서 성장하기 때문에 '백문이 불여일타' 라는 단어가 있을 정도로 직접적인 경험을 중요시 여긴다.

 

따라서 미션 base로 학습하고 적용한 후, 리뷰를 받고, 수업을 받는 점에서 매우 효율적으로 학습했다고 생각한다.

 

2) 리뷰어와의 수많은 의견 공유

리뷰 문화에 매우 익숙하기는 하지만, 리뷰를 거의 무한정 요청할 수 있어서 매우 좋았다.

과정 중 궁금했던 점은 거의 다 물어본 것 같다.

 

너무 궁금할 때는 담당 리뷰에게 DM을 보내거나, 마스터 이신 성현님의 의견이 궁금할때는 직접 성현님에게 DM을 보내 질문할 수도 있었다.

매우 열려있는 문화에서 학습하면 나도 모르게 웃음이 나온다.


물론 난 아직 미숙할 수 있다.

하지만 앞으로 모든 Spring 개발 과정에 ATDD를 적극적으로 적용시킬 예정이다.

당분간은 인수 테스트와 더욱 친해지려 노력해야겠다.

 

더 많은 지식을 얻기 위해 추가적으로 관련 책을 구매하여 읽고 있다.

 

책이 크게 3개의 장으로 나뉘는데 1장 까지만 읽었다.

구매자, 개발자, 테스터 의 3인 체제로 인수테스트 과정을 설명해 나간다.

스토리로 풀어갔다는 점에서 접근성이 좋은 책인 것 같다.

아직은 좀 더 읽어봐야 알 것 같다.

 

4. 수업 정리

과정에 참여하신 모든 분들이 돈을 내고 수업을 듣는 과정이라, 수업의 모든 내용을 정리하는 않았다.

다만 이 정도는 공유하면 많은 분들께 도움이 될 수 있겠다 싶은 부분들만 조금씩 정리하였다.

 

https://blogshine.tistory.com/463

 

[ATDD] 인수 테스트

보통 xxx 주도 개발 시리즈에서 가장 유명한 개발 방법론이 TDD (Test Driven Development)이다. 나도 Console 기반의 어플리케이션을 만드는 과정에서는 시간만 된다면 TDD를 거의 의식적으로 수련하려 노

blogshine.tistory.com

 

https://blogshine.tistory.com/464

 

[ATDD] 인수 테스트 만들기

우선 인스테스트를 만들기 전, 인수 테스트를 블랙 박스 테스트의 성격을 가지고 있다는점을 알아두자. 내부의 동작을 모르는 상태에서 결과만 테스트 하는 것을 블랙 박스 테스트 라고 말한다.

blogshine.tistory.com

 

https://blogshine.tistory.com/473

 

[ATDD] 인수 테스트 격리하기

이번 시간 들었던 재미있었던 내용 중 하나로 인수 테스트의 격리 에 대한 내용이 있었다. 재미있었던 내용이기에 간략하게 정리해본다. 1. 인수 테스트의 격리 1-1) Transactional 의 사용? 사실 내가

blogshine.tistory.com

 

https://blogshine.tistory.com/474

 

[ATDD] 단위 테스트

이번 글에서는 단위 테스트에 대하여 고민해보는 시간이다. 1. 단위 테스트 보통 단위 테스트라는 단어를 들으면 다음과 같은 그림이 떠오른다. 각각의 테스트가 Production Code의 부분 부분들을 검

blogshine.tistory.com

 

https://blogshine.tistory.com/493

 

[ATDD] 인수테스트 리팩터링

이번 시간에는 인수 테스트의 리팩터링 과정에 대하여 학습하였다. 1. 인수테스트 리팩터링 인수테스트에서 Command성 쿼리들을 StatusCode만으로 검증할 수 있을까? 실제로 데이터가 저장되었는지

blogshine.tistory.com

 

댓글