TDD 학습 및 실습 정리8에 이어 정리합니다.
자판기 만들기 예제이며 TDD 학습 및 실습의 마지막입니다.
자동 판매기 잔돈 계산 모듈
TDD 방식으로 개발하면서 어느 정도 걸리는지 측정해봅니다.
초중급 개발자는 약 50분정도 소요 된다고 합니다.
책 내용이 먼저 나오고 글쓴이의 내용은 아래에 있습니다.
개발 시작하기
3. 업무 시나리오 개선하기
하드웨어와 소프트웨어를 분리합니다.
4. 업무 시나리오 개선하기
개발 범위를 한정하기 위해 시나리오를 정리합니다.
- 투입한 금액이 표시됩니다. -> 투입한 금액을 알 수 있습니다. -> 현재 잔액을 알 수 있습니다.
- 투입 금액 표시화면에는 선택한 음료 가격만큼 제외 된 가격이 표시 됩니다. -> 현재 잔액을 알 수 있습니다.
- 만일 표시 된 남은 금액이 다른 음료를 선택 할 수 있는 금액 이하이면 바로 잔돈으로 반환합니다. -> 잔액이 최소 음료 가격이하인지 여부를 확인합니다.
- 다른 음료를 선택 할 수 있는 금액이 남이 있다면 최초 동전을 넣었을 때와 동일하게 동작합니다
-표시 되어 있는 금액을 최소 잔돈으로 반환합니다.
5. 업무 시나리오 개선으로 확인되는 기능
- 음료수의 가격 확인
- 잔액 확인
- 잔돈 반환
6. 업무 시나리오를 작성해야 하는 이유
요구 사항을 확인하고 개발에 들어가게 되면 행위의 주체의 구분이 모호하게 섞이고 생략되는 부분이 아래와 같이 발생합니다.
시나리오를 작성함을써 구현 볌위를 확실히 하는 과정이 필요합니다.
동전을 투입합니다. -> 음료를 화면에 출렵합니다. -> 음료를 선택합니다. -> 남은 돈을 반환합니다.
테스트 케이스 작성
음료수 선택까지 작성한 테스트를 위한 테스트 케이스
VendingMachine.java
Drink.java
CoinSet.java
TDD에 집중한 테스트 케이스
VendingMachingTest2.java
ChangeModule.java
글쓴이가 작성한 테스트 케이스
개발 시나리오 작성
개발 소스
ChangeMoney.java
VendingMachin.java
실습까지 해보았습니다.
개발을 먼저 하는 습관이 남이 있어 다소 멈칫하는 경우가 있습니다.
테스트를 먼저 작성하면 실패를 무서워하지 않아도 되어 마음에 안정이 옵니다.
테스트 주도 개발을 습관이 되면 더 즐거운 개발이 될거 같습니다.
'개발(합니다) > 방법론' 카테고리의 다른 글
JPA 사용 시 주의 사항 (0) | 2019.01.29 |
---|---|
java와 javascript 정규 표현식 주의점 및 사용법 (0) | 2019.01.23 |
TDD 학습 및 실습 정리8(다양한시각) (0) | 2018.12.27 |
TDD 학습 및 실습 정리7(TDD작성패턴) (0) | 2018.12.27 |
TDD 학습 및 실습 정리6(Unitils) (0) | 2018.12.27 |