반응형
TDD
- 테스트가 주도하는 개발
- 요구사항이 급변하는 개발문화에 적합한 개발방법론
- 테스트코드를 먼저작성한다.
- Red → Green → Refactor 사이클
- 실패하는 테스트를 먼저 작성하고, 테스트가 통과하는 코드를 작성하고, 통과하면 프로덕션 코드를 리팩토링 한다.
단위 테스트 코드 (Unit test)
- TDD 첫번째 단계인 기능 단위의 테스트 코드를 작성하는 것
- TDD와 달리 테스트 코드를 먼저 작성해야 하는 것도 아니고, 리팩토링도 포함되지 않는다.
장점
- 빠른 피드백
- 기존방식
- 코드작성
- Tomcat 실행
- Postman과 같은 API 테스트도구로 HTTP 요청
- System.out.println()으로 눈으로 검증
- 결과 다르면 Tomcat중지하고 코드 수정
- 코드수정시마다 톰캣을 다시 실행하는 시간을 줄일 수 있다.
- 기존방식
- 자동검증 (눈 검증 x)
- System.out.println()을 찍으며 수동검증 할 필요가 없어진다.
- 개발자가 만든 기능을 안전하게 보호 해준다.
- 기존 기능이 잘 작동되는 것을 보장해 준다.
- B기능을 추가하였더니 기존 A기능이 문제가 생긴 경우, 새기능 하나 추가할 때 서비스의 모든 기능을 테스트 하기 힘들다.
- 기존 기능이 잘 작동되는 것을 보장해 준다.
- 문제를 조기에 검증 할 수 있다.
리팩토링
- 코드를 다듬는 과정
- 가독성이 좋고 유지보수가 좋게 할 수 있는가?
- 예)
- 오직 한단계의 들여쓰기(indent)를 한다.
- else를 하지 않고 return으로 처리한다.
- 메소드가 한가지 일만 하게 하자.
- 로컬변수가 필요한가?
- compose Method패턴 적용
- 추상화정도가 같아야한다.
- 참고: https://www.youtube.com/watch?v=MRarMhbIdcQ
'프로그래밍 > 스프링 자바' 카테고리의 다른 글
객체 지향 프로그래밍이 정리 (OOP 정리) (0) | 2021.06.28 |
---|---|
JUnit5 정리 (0) | 2021.06.28 |
[Spring] Spring MVC 이동 구조 (feat. jsp) (0) | 2021.04.20 |
[Java] 자바 JDBC 정리 (0) | 2020.11.08 |
[Java] 자바 식별자 예약어 (0) | 2020.11.08 |