TDD Cycle
๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ (Separation of Concerns)
- testableํ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ํด์๋, ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๋ฅผ ์ ์ฉํด์ผ!
- ๊ฐ ๊ฐ๋ณ ์์๋ ๊ฐ๋ณ์ด ๊ด์ฌ์ฌ๋ง ๋ค๋ฃฐ ๊ฒ!
- ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๊ฐ ์ ๋๋ก ์ด๋ฃจ์ด์ง์ง ์์ผ๋ฉด! ๊ฑฐ๋ํ ์งํ ๋ฉ์ด๋ฆฌ (Big Ball of Mud)๋ก ๋ณํ๋ค!
์ฝ๋๋ ์ฌ๊ธฐ์
test๊ฐ ์ด๋ ค์ด ๊ฒ์ testableํ์ง ๋ชปํด์๋ผ๋ ๋ง์ ๋ฑ๐ฐ ํ๋ ๋ง์๋ค
ํ๋์ ์ปดํฌ๋ํธ์์ ์ํํ๋ ์ญํ ์ด ๋ง์ ๋ ํ
์คํธ ์ฝ๋ ์์ฑํ๊ธฐ ๋๊ฐํด์, ๊ธฐ๋ฅ์ด ๋ช
ํํ ์์ ์ปดํฌ๋ํธ๋ค๋ง ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณค ํ์๋ค
์ปดํฌ๋ํธ๋ฅผ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ ์์น์ ๋ฐ๋ผ ์ ๋๋ ์ ํ
์คํธ์ฝ๋ ์์ฑ์ด ์ฉ์ดํ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ชจ๋ ์ปดํฌ๋ํธ์ test์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก ํด์ผ๊ฒ ๋ค!
TDD๋ ์ฝ๋ฉ์ต๊ด
์์ ๊ธฐ๋ฅ(ํจ์๋ณด๋ค ์์ ๋จ์)์ ์ํ ํ
์คํธ ์ฝ๋๋ฅผ ์ง๊ณ ์ค์ ์ฝ๋๋ฅผ ์ง๊ณ ํ์ธ
์ด ๊ณผ์ ์ ๋ฐ๋ณต๊ณผ
์ด๋ ๊ฒ ์ฝ๋ฉํ๋ ์ต๊ด์ ๊ธธ๋ค์ด๋ ๊ฒ