ํ๋ก ํธ์๋๋ ์ฌ์ฉ์์์ ์ ์ ์ด ์ด๋ฃจ์ด์ง๋ ๊ณณ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์์ ์ ์ฅ์ด ์๋, ์ฌ์ฉ์์ ์ ์ฅ์์์ ํ ์คํธ๊ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. 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์ ๋ ๋ด๊ณต์๋ ํ ์คํธ ์ฝ๋์ ๋ํ ์ด์ผ๊ธฐ๋ ํ์ ๊ฐ์์์ ๋ง๋ ๊ฒ์!
๋ฐ์ ์๋์ง๋ก ํจ๊ป ์ฑ์ฅํ๋ 'ํ๊ฒฝ'์ ๋ง๋๋ ๋ฉ์ด์ปค์ค์
๋๋ค.
๋ฉ์ด์ปค์ค์ ๋ํ ์์ธํ ์๊ฐ๋ ๋ฉ์ด์ปค์ค ํ๋กํ ํ์ด์ง์์ ์์ธํ ๋ณด์ค ์ ์์ด์!
๐ ๊ด๋ จ ๋งํฌ
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
๋ฐ๋ณตํด์ ์ง์ ํด๋ฆญํ๋ฉด์ ํ ์คํธ ํ์๋ ๋ถ
๋ด๊ฐ ๋ง๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ค ๊ธฐ๋ฅ๋ค์ด ๋์ํ๋์ง ๊ตฌ์ฒด์ ์ธ ์์น๋ก ํํํ๊ณ ์ถ์ ๋ถ
์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ฐ๋จํ ์ฑ์ ๋ง๋์ค ์ ์๋ ๋ถ
์ ์ ์ง์,
ํ์ํ ๊น์?
๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ
523
๋ช
์๊ฐ์
51
๊ฐ
์๊ฐํ
3
๊ฐ
๋ต๋ณ
4.9
์
๊ฐ์ ํ์
1
๊ฐ
๊ฐ์
์ ์ฒด
11๊ฐ โ (45๋ถ)
โฉ11,000