์ธ์ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ(Acceptance Test Driven Development, ATDD)์ ๋น์ฆ๋์ค ๊ณ ๊ฐ, ํ ์คํฐ, ๊ฐ๋ฐ์ ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค.
- ์ธ์๋ฐ๋ค์ ๊ทธ ์ธ์(acceptance)์ ๋๋ค.
- ์ํํธ์จ์ด๊ฐ๋ฐ์ ์๋ขฐํ๊ณ ๊ฒฐ๊ณผ๋ฌผ์ ์ธ์๋ฐ๋๋ค๋ ์๋ฏธ์ฃ .
- ์ธ์ํ๊ธฐ ์ํ ์กฐ๊ฑด์ ๋๋ค.
AC : ๊ฐ์ฌ๋ ๊ฐ์๋ฃ ํ๋ถ์ ํด์ฃผ๊ธฐ ์ํด ์๊ฐ์์ ์๊ฐ์ ์ทจ์ํ ์ ์๋ค.
- given: ์๊ฐ์์ด ์๊ฐ ์ ์ฒญ์ ํ์๋ค, ๊ณผ์ ์ ๋จ์ ๊ธฐ๊ฐ์ด ์ ๋ฐ ์ด์์ด๋ค.
- when: ๊ฐ์ฌ๋ ํน์ ์๊ฐ์์ ์๊ฐ ์ํ๋ฅผ ์ทจ์ ์์ฒญ์ ํ๋ค.
- then: ํน์ ์๊ฐ์์ ์๊ฐ ์ํ๊ฐ ์ทจ์ ๋๋ค, ํน์ ์๊ฐ์์ ๊ฒฐ์ ๋ด์ญ์ด ํ๋ถ ๋๋ค.
- ๊ฒ์ฆํ๊ณ ์ ํ๋ When ๊ตฌ๋ฌธ์ ๋จผ์ ์์ฑ
- ๊ธฐ๋ ๊ฒฐ๊ณผ๋ฅผ ์๋ฏธํ๋ Then ๊ตฌ๋ฌธ์ ์์ฑ
- When ๊ณผ Then ์ ํ์ํ ์ ๋ณด๋ฅผ Given ์์ ์์ฑ
- ์ธ์ ์กฐ๊ฑด์ ์ํ ํ ์คํธ์ ๋๋ค.
- ์ฌ์ฉ์ ๊ด์ , ์ฆ ์์คํ ์ ์ธ๋ถ ๊ด์ ์์ ์ด๋ฃจ์ด์ง๋๋ค. ํน์ ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ฉด ์์คํ ์ ์ฌ๋ฐ๋ฅธ ์ถ๋ ฅ์ ์ง์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ด ์ธ๋ถ์์ ๋ณผ ์ ์๋ ํจ๊ณผ๋ฅผ ๋ฆฌ์คํธ์ ํฉ๋๋ค.
- ์๋ฅผ ๋ค๋ฉด, ์ฃผ๋ฌธ์ด ์ง๋ถ์์ ๋ฐฐ์ก๋จ์ผ๋ก ๋ฐ๋๋ ๊ฒ๊ณผ ๊ฐ์ด ์ํ๊ฐ ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋๋์ง ํ์ธํ ์ ์์ต๋๋ค.