D+11
- ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ํด๋ณด๋ฉด์ ๋๋ ์ -
(TDD)
์ด์ ์ ๋ด๊ฐ ์ ์์๋ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ๊ด๋ จ๋ ๋ด์ฉ์ ์ดํด๋ณด์๋๋ฐ
์๋ฌด๋๋ ๋ด๊ฐ ํ ์คํธ๋ฅผ ์ง์ ์ ์ผ๋ก ํด๋ณด๊ธฐ ์ ์ด๋ผ์ ๊ทธ๋ฐ๊ฐ
๊ธฐ์ ์ ์ธ ๋ด์ฉ์ด ๋ด๊ฒจ์์ ๋ฟ ์ ์ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ๋ํ ๋ด์ฉ์ด ๋ถ์กฑํ ๋๋์ด ๋ ๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๋ ๋๋ ํ์ด ๋ถ๊ณผ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ์ง์ ํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด์๊ณ
๊ทธ ๊ฒฐ๊ณผ ์ด ๊ณผ์ ์ด ๊ฝค๋ ์ค์ํ๋ค๋ ๊ฒ์ ๋๋ผ๊ฒ ๋์๋ค.
๊ทธ๋์ ๋ด๊ฐ ์ง์ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ํด๋ณด๋ฉด์ ๋๊ผ๋ ๊ฒ์ ๋ํด
๊ฐ๋ตํ๊ฒ ๊ธฐ๋ก์ ํด๋ณด๋ ค๊ณ ํ๋ค.
" Test Driven Development "
TDD๋ ๋ฒ์ญ ๊ทธ๋๋ก ํ ์คํธ ๊ธฐ๋ฐ ๊ฐ๋ฐ์ด๋ผ๋ ๋ป์ผ๋ก
ํ ์คํธ๋ฅผ ๋จผ์ ๋ง๋ ํ์ ํ ์คํธ๋ฅผ ํต๊ณผํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์ง๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ณดํต ์ฐ๋ฆฌ๋ ์ฝ๋๋ฅผ ์์ฑ์ํค๊ธฐ ์ํด์
์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ ํ ์ค๋ฅ๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
ํ์ง๋ง TDD๋ ์คํ์ด ์ฐ์ ์ด ์๋
์ฝ๋์ ๋ํ ๊ตฌ์์ ์ด๋ฏธ ๋ค ์๊ฐํ ํ, ํ ์คํธ๋ฅผ ์์ฑํด
๊ฐ์ฅ ๋์ ๋ฐฉ๋ฒ์ ์ ํํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ฐ๋จํ๊ฒ ์๋ฅผ ๋ค์๋ฉด ์ฐ๋ฆฌ๋ ์ง์ ๋ง๋ค ์์ ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ทธ๋ค์์๋ ๋ฌด์์ ํด์ผ ํ๋๊ฐ?
๋ฐ๋ก ์ง์ ์ง๊ธฐ ์ํด ์ค๊ณ๋ฅผ ์ง์ผํ๋ค.
์ด๋ ๊ฒ ์ง์ ์ง๊ธฐ ์ํด ์ด๋ ์ ๋ ๊ตฌ์์ ํ ํ ์ฌ๋ฌ ๋ฒ์ ์๋๋ฅผ ํตํด
๋ ๋์ ์ค๊ณ๋๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ด TDD์ ์ญํ ๊ณผ ๋น์ทํ๋ค๊ณ ํ ์ ์์ ๊ฒ ๊ฐ๋ค.
์ด๋ฐ ๊ณผ์ ์ด ์๋ค๋ฉด ์ฝ๋๋ฅผ ์์ฑํ ์๋ ์๊ฒ ์ง๋ง
ํ ์คํธ๋ฅผ ๊ฑฐ์น์ง ์์๊ธฐ ๋๋ฌธ์ ์ถํ์ ๋ด๊ฐ ์ฐพ์ง ๋ชปํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋
๊น๋ํ์ง ๋ชปํ ๋์กํ ์ฝ๋๋ก ์ฐ๋ฆฌ์ ๋์ด ๋ถํธํ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ TDD๋ ๊ฐ์ฅ ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ์ป๊ธฐ ์ํด
๊ฑฐ์ณ์ผ ํ๋ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
ํ์ด ์๊ฐ์ ๋๋ ์ด ๊ณผ์ ์ ์ง์ ํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด์๊ณ
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ํด๋ณด๋ฉด์ ๋๋ ๊ฒ์
์๊ฐ์ด ๊ฝค ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ด์๋ค.
์๋ํ๋ฉด ๋ด๊ฐ ์์ฑํ ํ ์คํธ์ ๋ถํฉํ์ง ์์ ์ฝ๋๋ค์ ๋น๊ตํด๊ฐ๋ฉด์
์์ ํ๋ค๋ ๊ฒ์ด ๊ฝค ๋ง์ ์๊ฐ์ด ์์๋๊ธฐ ๋๋ฌธ์ด์๋ค.
๋ํ ์ด๋ฒ ํ์ด ์๊ฐ์ ๋ด๊ฐ ๋ด๋น๊ฒ์ดํฐ ์ญํ ์ ๋งก์๊ธฐ ๋๋ฌธ์
๋๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์์ ํ๋ ๊ฒ์ ๋ฐ๋ผ๋ณด๋ฉด์
์ง์๋ฅผ ํ๋ ์ญํ ์ด์๊ธฐ ๋๋ฌธ์
์ง์ ํด๊ฒฐํ์ง ๋ชปํ๋ ๋ต๋ตํจ์ด ์กฐ๊ธ ์์๋ค.
ํ์ง๋ง ์๊ฐ์ด ์ง๋๊ณ ์ฐ๋ฆฌ๋ ์ข์ ๊ฒฐ๊ณผ๋ฌผ์ ์ป์ ์ ์์๊ณ
๋ด๊ฐ ๋ต๋ตํจ์ ๋๊ผ๋ ์๊ฐ์ด ๊ต์ฅํ ์ด๋ฆฌ์์๋ค๋ ๊ฒ์ ๋๋ ์ ์์๋ค.
๊ฐ๋ตํ ํ๊ธฐ์ ์๊ฐ์ ์ ์ด๋ณด์๋ฉด
TDD๊ณผ์ ์ ํผ์ ์งํํ ์๋ ์์ง๋ง
ํ์ด์ ํจ๊ปํ๋ ์๊ฐ ๋์ฑ ๋น์ ๋ฐํํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
TDD๊ณผ์ ์ ์งํํ๋ค ๋ณด๋ฉด ์๋ง์ ์ค๋ฅ์ ์ข์ ํ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๋ ์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด
๋์ฑ ์ฐฝ์์ ์ด๊ณ ์๋ก์ด ํด๊ฒฐ๋ฐฉ์์ ๋ด๋์์ผ ํ ์๊ฐ์ด ์ฌ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํผ์ ํ๋ ๊ฒ๋ณด๋ค ์ฌ๋ฌ ์ฌ๋๋ค๊ณผ ํ๋ ฅ์ ํ๋ ๊ฒ์ด
๋์ฑ ๋น ๋ฅธ ์๊ฐ ๋ด์ ์ข์ ๊ฒฐ๊ณผ๋ฌผ์ ์ป์ ์ ์์ ๊ฒ์ด๋ค.
๊ฒฐ๋ก ์ ์ฐ๋ฆฌ๋ ์ค์ ์ ๊ฐ์ ์ด๋ฌํ ๊ณผ์ ๋ค์ ๊ฒช์ด์ผ ํ๊ธฐ ๋๋ฌธ์
์ฐ๋ฆฌ๋ ํ์ด์์ ์ํํ ์ํต์ ์ํด ๋์์์ด ์ฐ์ตํด์ผ ํ ๊ฒ์ด๋ค.
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+13] ๊ฐ์ธ ๊ณต๋ถ (0) | 2020.09.19 |
---|---|
[D+12] ๋์๋ ์ฝ์ง... ๊ทธ๋ฆฌ๊ณ ์ฑ๊ณต! (0) | 2020.09.18 |
[D+10] ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ (0) | 2020.09.16 |
[D+09] Command Line ๊ณผ Git (0) | 2020.09.16 |
[D+09] Java Script ๊ฐ๋ (0) | 2020.09.15 |
๋๊ธ