loop-study
개발 공부할래?
loop-study
전체 방문자
오늘
어제
  • 분류 전체보기 (186)
    • 목표 및 회고 (25)
    • 세미나 & 워크샵 (1)
    • 교육 및 인강 (67)
      • TDD, Clean Code with Java (5)
      • ATDD, 클린 코드 with Spring (6)
      • DDD 세레나데 (3)
      • 인프라 공방 (6)
      • 이규원의 현실 세상의 TDD (19)
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (18)
      • 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 (0)
      • 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 (8)
      • 코딩으로 학습하는 GoF의 디자인 패턴 (1)
      • 스프링 시큐리티 완전정복 6.x (1)
    • 서적 (62)
      • 객체지향의 사실과 오해 (1)
      • 객체지향과 디자인패턴 (7)
      • 만들면서 배우는 클린 아키텍처 (3)
      • 테스트 주도 개발로 배우는 객체 지향 설계와 실천 (1)
      • 오브젝트: 코드로 이해하는 객체지향 설계 (17)
      • 리팩토링 : 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기 (0)
      • 토비의 스프링 (3)
      • 엔터프라이즈 애플리케이션 아키텍처 패턴 (9)
      • 개발자의 글쓰기 (1)
      • 소프트웨어 장인 (17)
      • Real MySQL 8.0 (2)
    • 개발 & 방법론 (29)
      • Java (13)
      • TDD (5)
      • ATDD (3)
      • DDD (6)
      • 인프라 (2)
      • SQL (0)
    • 개인이야기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 백엔드 로드맵

인기 글

태그

  • 조영호
  • 마틴 파울러
  • 인프라공방
  • 객체지향
  • 인프런
  • 백기선
  • 이규원
  • Test Driven Development
  • study
  • 넥스트스탭
  • fastcampus
  • 모든 개발자를 위한 HTTP 웹 기본 지식
  • TDD
  • 테스트 주도 개발
  • 스프링
  • 자바
  • java
  • Patterns of Enterprise Application Architecture
  • 추상화
  • ATDD
  • 스터디
  • 엔터프라이즈 애플리케이션 아키텍처 패턴
  • 오브젝트
  • DDD 세레나데
  • 소프트웨어 장인
  • 장인정신
  • JUnit
  • nextstep
  • 김영한
  • 현실세상의 TDD

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
loop-study
교육 및 인강/ATDD, 클린 코드 with Spring

ATDD 5주차 - 마무리

ATDD 5주차 - 마무리
교육 및 인강/ATDD, 클린 코드 with Spring

ATDD 5주차 - 마무리

2022. 7. 25. 20:19

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주차 - 인수 테스트 기반 리팩토링

- 인수 테스트를 통해 점진적으로 기능 개발 경험

- 인수 테스트 통합을 통해 인수 테스트의 역할을 구체화

- 인수 테스트에서 중요한 인증 부분에 대한 학습

 

4주차 - 문서화를 포함한 ATDD 전체 개발 사이클

- 테스트 목적에 따른 테스트 설정

- 테스트 기반 문서 자동화 경험 


강의 핵심 주제 다시보기

ATDD Cycle

- 1. 요구사항 -> 인수 테스트 -> API 개발

- 2. 요구사항 -> 인수 테스트 -> TDD -> API 개발

- 3. 요구사항 -> 인수 테스트 -> 문서화 -> TDD -> API 개발 -> 테스트 리팩토링

 

테스트 리팩터링

- 인수 테스트 스텝을 나누어 리팩터링

- 인수 테스트 검증되는 부분을 단위 테스트로 분리

- 인수 테스트의 흐름에 따라 하나로 통합하기


테스트 도구

- Spring, Spring Boot

- JUnit5, Mockito

 

인수 테스트 도구

- RestAssured

- @SpringBootTest + RANDOM_PORT

 

단위 테스트 도구

- MockitoExtension, SpringExtension

- @Mock, @MockBean

 

인수 테스트 인증 도구

- RestAssured + auth()

 

문서화 테스트 도구

- Spring Rest Docs

- Asciidoctor

- RestAssuredMockMvc


REST API

- REST 기반 API 설계를 인수 테스트로 검증

- RestAssured를 통해 인수 테스트 작성하기

- HTTP 표준을 기반으로 REST의 Uniform Interface 제약 지키기

- HTTP Cache를 통해 Cache 제약 조건 지키기

- JWT를 활용한 OAuth 2.0 규약을 통해 Stateless 제약 조건 지키기


강의 목표 다시보기

- 인수 테스트 기반으로 TDD를 할 수 있다.

- 테스트를 효과적으로 리팩터링하여 유지보수를 잘할 수 있다.

- 새로운 프로젝트뿐만 아니라 레거시 코드에서도 TDD를 할 수 있다.

- 남들에게 TDD와 ATDD가 실무에서 가능하다고 설명하고 할 수 있다.


후기

드디어 5주간의 교육이 마무리되었다. (이전 주차별 후기글을 작성해서 마땅히 쓸 내용이 많지는 않다.)

이 교육은 ATDD뿐만 아니라 다양한 것도 학습해서 좋았는데 다양한 테스트 도구와 사용으로 테스트 숙련도가 올랐다고 느껴진다.

Mockito, RestAssured, @SpringBootTest 등 다양한 도구를 배우고 사용하면서 시야가 넓어졌다.

또한, 프로덕션 코드처럼 커지는 테스트 코드의 복잡성을 어떻게 관리할지 고민도 해봤다.

 

가장 큰 배움은 실무에 어떻게 적용할지 접근 방법을 알 수 있는 거다.

TDD, 클린 코드를 통해서 단위 테스트를 배웠지만 과연 내가 예전에 다녔던 회사나 프로젝트에 그대로 적용할 수 있을까? 아무리 고민해봐도 그 환경과 복잡한 레거시에 적용을 못했을 거란 생각이 압도적으로 높았다.

제가 진행하는 강의인 '클린코드를 위한 TDD, 리팩토링' 의 수강자들 대부분이 '배운 내용을 어디서부터 적용해야 할지 막막하고, 실무에 바로 적용하기가 어렵다'는 아쉬움을 표하는 것을 많이 보았습니다.  - 박재성(자바지기)

추천사만 봐도 얼마나 어려운 일인지 알 수 있는데, 이 교육을 통해 강사님이 예전 회사와 현재 회사에 ATDD를 어떻게 적용했는지 그 과정을 엿볼 수 있어서 좋았다.

놀라운 건 교육을 통해 배웠던 내용과 거의 흡사하다는 점이다.

강사님의 실제 경험을 수강생이 그대로 느낄 수 있도록 교육으로 최대한 경험해볼 수 있게 짜인 커리큘럼을 다시 보면 대단하다는 생각이 든다. (교육비 70만원도 싸다고 느껴진다)

 

후기부터 작성하다보니 정리되지 않은 배운 내용이 많다.

배운 거 잊기 전에 잘 정리해서 나중에 써먹어야겠다.

'교육 및 인강 > ATDD, 클린 코드 with Spring' 카테고리의 다른 글

ATDD 4주차 - 테스트 기반 문서화  (0) 2022.07.25
ATDD 3주차 - ATDD 기반 리팩토링  (0) 2022.07.09
ATDD 2주차 - ATDD + TDD 후기  (0) 2022.06.24
ATDD 1주차 - 인수테스트 후기📖  (0) 2022.06.21
ATDD 시작하면서...  (0) 2022.06.09
  • ATDD 미션 다시 보기
  • 강의 핵심 주제 다시보기
  • 강의 목표 다시보기
  • 후기
'교육 및 인강/ATDD, 클린 코드 with Spring' 카테고리의 다른 글
  • ATDD 4주차 - 테스트 기반 문서화
  • ATDD 3주차 - ATDD 기반 리팩토링
  • ATDD 2주차 - ATDD + TDD 후기
  • ATDD 1주차 - 인수테스트 후기📖
loop-study
loop-study
오늘도 공부하자

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.