Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 테스트 주도 개발
- exceptionHandler
- jpa
- 로그
- 로그 시스템
- aws
- 에러 모니터링
- aws 접근 권한
- Spring Boot
- crud-update
- java
- AWS IAM
- TDD
- SQL
- spring
- 카카오 소셜 로그인 에러 #카카오 소셜로그인 redirect #카카오소셜로그인 프런트 연동 에러
- nosql
- iam user
- SENTRY
- iam user 새성
- Redis
- MongoDB
- Exception
- 예외 처리
- gradle
- @Transactional
- error
Archives
- Today
- Total
zini's blog
4장 TDD-기능 명세-설계 본문
기능 명세
- 기능 구현을 위해서 기능을 크게 입력과 출력으로 나눠서 생각할 수 있음
- 입력
- : 기능을 실행하는데 필요한 값
- 메서드와 파라미터로 전달
- 결과
- : 여러 형식으로 정의할 수 있음
- 리턴 값, Exception
- 변경 ex. DB에 데이터를 추가하는 등의 시스템 상태의 변경
- : 여러 형식으로 정의할 수 있음
- 입력
- 설계는 기능 명세로부터 시작
- 요구 사항 문서를 이용해서 기능 명세를 구체화하는 동시에 입력과 결과를 도출 → 도출한 기능 명세를 코드에 반영
설계 과정을 지원하는 TDD
- 테스트 코드를 만들기 위해 무엇이 필요?
- 테스트할 기능을 실행
- 클래스, 메서드, 함수 이름 결정
- 파라미터 (이름 & 인자의 타입과 개수) 결정
- 실행 결과를 검증
- 리턴 값
- 테스트할 기능을 실행
- 이름은 설계에서 매우 중요! 이름을 고민하는 시간을 아까워하지 말자!
필요한 만큼만 설계하기
- 필요할 것으로 예측해서 미리 설계를 유연하게 만들지 않고 필요한 만큼만! 설계 변경
- ex. 미리 앞서서 필요해 보이는 익셉션 타입을 만들지 않는다
- 유연한 설계는 필요한 시점에 추가하여 설계가 불필요하게 복잡해지는 것을 방지할 수 있음
기능 명세 구체화
- 기능 명세를 정리
- 요구사항의 명세에서 입력과 결과를 도출
- 애매한 부분을 발견하면 실무 담당자나 기획자와 얘기를 통해 구체적으로 정리해야 함
- 개발자는 최대한 예외적인 상황이나 구체적인 예를 끌어내야 함.
⌈테스트 주도 개발 시작하기⌋ 책 스터디를 진행하며 작성한 글입니다.
책 출처: 최범균, ⌈테스트 주도 개발 시작하기⌋, 가메출판사
'스터디 > 테스트 주도 개발 시작하기' 카테고리의 다른 글
5장 JUnit 5기초 (0) | 2024.09.26 |
---|---|
3장 테스트 코드 작성 순서 (0) | 2024.09.13 |
2장 TDD 시작 (0) | 2024.09.07 |
1장 TDD 개발 준비 (0) | 2024.09.07 |