TDD(Test Driven Development)๋?
TDD๋ Test Driven Development๋ผ๋ ์ฝ์๋ก ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ์๋ฏธํ๋ค.
ํ ์คํธ๋ ์๋น์ค์ ํ์ง ํ์ธ ๋ฐ ๋ฒ๊ทธ๋ฅผ ์ฐพ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค. ๋ด๊ฐ ์์ฑํ ์ฝ๋๊ฐ ์์ํ๋ ๋๋ก ๋์ํ๋์ง ๊ฒ์ฆํ๊ณ ํ์ธํ๋ ๊ฒ์ด๋ค.
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ๋ฌด์์ผ๊น?
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ด๋ ํ ์คํธ๋ฅผ ํตํด์ ๊ฐ๋ฐ์ด ์ด๋์ด์ง๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ด๋ค.
์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด ์งํํ๋ค.
1. ํ ์คํธ๋ฅผ ๋จผ์ ์์ฑํ๋ค.(๊ฐ๋จํ๊ฒ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ์์ธก๋์ด์ผ ํ๋์ง ๊ธฐ์ ํ๋ ๋จ๊ณ)
2. ์์ฑํ ํ ์คํธ์ ๊ธฐ๋ฅ๋งํผ์ ๊ฐ๋ฐ์ ์งํํ๋ค.
3. ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋ง ํ๋ค.
์ฌ๊ธฐ์ ํ ์คํธ๋ฅผ ์์ฑํ์ง ์์ ๋ถ๋ถ์ ๊ตฌํํ์ง ์๋ ๊ฒ์ด๋ค.
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ์์ ๊ฐ์ ์ฌ์ดํด์ ๋ฐ๋ณตํ๋ค.
1. ๋จผ์ ํ ์คํธ๋ฅผ ์์ฑํ๊ณ ๊ฐ๋ฐ์ด ๊ตฌํ๋์ด์์ง ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ ์ฝ๋๋ฅผ ๋๋ฆฌ๋ฉด ์คํจ๋ฅผ ํ๊ฒ ๋๋ค.(๐ด)
2. ์์ฑํ ํ ์คํธ ์ฝ๋๊ฐ ์ ์์ ์ผ๋ก ์ํ์ด ๋๋๋ก ์ค์ ์ฝ๋๋ฅผ ์์ ํ๋ค.(๐ข)
3. ์์ฑํ ์ฝ๋๋ฅผ ํ์ค์ ๋ง๋๋ก ๋ฆฌํฉํ ๋ง ๋จ๊ณ์ด๋ค.(๐ก)
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ด ํ์ํ ์ด์
ํ๋ก์ ํธ๊ฐ ์ ์ ์ปค์ง ๊ฒฝ์ฐ ์ด๋ค ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ํด๋น ๊ธฐ๋ฅ์ด ๊ธฐ์กด ์ฝ๋๋ค์ ์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ๋ชจ๋ฅธ๋ค๋ ์ ์ด ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ด๋ค. ํ์ง๋ง ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ์ ํ๋ ๊ฒฝ์ฐ ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฌด์์ ํด์ผ ํ๋์ง ๋ช ํํ๊ฒ ์ ์ํจ์ผ๋ก์จ ๋ถํ์ํ ์ค๊ณ๋ฅผ ํผํ ์ ์๊ณ ์์ฑ๋ ๋์ ์ค๊ณ๋ก ์ด์ด์ง๋ค. ๋ฐ๋ผ์ ์์ธ์ํฉ์ด ์๊ธธ ํ๋ฅ ์ด ๋ฎ์์ง๊ณ ์ถ๊ฐ์ ์ธ ์๊ตฌ ์ฌํญ์ด ์์ด๋ ์์ฝ๊ฒ ์๊ตฌ์ฌํญ์ ๋ฐ์ํ ์ ์๊ฒ ๋๋ค.
TDD cycle์ ๋ฐ๋ณตํ๋ ๊ฒฝ์ฐ ์ฒ์๋ถํฐ ๋ ๊ฐ์ ์ฝ๋๋ฅผ ์ง์ผํ๊ณ , ์ค๊ฐ์ค๊ฐ ํ ์คํธ๋ฅผ ํ๋ฉด์ ๊ณ ์ณ๋๊ฐ๊ธฐ ๋๋ฌธ์ ์์ฐ์ฑ์ด ์ ํ๋๋ ๋จ์ ์ด ์๋ค. ํ์ง๋ง ๊ฒฐ๊ตญ ์๊ฐ์ด ์ง๋๊ณ ํ๋ก์ ํธ๊ฐ ์ปค์ง์๋ก ๊ฐ๋ฐ ๋น์ฉ์ ์ค์ด๊ณ ๋์ ํ๋ฆฌํฐ์ ์ ํ์ ์์ฐํ ์ ์๊ฒ ๋๋ค.
'Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ๋ฒจ(Babel) ์ค์ ํ๊ธฐ (0) | 2022.10.31 |
---|---|
React-Query (1) | 2022.10.11 |
CRA(Create React App) ์นํฉ ์ค์ ํ๊ธฐ (2) | 2022.09.20 |
React์์ setInterval ์ฌ์ฉํ๊ธฐ (0) | 2022.07.28 |
React 18 ๋ฒ์ ์ ๋ฐ์ดํธ ์ ๋ฆฌ (0) | 2022.07.27 |