hwaya2828.log
๋ก๊ทธ์ธ
hwaya2828.log
๋ก๊ทธ์ธ
TDD
GreenBean
ยท
2021๋ 10์ 6์ผ
ํ๋ก์ฐ
0
Today I learned
0
TDD (Test Driven Devlopment)
TDD๋ Test Driven Development์ ์ฝ์๋ก 'ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ'์ด๋ผ๊ณ ํจ
๋ฐ๋ณต ํ ์คํธ๋ฅผ ์ด์ฉํ ์ํํธ์จ์ด ๋ฐฉ๋ฒ๋ก
์ผ๋ก, ์์ ๋จ์์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ์ฌ ๊ตฌํ
TDD ๊ฐ๋ฐ ๋ฐฉ์
TDD์ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ ๋ฐฉ์์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์
ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ ๋ค์ ์ค์ ์ฝ๋๋ฅผ ์์ฑ
ํ๋ค๋ ์
๋์์ธ(์ค๊ณ) ๋จ๊ณ
์์
ํ๋ก๊ทธ๋๋ฐ ๋ชฉ์
์ ๋ฐ๋์ ๋ฏธ๋ฆฌ ์ ์ํด์ผ๋ง ํ๊ณ , ๋
๋ฌด์์ ํ ์คํธํด์ผ ํ ์ง ๋ฏธ๋ฆฌ ์ ์(ํ ์คํธ ์ผ์ด์ค ์์ฑ)
ํด์ผ ํจ
ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋์ค์ ๋ฐ์ํ๋ ์์ธ ์ฌํญ(๋ฒ๊ทธ, ์์ ์ฌํญ)๋ค์ ํ ์คํธ ์ผ์ด์ค์ ์ถ๊ฐํ๊ณ ์ค๊ณ๋ฅผ ๊ฐ์
์ดํ ํ ์คํธ๊ฐ ํต๊ณผ๋ ์ฝ๋๋ง์ ์ฝ๋ ๊ฐ๋ฐ ๋จ๊ณ์์ ์ค์ ์ฝ๋๋ก ์์ฑ
์ด๋ฌํ ๋ฐ๋ณต์ ์ธ ๋จ๊ณ๊ฐ ์งํ๋๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ์ฝ๋์ ๋ฒ๊ทธ๊ฐ ์ค์ด๋ค๊ณ
์์ค์ฝ๋๋ ๊ฐ๊ฒฐ
ํด์ง
๋ํ, ํ ์คํธ ์ผ์ด์ค ์์ฑ์ผ๋ก ์ธํด ์์ฐ์ค๋ฝ๊ฒ ์ค๊ณ๊ฐ ๊ฐ์ ๋จ์ผ๋ก
์ฌ์ค๊ณ ์๊ฐ์ด ์ ๊ฐ
๋จ
TDD ๊ฐ๋ฐ ๋ฐฉ์์ ์ฅ์
๋ณด๋ค ํผํผํ ๊ฐ์ฒด ์งํฅ์ ์ธ ์ฝ๋ ์์ฐ
TDD๋ ์ฝ๋์ ์ฌ์ฌ์ฉ ๋ณด์ฅ์ ๋ช ์ํ๋ฏ๋ก
TDD๋ฅผ ํตํ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๊ธฐ๋ฅ๋ณ ์ฒ ์ ํ ๋ชจ๋ํ
๊ฐ ์ด๋ค์ง
์ด๋
์ข ์์ฑ๊ณผ ์์กด์ฑ์ด ๋ฎ์ ๋ชจ๋๋ก ์กฐํฉ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ
์ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ ํ์์ ๋ฐ๋ผ ๋ชจ๋์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํด๋ ์ํํธ์จ์ด ์ ์ฒด ๊ตฌ์กฐ์ ์ํฅ์ ๋ฏธ์น์ง ์๊ฒ ๋จ
์ฌ์ค๊ณ ์๊ฐ์ ๋จ์ถ
ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๊ธฐ ๋๋ฌธ์
๊ฐ๋ฐ์๊ฐ ์ง๊ธ ๋ฌด์์ ํด์ผํ๋์ง ๋ถ๋ช ํ ์ ์ํ๊ณ ๊ฐ๋ฐ์ ์์
ํ๊ฒ ๋จ
๋ํ
ํ ์คํธ ์๋๋ฆฌ์ค๋ฅผ ์์ฑํ๋ฉด์ ๋ค์ํ ์์ธ์ฌํญ์ ๋ํด ์๊ฐ
ํด๋ณผ ์ ์๋๋ฐ ์ด๋ ๊ฐ๋ฐ ์งํ ์ค ์ํํธ์จ์ด์ ์ ๋ฐ์ ์ธ ์ค๊ณ๊ฐ ๋ณ๊ฒฝ๋๋ ์ผ์ ๋ฐฉ์งํ ์ ์์
๋๋ฒ๊น ์๊ฐ์ ๋จ์ถ
์ ๋ ํ ์คํ ์ ํ๋ ์ด์
์ด๊ธฐ๋ ํจ
์๋ฅผ ๋ค๋ฉด ์ฌ์ฉ์์ ๋ฐ์ดํฐ๊ฐ ์๋ชป ๋์จ๋ค๋ฉด, DB์ ๋ฌธ์ ์ธ์ง ๋น์ฆ๋์ค ๋ ์ด์ด์ ๋ฌธ์ ์ธ์ง UI์ ๋ฌธ์ ์ธ์ง ์ค์ ๋ชจ๋ ๋ ์ด๋ฌ๋ค์ ์ ๋ถ ๋๋ฒ๊น ํด์ผํจ
ํ์ง๋ง TDD์ ๊ฒฝ์ฐ ์๋ํ ๋ ์ ๋ํ ์คํ ์ ์ ์ฌํ๋ฏ๋ก ํน์ ๋ฒ๊ทธ๋ฅผ ์์ฝ๊ฒ ์ฐพ์๋ผ ์ ์์
ํ ์คํธ ๋ฌธ์์ ๋์ฒด ๊ฐ๋ฅ
์ฃผ๋ก SI ํ๋ก์ ํธ ์งํ ๊ณผ์ ์์ ์ด๋ค ์์๋ค์ด ํ ์คํธ ๋์๋์ง ํ ์คํธ ์ ์์๋ฅผ ๋ง๋ค์ง๋ง ์ด๊ฒ์ ๋จ์ ํตํฉ ํ ์คํธ ๋ฌธ์์ ์ง๋์ง ์์
ํ์ง๋ง TDD๋ฅผ ํ๊ฒ ๋ ๊ฒฝ์ฐ
ํ ์คํ ์ ์๋ํ
์ํด๊ณผ ๋์์ ๋ณด๋ค
์ ํํ ํ ์คํธ ๊ทผ๊ฑฐ๋ฅผ ์ฐ์ถ
ํ ์ ์์
์ถ๊ฐ ๊ตฌํ์ ์ฉ์ดํจ
๊ฐ๋ฐ์ด ์๋ฃ๋ ์ํํธ์จ์ด์ ์ด๋ค ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ๊ฐ์ฅ ์ฐ๋ ค๋๋ ์ ์ ํด๋น ๊ธฐ๋ฅ์ด ๊ธฐ์กด ์ฝ๋์ ์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ์์ง ๋ชปํ๋ค๋ ๊ฒ
ํ์ง๋ง TDD์ ๊ฒฝ์ฐ
์๋ํ๋ ์ ๋ ํ ์คํ ์ ์ ์
ํ๋ฏ๋ก
ํ ์คํธ ๊ธฐ๊ฐ์ ํ๊ธฐ์ ์ผ๋ก ๋จ์ถ
์ํฌ ์ ์์
TDD์ ํจ๊ณผ
1. ์ฝ๋๊ฐ ๋ด ์์ ๋ฒ์ด๋๊ธฐ ์ ์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ํผ๋๋ฐฑ ๋ฐ์ ์ ์๋ค.
๊ฐ๋ฐ ํ๋ก์ธ์ค์์๋ ๋ณดํต โ์ธ์ ํ ์คํธโ๋ฅผ ํจ
์ด๋ฏธ ๋ฐฐ์น๋ ์์คํ ์ ๋์์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ขฐํ ์ํํธ์จ์ด๊ฐ ์ฌ์ฉ์ ๊ด์ ์์ ์ฌ์ฉํ ์ ์๋ ์์ค์ธ์ง ์ฒดํฌํ๋ ๊ณผ์
์ด๋ฏธ 90% ์ด์ ์์ฑ๋ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ํ ์คํธํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ ์๋ ์์ง๋ง, ์ ํํ๊ฒ ์์ธ์ด ๋ฌด์์ธ์ง ์ง๋จํ๊ธฐ๋ ํ๋ฌ
TDD๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ฅ ๋จ์๋ก ํ ์คํธ๋ฅผ ์งํํ๊ธฐ ๋๋ฌธ์ ์ฝ๋๊ฐ ๋ชจ๋ ์์ฑ๋์ด ํ๋ก๊ทธ๋๋จธ์ ์์ ๋ ๋๊ธฐ ์ ์ ํผ๋๋ฐฑ์ ๋ฐ๋ ๊ฒ์ด ๊ฐ๋ฅ
2. ์์ฑํ ์ฝ๋๊ฐ ๊ฐ์ง๋ ๋ถ์์ ์ฑ์ ๊ฐ์ ํ์ฌ ์์ฐ์ฑ์ ๋์ผ ์ ์๋ค.
์ผํธ ๋ฐฑ์ TDD๋
๋ถ์ํจ์ ์ง๋ฃจํจ์ผ๋ก ๋ฐ๊พธ๋ ๋ง๋ฒ์ ๋
์ด๋ผ๊ณ ๋งํ์
์์ ๋งํ ๊ฒ์ฒ๋ผ TDD๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฝ๋๊ฐ ๋ด ์์ ๋ ๋
์ฌ์ฉ์์๊ฒ ๋๋ฌํ๊ธฐ ์ ์ ๋ฌธ์ ๊ฐ ์๋์ง ๋จผ์ ์ง๋จ ๋ฐ์ ์ ์์
๊ทธ๋ฌ๋ฏ๋ก ์ฝ๋๊ฐ ์ง๋
๋ถ์์ ์ฑ๊ณผ ๋ถํ์ค์ฑ์ ์ง์์ ์ผ๋ก ํด์
ํด์ค
3. ํ๋ก๊ทธ๋๋จธ์ ์ค๋ฒ ์์ง๋์ด๋ง์ ๋ฐฉ์งํ๋ค.
TDD๋ ์ฌ์ค ์ง๋ฃจํ ์์ ์ด๋ค ๋ณด๋, ํ๋ก๊ทธ๋๋จธ๋ค์
๊ฐํน ๊ณํํ์ง ์์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ค๋ฒ ์์ง๋์ด๋งํ๋ ๊ฒฝ์ฐ
๊ฐ ์์
ํ์ง๋ง TDD์ ์์น ์ค ํ๋๋,
ํ ์คํธ๋ฅผ ํต๊ณผํ๊ธฐ ์ํ ์ต์ํ์ ์ฝ๋๋ง ์์ฑ ๋ฐ ๊ฐ์
ํด์ผ ํ๋ค๋ ๊ฒ
๊ธฐ๋ฅ ๋จ์๋ก ํ ์คํธ๋ฅผ ์งํํ๊ธฐ ๋๋ฌธ์, ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์ง ์์ ์ฝ๋์ ์ํฅ์ ์ค ์ ์๋ ์ค๋ฒ ์ฝ๋ฉ์ ํ์ง ์์์ผ ํจ
4. ๊ฐ๋ฐ ๊ณผ์ ์ด ํ ์คํธ ์ฝ๋๋ก ๋จ๊ธฐ ๋๋ฌธ์, ๊ณผ๊ฑฐ ์์ฌ๊ฒฐ์ ์ ์ฝ๊ฒ ์๊ธฐํ ์ ์๋ค.
TDD๋ฅผ ์ฌ์ฉํ๋ฉด,
ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ณผ์ ์์ ํ์คํ ๋ฆฌ
๊ฐ ๋จ๋๋ฐ ์ด๊ฒ์ ์ด๋ป๊ฒ ๋ณด๋ฉด
๊ณผ๊ฑฐ์ ๋ ์์ ๊ณผ ํ๋ก๊ทธ๋๋จธ๊ฐ ํ์ ํ๋ ๊ฒ์ ์ฉ์ด
ํ๊ฒ ๋ง๋ค์ด์ค๋ค๊ณ ํ ์ ์์
TDD๋ฅผ ํตํด ์์ฑํ ํ ์คํธ ์ฝ๋๋ฅผ ํธ๋ํนํ๋ฉด์
๊ณผ๊ฑฐ์ ์ด๋ค ์ธ๊ณผ ๊ด๊ณ๋ก ์์ฌ๊ฒฐ์ ์ ํ๋์ง ํ์ธํ๊ธฐ ์ฌ์
TDD ๊ฐ๋ฐ ๋ฐฉ์์ ๋จ์
๊ฐ์ฅ ํฐ ๋จ์ ์ ๋ฐ๋ก ์์ฐ์ฑ์ ์ ํ
๊ฐ๋ฐ ์๋๊ฐ ๋๋ ค์ง๋ค๊ณ ์๊ฐํ๋ ์ฌ๋์ด ๋ง๊ธฐ ๋๋ฌธ์ TDD์ ๋ํด ๋ฐ์ ๋ฐ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
์๋ํ๋ฉด ์ฒ์๋ถํฐ 2๊ฐ์ ์ฝ๋๋ฅผ ์ง์ผํ๊ณ , ์ค๊ฐ์ค๊ฐ ํ ์คํธ๋ฅผ ํ๋ฉด์ ๊ณ ์ณ๋๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ
TDD ๋ฐฉ์
์ ๊ฐ๋ฐ ์๊ฐ์
์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ ๋ฐฉ์์ ๋นํด ๋๋ต 10~30% ์ ๋๋ก ๋์ด๋จ
SI ํ๋ก์ ํธ์์๋ ์ํํธ์จ์ด์ ํ์ง๋ณด๋ค ๋ฉ๊ธฐ์ผ ์ค์๊ฐ ํจ์ฌ ์ค์ํ๊ธฐ ๋๋ฌธ์ TDD ๋ฐฉ์์ ์ ์ฌ์ฉํ์ง ์์
TDD์ ๊ดํ ํธ๊ฒฌ๊ณผ ์ค์
TDD๋ ๋ฌด์กฐ๊ฑด ํด์ผ ํ๋ค?
๊ทธ๋ ์ง ์๋ค
TDD๊ฐ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ฃผ๋ ์ด์ ์ ๋ํด ๋์ดํ๋ฉด TDD๊ฐ ๋ชจ๋์๊ฒ ํ์ํ ๊ฒ์ฒ๋ผ ๋๊ปด์ง ์ ์์ง๋ง ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ๋๋ฅผ ์์ฑํด ๊ธฐ๋ฅ ํ๋๋ฅผ ์ถ๊ฐํ ๋๋ง๋ค ์๊ฐ์ด ๋์ด๋๋ค๊ณ ๋ณธ๋ค๋ฉด TDD๋ ์คํ๋ ค ๋นํจ์จ์ ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ธฐ๋ ํจ
TDD๋ฅผ ์ฌ์ฉํ์ ๋์ ์ด๊ธฐ ๋น์ฉ์ TDD๋ฅผ ์ฌ์ฉํ์ง ์์์ ๋๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ
์ด์ ์ฝ๋๋ฅผ ํ ์คํธํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฐ๋ก ์์ฑํด์ผ ํ๋ค๋ ์ ๋ง ๋ณด์๋ ์ ์ ์์
๊ทธ๋ฌ๋ฏ๋ก ํ๋ก๊ทธ๋๋จธ๋ ํ๋์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋๋ฐ ๊ฑธ๋ฆฌ๋
์์ ์ผ์ ๊ณผ ์์์ ๊ณ ๋ ค
ํด์ผ ํ๋ฉฐ ์ด์ ๋ฐ๋ผ TDD๋ฅผ ์ฌ์ฉํ ์๋, ์ฌ์ฉํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ ์๋ ์์
๋ฌผ๋ก TDD๋ฅผ ์ฌ์ฉํ๋ฉด ์ผ์ ์์ ์ ์ง๋๋ฉด TDD๋ฅผ ์ฌ์ฉํ์ง ์์ ๋์ ๋น๊ตํ์ฌ ์๊ฐ ๋๋น ๋น์ฉ์ด ๋ ์ปค์ง์ง ์๊ณ ์ผ์ ํ๊ฒ ์ ์ง๋จ
์ฆ, TDD๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ๋ฉด ์ด๊ธฐ ๋น์ฉ์ ๋ ๋ง์ด ๋ค ์ ์์ผ๋ ์ ์ฒด์ ์ผ๋ก ๋ดค์ ๋ ๋น์ฉ์ด ์ ์ง์ ์ผ๋ก ๋์ด๋์ง ์๋๋ค๋ ๊ฒ
๋ฐ๋ผ์, TDD๋ฅผ ์ํ ํ๊ฒฝ์ธํ ์ด ์ด๋ฏธ ์ ๋์ด ์๋ ์ ๋ฌด ํ๊ฒฝ์ด๋ผ๋ฉด
TDD๋ฅผ ์ฌ์ฉํ๋ ํธ์ด ์ฅ๊ธฐ์ ์ผ๋ก๋ ํจ๊ณผ์
์ด๋ผ ํ ์ ์์
TDD๋ ๋ฒ๊ทธ๋ฅผ ๋ฐ๋ฉธํ๋ค?
๊ทธ๋ ์ง ์๋ค
TDD๋ ๋ฒ๊ทธ๋ฅผ ์์ ์ฃผ๋ ๋๊ตฌ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ด๋ฉฐ ์คํ๋ ค
TDD๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋ง์ ๋ฒ๊ทธ๋ฅผ ์ฌ์ ์ ๋ฐ๊ฒฌ
ํ ์ ์์
ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ์ฝ๋๊ฐ ์ฌ์ฉ์์๊ฒ ๋๋ฌํ๊ธฐ ์ ์, ํน์ ์ ์ฒด ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๊ธฐ๋ฅ ๋จ์๋ก ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ ์ ์๊ฒ๋
๋น ๋ฅธ ํผ๋๋ฐฑ์ ์ ๋ฌ
ํ๋ ๊ฒ
๊ทธ๋์ ๋ฒ๊ทธ๋ฅผ ๋ณด๋ค ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ๊ฐ์ ํ ์ ์๋๋ก ํ๋ก๊ทธ๋๋จธ๋ฅผ ๋์์ค ์๋ ์์
TDD๋ ํญ์ ๋๋ฆฌ๋ค?
๊ทธ๋ ์ง ์๋ค
TDD๋ฅผ ์ ๋ฌด์ ์ฌ์ฉํ ๋ ์ ๋ฌด ์๋๊ฐ ๋๋ ค์ง๋ค๊ณ ๋๋ผ๋ ๊ฒ์๋ ์ฌ๋ฌ ์ด์ ๊ฐ ์์
TDD๋ฅผ ์ฒ์ ๋์ ํ๋ฉด
TDD๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ ์ด๊ธฐ ์์์ด ๋ฏธ์ง
ํด์ ์๋๊ฐ ๋์ง ์๋๋ค๊ณ ์๊ฐํ ์ ์์
ํน์ ํ์ฌ์์ ์ฌ๋ฌ ํ๋ก๊ทธ๋๋จธ๊ฐ ํ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ, TDD๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ ๋ฌด ํ๋ก์ธ์ค๊ฐ ์ต์ํ์ง ์์ ๊ฐ๋ฐ ์๋๊ฐ ๋๋ ค์ง๋ค๊ณ ๋๋ผ๊ธฐ๋ ํจ
ํ ์คํธ ์ฝ๋ ์์ฑ์ ๋ํ ์ ๋ฌด ๋ถ๋ด๊ฐ
๋ ํ ๋ชซ ํจ
ํ ์คํธ ์๋ํ๋ฅผ ์ํด ํ์ํ ์ฝ๋๊น์ง ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ฏ๋ก ์ ๋ฌด๊ฐ ์คํ๋ ค ๋ ๋์ด๋ ๋นํจ์จ์ ์ด๋ผ ์ฌ๊ธธ ์ ์์
๊ธฐ์ตํด์ผ ํ ๊ฒ์
TDD ์์ฒด๊ฐ ๋ชฉ์ ์ด ๋์ด์๋ ์ ๋๋ค๋ ์ฌ์ค
์ด๋ฉฐ
TDD๋ ๊ณต๋์ ๋ชฉํ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ฌ์ฑํ๊ธฐ ์ํ ๋๊ตฌ
TDD๋ฅผ ํ๊ธฐ ์ด๋ ค์ด ์ด์
์ด์ ๊น์ง ์์ ์ด ๊ฐ๋ฐํ๋ ๋ฐฉ์์ ๋ง์ด ๋ฐ๊ฟ์ผ ํจ
๋ชธ์ ์ฒด๋ํ ๊ฒ์ด ๋ง์ ์๋ก ๋ฐ๊พธ๊ธฐ๊ฐ ์ด๋ ค์
์คํ๋ ค ๊ฐ๋ฐ์ ๋ณ๋ก ํด๋ณด์ง ์์ ์ฌ๋๋ค์๊ฒ ์ ์ฉํ๊ธฐ ์ฌ์
TDD๋ ์ด๋ ๊ฒ ํด์ผ๋๋ค๋ ์ด๋ฏธ์ง/ํ์ด ์์
๋ฐ๋์ ํด(๋จ์ ํ ์คํธ ํ๋ ์์ํฌ)์ ์จ์ ๊ฐ๋ฐํด์ผ ๋๋ค๊ณ ์๊ฐํจ
์ด๋ฌํ ๊ท์น์ ์ฝ๋งค์ด๋ ๊ฒ์ ์ ์์ผ ๋ฐฉ์์ด ์๋๋ผ๊ณ ์๊ฐํจ
๊ฒฐ๊ตญ์ ๊ท์น์ ์ฝ๋งค์ฌ ๋๊ฐ์ ํ ์คํธ๋ฅผ copy&pasteํจ
๋๊ตฌ/๊ท์น์ ์ง์ฐฉํ๋ค ๋ณด๋, TDD๊ฐ ์ด๋ ค์์ง๋ ๊ฒ
ํ ์คํธ ๊ธฐ๋ฒ์ ์ข ๋ฅ์ ์ฅ๋จ์
1. ์๋ ํ ์คํธ
ํ์ฌ์์๋ ๋ณดํต
QA๋ผ๊ณ ๋ถ๋ฅด๋ ์ ๋ฌธ ๋ด๋น์๋ค
์ด UI๋ฅผ ํ์ฉํด
๊ธฐ๋ฅ์ ๊ฒ์ฆ
์ฌ๋์ด ๊ฒ์ฆํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ด์ ์์ ํ ์คํธ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ์ํํธ์จ์ด์ ๋ชจ๋ ์ฝ๋๊ฐ ํ์ฅ์ ๋ฐฐ์น๋ ํ์ ํ ์คํธํ ์ ์์
๋ฐ๋ผ์
์ด๋ค ๊ธฐ๋ฅ์ด ์ ์ ์๋ํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ์ฝ๋๊ฐ ์ค๋น๋์ด์ผ ํ๋ฉฐ ๊ฐ์ฅ ์จ์ ํ ์ ์ฒด ์ฝ๋๋ฅผ ๊ฒ์ฆํ๋ ํ ์คํธ ๋ฐฉ์
๋จ์ ์
์คํ ๋น์ฉ์ ๋์๋ฐ ๊ฒฐ๊ณผ ๋ณ๋์ด ํฌ๋ค
๋ ์
์ ๋ฌธ์ฑ์ ์ง๋ ๋ด๋น์๊ฐ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด ๋ ธ๋ ฅํ์ง๋ง ํด๋จผ ์๋ฌ์ ๊ฐ๋ฅ์ฑ์ ์์ ํ ์์ ๊ธฐ๋ ์ด๋ ค์
๋ํ ์๊ฐ์ด ํ๋ฅด๋ฉด์ ์ถ๊ฐ๋๋ ๊ธฐ๋ฅ์ ์์ฐ์ค๋ฝ๊ฒ ์ฆ๊ฐํ๋๋ฐ, ๋ฌธ์ ๋ ์ด๋ค ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ฐ์ ํ๊ธฐ ์ํด ์์ฑํ ์ฝ๋๋
๋ค๋ฅธ ์ฝ๋์ ์ํฅ์ ๋ฏธ์น๋ค
๋ ์
๊ทธ๋์ ํ ์คํธ๋ฅผ ์งํํ๋๋ผ๋ ์๋ก ์ถ๊ฐ๋ ์ฝ๋๋ก ์ธํด ์ํฅ์ ๋ฐ์ ๊ธฐ์กด ์ฝ๋์ ๋ํ ํ ์คํธ๋ ๊ฑด๋๋ฐ๊ฑฐ๋ ์ถฉ์คํ ์งํํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
2. ํ ์คํธ ์๋ํ
์๋ ํ ์คํธ๊ฐ ์ง๋ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ฑ์ฅํ ๋๊ตฌ
์ฌ๋์ด ์ง์ ํ ์คํธํ์ง ์๊ณ
์ด๋ค ๊ธฐ๋ฅ์ ๊ฒ์ฆํ๋ ๋ ๋ค๋ฅธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ์
๋จ์ ์
์๋ ํ ์คํธ์ ๋นํด ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ ๋ง์ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ค
๋ ์
์ด์ ์ฝ๋๋ฅผ ํ ์คํธํ๊ธฐ ์ํ ๋ณ๋์ ์ฝ๋๋ฅผ ์ถ๊ฐ ์์ฑํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํ ์คํธ ์ฝ๋์ ์์ฑ๊ณผ ๊ด๋ฆฌ๊ฐ ํ๋ก๊ทธ๋๋จธ ๊ฐ์ธ์ ์ญ๋์ ๋ฌ๋ ค ์์ด,
์ ๋ฌด ์์ฒด๊ฐ ํ๋ค
์ด ๋ ์๋ ์์
๋ฐ๋ฉด,
ํ ์คํธ์ ๋๋ ๋น์ฉ์ ๋งค์ฐ ๋ฎ์์ง๋ค
๋ ์ ์ด ์ฅ์
ํด๋จผ ์๋ฌ์ ๊ฐ๋ฅ์ฑ๋ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์๋ ํ ์คํธ์ ๋นํด
ํ ์คํธ ์์ฒด์ ๋ํ ์ ๋ขฐ๋๋ ๋งค์ฐ ๋์์ง
3. ์ธ์ ํ ์คํธ
๋ฐฐ์น๋ ์์คํ ์ ๋์์ผ๋ก ๊ฒ์ฆํ๋ ๋ฐฉ์
์ผ๋ก ์ฃผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ขฐํ ์ํํธ์จ์ด๋ฅผ
์ต์ข ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์์ค์ธ์ง ์ ๊ฒํ๋ ํ ์คํธ
์ ์ฒด ์์คํ ์ ์ด์ ์ฌ๋ถ๊ฐ ์๋์ง ํ์ธํ๋ฉฐ ์ฌ์ฉ์ ๊ด์ ์ผ๋ก ์ฒดํฌํ๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ๋๊ฐ ๋์ ํ ์คํธ ๋ฐฉ๋ฒ
๋จ,
๋น์ฉ์ด ๋งค์ฐ ๋์ผ๋ฉฐ
์ฝ๋ ์์ฑ๋ถํฐ ๊ด๋ฆฌ, ํ ์คํธ ์คํ๊น์ง ์์์ด ๋ง์ด ๋ค์ด๊ฐ
๋ํ ๋ฌธ์ ๋ ํ์ ํ ์ ์์ผ๋, ๊ทธ ์์ธ๊น์ง ๋จ๋ฒ์ ์๋ ค์ฃผ์ง๋ ๋ชปํ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋๋จธ ์ ์ฅ์์ ๋ฐ์ ์ ์๋
ํผ๋๋ฐฑ์ ์ง์ด ๋จ์ด์ง
4. ๋จ์ ํ ์คํธ
์ธ์ ํ ์คํธ์ ๋จ์ ์ ๋ณด์ํ๋ ๊ฒ์ฆ ๋ฐฉ์
์ด๋ฉฐ ๋จ์ ํ ์คํธ๋
์์คํ ์ ์ผ๋ถ(ํ์ ์์คํ )๋ฅผ ๋์์ผ๋ก ๊ธฐ๋ฅ์ ๊ฒ์ฆํ๋ ํ ์คํธ
์ ์ฒด ์์คํ ์ ๋ฐฐ์นํด๋๊ณ ์งํํ์ง ์์ผ๋ฏ๋ก ๋น์ฉ์ด ์๋์ ์ผ๋ก ๋ฎ์ ํธ
์ธ์ ํ ์คํธ์ ๋น๊ตํด์ ๋จ์ ์์์ ๋ฒ๊ทธ๊ฐ ์๋ค๋ ๊ฑธ ์๋์ ์ผ๋ก ์์ธํ ์ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋๋จธ ์ ์ฅ์์๋
๋ฌธ์ ํด๊ฒฐ์ ์ํด ํ์ํ ํผ๋๋ฐฑ์ ์ ์ ํ๊ฒ ๋ฐ์ ์ ์์
ํ์ง๋ง
์ ์ฒด ์์คํ ์ ์ด์ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ์ ๋ขฐ๋๋ ๋ฎ์์ง
๋จ์ ํ ์คํธ์์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋จ๋์ด๋ ์ ์ฒด ์์คํ ์ด ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ์ค๋ฅ๊ฐ ๋ ์๋ ์๊ธฐ ๋๋ฌธ
GreenBean
๐ฑ Backend-Dev | hwaya2828@gmail.com
ํ๋ก์ฐ
์ด์ ํฌ์คํธ
MVP
๋ค์ ํฌ์คํธ
Django ORM ์ต์ ํ
0๊ฐ์ ๋๊ธ
๋๊ธ ์์ฑ