상세 컨텐츠

본문 제목

BBD란 무엇인가

IT/프로그래밍

by James Lee. 2015. 12. 1. 12:47

본문

아래 블로그들을 참고해서 공부한 내용을 정리한다.


원글 : http://dannorth.net/introducing-bdd/

번역글 : http://blog.jaigurudevaom.net/319


As a, I want, So that

조직 안에서 공통적으로 사용되는 스토리 템플릿


X로 하여금 (As a)

Y를 원한다 (I want)

Z를 얻기 위하여 (So that)


이것을 시나리오로 변환하면


조건이 주어진다. (Given)

어떠한 사건이 발생하는 때에 (When)

그러면 어떤 일이 수행된다 (Then)


ATM을 예시로 들어보자.


제목 : 고객이 현금을 출금한다.

고객은

ATM을 통한 출금을 원한다.

은행에서 줄을 서지 않아도 되기 위하여


As a, I want, So that의 형식이 보이는가?


고객은(As a)

ATM을 통한 출금을 원한다. (I want)

은행에서 줄을 서지 않아도 되기 위하여 (So that)


여기에 아까 위의


Given when Then (조건, 사건, 결과) 템플릿을 적용하면 두 가지 시나리오를 도출 해볼 수 있다.


시나리오 1 : 계좌에 잔고가 없을때

조건 : 계좌에 잔고가 있다. 그리고 카드가 유효하다. 그리고 출금기에 현금이 들어 있다.

만일 : 고객이 현금을 요청한다면

그러면 : 출금거절 메시지가 출력된다. 그리고 현금이 출금되지 않는다. 그리고 카드가 반환된다.


시나리오 2 : 계좌가 당좌 대월 한도를 넘어 당좌 차월 상태 

조건 : 계좌가 당좌 차월 상태다. 그리고 카드가 유효하다.

만일 : 고객이 현금을 요청한다.

그러면 : 출금거절 메시지가 출력된다. 그리고 현금이 출금되지 않는다. 그리고 카드가 반환된다.


이것들은 보편적으로 어느 상황에나 적용될 수 있기 때문에 템플릿이라고 부른다.

관련글 더보기

댓글 영역