
์ฅฌ์ฅฌ์ ํจ๊ป ํ๋ฃจ๋ง์ ๋๋ด๋ ์คํ๋ง ํ ์คํธ
์ฅฌ์ฅฌ
ํ ์คํธ ์ฝ๋ ์์ฑ์ด ๋ง์ค์ฌ์ง์๋์? ์ด ๊ฐ์๋ฅผ ํตํด ์คํ๋ง ํ๊ฒฝ ํ ์คํธ์ A to Z๋ฅผ ๊ฒฝํํด๋ณด์ธ์!
์ด๊ธ
์ํํธ์จ์ด ํ ์คํธ, Mockito, JUnit
ํ๋ก ํธ์๋๋ ์ฌ์ฉ์์์ ์ ์ ์ด ์ด๋ฃจ์ด์ง๋ ๊ณณ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์์ ์ ์ฅ์ด ์๋, ์ฌ์ฉ์์ ์ ์ฅ์์์ ํ ์คํธ๊ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. E2Eํ ์คํธ๋ฅผ ํตํด ์ฌ์ฉ์ ์๋๋ฆฌ์ค๊ฐ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ๊ฒ์ฆํด๋ณด๊ณ ๋ด ์ฝ๋์ ๋ํด ๋๋ ค์์์ ์์ ๊ฐ์ ๊ฐ์ง๋ ๊ฒฝํ์ ํด๋ณด์ธ์!
Cypress
ํ๋ก ํธ์๋ E2E ํ ์คํธ
ํ๋ก ํธ์๋์ ํ ์คํธ ์ข ๋ฅ
์ฝ๋ ์์ฑ์ ๋๋ ค์, E2E ํ ์คํธ๋ก ๋จ์ณ๋ด๋ณด์ธ์!
๐
์ด ํจ์๋ฅผ ์ ๊ฑฐํด๋ ๊ด์ฐฎ์๊น?
๐ง ๋ฐ๋ณต๋๋ ๊ธฐ๋ฅ ํ
์คํธ๋ฅผ ๋น ๋ฅด๊ฒ ํ ์ ์์๊น?
๐ค ๋ด ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ๊ฒ์ฆํ ๊น?
๊ฐ๋ฐ์๋ ์์ฑํ ํ๋ก๊ทธ๋จ์ ํ๋ฆฌํฐ์ ๋ํ ์ฑ ์์ด ์์ต๋๋ค. ๊ทธ๋์ QA์ ๊ธฐ๋ฅ ํ ์คํธ๋ฅผ ๋๊ธฐ๊ธฐ ์ ๊ธฐ๋ณธ ์๊ตฌ์ฌํญ์ ๋ชจ๋ ๋ง์กฑํ๋์ง์ ๋ํ ๊ฒ์ฆ์ ๊ฐ๋ฐ์ ์ค์ค๋ก ํ ์ ์์ด์ผ ํฉ๋๋ค. ์ ๋ขฐํ ์ ์๋ ์๋ํ ํ ์คํธ๋ฅผ ํตํด ์์ ์ ์ฝ๋์ ์์ ๊ฐ์ ๋ถ์ด๋ฃ๋ ๊ฒฝํ์ ํด๋ณด์ธ์!
์ฉ๊ธฐ๋ ๋๋ ค์์ด ์๋ ์ํ๊ฐ ์๋๋ค.
์ง์ ํ ์ฉ๊ธฐ๋ ๋๋ ค์์๋ ๋ถ๊ตฌํ๊ณ ํ๋ํ๋ ์ํ์ด๋ค.
- ๊ดดํ
ํ๋ก ํธ์๋ ํ ์คํธ์ฝ๋๋ฅผ ์ง์ผํ๋ค๋ ๋๋ ค์์, ์์ ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒฝํ์ 'ํจ๊ป' ๋ง๋ค์ด ๋๊ฐ๋๋ค.
๊ธฐ๋ณธ์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ ์ ์๊ณ ์๋ ๋ถ
ํ ์คํธ ์ฝ๋์ ๋ํ ๊ฐ์ฆ์ด ์๋ ๋ถ
์ฒ์ ํ๋ก ํธ์๋ ํ์ต์ ํ๋ค ๋ณด๋ฉด ํ๋ฉด UI ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ง์คํ๋๋ผ, ํ ์คํธ ์ฝ๋์ ๋ํ ๋ง์ฐํ ๋๋ ค์์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌํ ๋๋ ค์์ ์์ ๋จ์์ ๊ธฐ๋ฅ ๊ตฌํ๋ถํฐ, ์ํธ ๊ฐ์ ํผ๋๋ฐฑ์ ํตํด ์ด๊ฒจ๋ด๋ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค. ํนํ E2E ํ ์คํธ ๋๊ตฌ๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์ ์๋๋ฆฌ์ค๋ฅผ ํด๋ผ์ด์ธํธ์์ ํ ์คํธํ๋ ๋์์ ๊ฐ์ด ์ฐ์ตํ ์์ ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ด ๊ฐ์๋ฅผ ๋ฃ๋ ์ด์ ๋ ๋ฐ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ฑ์ ๊ธฐ๋ฅ์ ๊ฒ์ฆํ๊ธฐ ์ํด์์ ๋๋ค. ๊ทธ๋์ ์ฑ์ ๊ธฐ๋ฅ ๊ฒ์ฆ์ ๋จผ์ ํ๊ณ , ์ด๋ก ์ ๋์ค์ ํ์ตํฉ๋๋ค.
๋ฉ์๋๋, ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํด ์ฒ์๋ถํฐ ์์ธํ ์ค๋ช ํ๊ธฐ ๋ณด๋ค๋ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ ์ฒด ์ฌ์ดํด์ ๋จผ์ ๊ฒฝํํฉ๋๋ค.
๊ธฐ๋ฅ์ด ์ด๋ฏธ ๊ตฌํ๋ ์ฑ์ด ์์ต๋๋ค. ๊ทธ๋์ ์ฌ๋ฌ๋ถ์ ์ฒ์์ ํ ์คํธ ์ฝ๋ ์์ฑ ์์ฒด์๋ง ์ง์คํ์๋ฉด ๋ฉ๋๋ค.
๐ ์ ์ฅ์: https://github.com/blackcoffee-study/js-counter-test
๐ป ๋ฐ๋ชจ: https://blackcoffee-study.github.io/js-counter-test/
์นด์ดํฐ ์ฑ์ ๋ํ๊ธฐ, ๋นผ๊ธฐ, ๋ฆฌ์ ๊ธฐ๋ฅ์ ํ ์คํธ ํฉ๋๋ค. ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํํ์ ๋ ๊ด์ฐฎ๊ณ , ํ ์คํธ ์์ฒด์ ์ง์คํ๊ณ ์ถ๋ค๋ฉด ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ๋ธ๋์น์์ ํ ์คํธ๋ง ์์ฑํด๋ณด์ธ์!
๐ ์ ์ฅ์: https://github.com/blackcoffee-study/js-calculator-test/tree/main
๐ป ๋ฐ๋ชจ: https://blackcoffee-study.github.io/js-calculator-test/
์ฌ์น์ฐ์ฐ๊ณผ ๊ฐ์ ๊ธฐ์ด์ ์ธ ๊ณ์ฐ๊ธฐ ๊ธฐ๋ฅ์ ํ ์คํธ ํฉ๋๋ค.
Q. ์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ณด์๊ฐ ๋ค์ด๋ ๊ด์ฐฎ๋์?
๋ค ๋ฌผ๋ก ์ ๋๋ค. ์ ๋ง ์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ณด์๋ถ๋ค์ ์ํ ๊ฐ๋จํ ์ฑ์ ์ค๋นํ๊ณ , ๊ธฐ๋ฅ ๊ตฌํ์ด ์๋ ํ ์คํธ ์์ฒด์ ์ง์คํ ์ ์๋ ๋ธ๋์น๋ฅผ ๋ฐ๋ก ๋ง๋ จํ์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์!
Q. ์ฐธ๊ณ ํ ๋งํ ํ ์คํธ ์ฝ๋๊ฐ ์์๊น์?
๋ฉ์ด์ปค์ค์ ๋ชจ๋ ๋ฏธ์ ์ ์์ฒด ์คํฐ๋์์๋ ๋ค๋ฃจ๋๋ฐ์. ์คํฐ๋์ ๋ถ๋ค์ด ์ฌ๋ฆฌ์ PR๋ค์ ํตํด์ ๋ค๋ฅธ ๋ถ๋ค์ ์ฝ๋๋ ์ฐธ๊ณ ํ์ค ์ ์์ต๋๋ค.
Q. ์ด ๊ฐ์๋ TDD๋ ๋ฐฐ์ฐ๋์?
TDD(Test Driven Development)๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด TDD์ ๋ํ ์ฒ ํ ์ดํด์, ๊ธฐ๋ฅ ๊ตฌํ๊น์ง ๋ ๋ง์ ๋ถ๋ถ์ ๋ค๋ค์ผ ํ๋๋ฐ์. ์ด๋ฒ ๊ฐ์๋ ํ ์คํธ ์ฝ๋์ '์น์'ํด์ง๊ณ , ํ ์คํธ ์ฝ๋๋ฅผ '์์ฑํด๋ณด๋ ๊ฒฝํ'์ ์ํด ์ผ๋ถ๋ฌ ๊ด๋ จ๋ ๋ด์ฉ์ ์ ์ธํ์์ต๋๋ค. TDD์ ๋ ๋ด๊ณต์๋ ํ ์คํธ ์ฝ๋์ ๋ํ ์ด์ผ๊ธฐ๋ ํ์ ๊ฐ์์์ ๋ง๋ ๊ฒ์!
๋ฐ์ ์๋์ง๋ก ํจ๊ป ์ฑ์ฅํ๋ 'ํ๊ฒฝ'์ ๋ง๋๋ ๋ฉ์ด์ปค์ค์
๋๋ค.
๋ฉ์ด์ปค์ค์ ๋ํ ์์ธํ ์๊ฐ๋ ๋ฉ์ด์ปค์ค ํ๋กํ ํ์ด์ง์์ ์์ธํ ๋ณด์ค ์ ์์ด์!
๐ ๊ด๋ จ ๋งํฌ
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
๋ฐ๋ณตํด์ ์ง์ ํด๋ฆญํ๋ฉด์ ํ ์คํธ ํ์๋ ๋ถ
๋ด๊ฐ ๋ง๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ค ๊ธฐ๋ฅ๋ค์ด ๋์ํ๋์ง ๊ตฌ์ฒด์ ์ธ ์์น๋ก ํํํ๊ณ ์ถ์ ๋ถ
์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ฐ๋จํ ์ฑ์ ๋ง๋์ค ์ ์๋ ๋ถ
์ ์ ์ง์,
ํ์ํ ๊น์?
๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ
524
๋ช
์๊ฐ์
51
๊ฐ
์๊ฐํ
3
๊ฐ
๋ต๋ณ
4.9
์
๊ฐ์ ํ์
1
๊ฐ
๊ฐ์
์ ์ฒด
11๊ฐ โ (45๋ถ)
์ ์ฒด
51๊ฐ
4.9
51๊ฐ์ ์๊ฐํ
์๊ฐํ 1
โ
ํ๊ท ํ์ 5.0
5
UIํ ์คํธ์ ๋ํด ๊ถ๊ธํ ์ ์ด ๋ง์๋๋ฐ ์ด ๊ฐ์๋ฅผ ํตํด์ ํด์ํ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค! ์ ๋ค์์ต๋๋ค~
ํ์๋ ๊ฐ์ฌํฉ๋๋ค~! UIํ ์คํธ์ ๋ํด ํ์ ๊ฐ์์์ ๋ ๊น์ด์๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ํด๋ณผ๊ฒ์!
์๊ฐํ 1
โ
ํ๊ท ํ์ 5.0
5
ํ ์คํธ ์ฝ๋์ ๋ํด ๋ง์ฐํ ๋๋ ค์์ด ์์๋๋ฐ ์ค์ต์ ํตํด ํ ์คํธ ์ฝ๋ ์์ฑ์ ๊ฒฝํํ ์ ์์ต๋๋ค. ๋ ํ ์คํธ์ ๊ฐ๋ ๊ณผ ํ์ํ ์ด์ ๋ฅผ ์ ๋๋ก ๋ฐฐ์ธ ์ ์์์ด์. ๋ค์ BDD๋ TDD ๊ฐ์๊ฐ ์ผ๋ฅธ ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค!
์ด์ฌํ ๋ค์ ๊ฐ์ ์ค๋นํ๊ณ ์์ผ๋, TDD๋ก ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋๋ ๊ฒฝํ ๊ฐ์ด ์งํํด๋ณผ ์ ์๋๋ก ํ ๊ฒ์!
์๊ฐํ 2
โ
ํ๊ท ํ์ 5.0
5
ํ ์คํธ ์ฝ๋ ์ ๋ฌธ์๋ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ๋ฐฐ์ฐ๊ณ ๋ฐ๋ผํ ์ ์์ผ๋ฉด์๋ ์ ์ตํ ๊ฐ์์ ๋๋ค:)
์ฐํ๋ ์น์ ํ ๋ฆฌ๋ทฐ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ์ธ์ ๋ ํผ๋๋ฐฑ ์ฃผ์๋ฉด ๋ ์ข์ ๋ด์ฉ์ผ๋ก ์ ๋ฐ์ดํธํ ๊ฒ์~!
์๊ฐํ 50
โ
ํ๊ท ํ์ 5.0
5
๋๋ฏ ์ข์๊ฐ์์์ต๋๋ค
๊ฐ์ฌํฉ๋๋ค ์ ํ๋ :)
์๊ฐํ 1
โ
ํ๊ท ํ์ 4.0
4
์ค๊ฐ์ค๊ฐ ๊ฒฐ๊ณผ ํ๋ฉด์ด ๋ฌ๋ผ์ง๊ฑฐ๋ ๊ฐ์์ ๋ค๋ฅด๊ฒ ๋์ค๋ ๋ถ๋ถ๋ค ๋๋ฌธ์ ํ์ฐธ์ ๋ฒ๋ฒ ์์ง๋ง ์์ ์์ฒด๋ ์์ฐผ๋๊ฑฐ ๊ฐ์์. ์ผ๋จ, ์ด๋ก ์ ๋จผ์ ๊ตฌ๊ตฌ์ ์ ํ๋ ๊ฐ์์๋ ๋ค๋ฅด๊ฒ ์์ ๋ฅผ ๋จผ์ ์งํํ ๊ฒ ๋ถํฐ ๋๋ฌด ์ข์๋๊ฑฐ ๊ฐ์์~
๊ฐ์ ๋ถ์ผ์ ๋ค๋ฅธ ๊ฐ์๋ฅผ ๋ง๋๋ณด์ธ์!
โฉ11,000