๐ ์ด๋ฐ ๋ถ๋ค์ ์ํ ๊ธ์ ๋๋ค
- ํ ์คํธ ์๋ํ๋ผ๋ ๋ง์ ๋ค์ด๋ดค์ง๋ง ์ ๋ชจ๋ฅด๋ ๋ถ
- ์๋ ํ ์คํธ์์ ์ฐจ์ด๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์๊ณ ์ถ์ ์์ง๋์ดยทQA ๋ด๋น์
- ํ ์คํธ ์๋ํ ๋์ ์ ๊ฒํ ์ค์ธ ํ ๋ฆฌ๋ยท๋งค๋์
- ์์ผ๋ก QA ์์ง๋์ด๋ฅผ ๋ชฉํ๋ก ํ๋ ๋ถ
โ ์ด ๊ธ์ ์ฝ์ผ๋ฉด ์ ์ ์๋ ๊ฒ
- ํ ์คํธ ์๋ํ๋ ๋ฌด์์ธ์ง, ์๋ ํ ์คํธ์์ ๋ณธ์ง์ ์ธ ์ฐจ์ด
- ํ ์คํธ ์๋ํ์ 3๊ฐ์ง ์ข ๋ฅ๏ผ๋จ์ยทํตํฉยทE2E๏ผ
- ์๋ํํด์ผ ํ ํ ์คํธ์ ํ์ง ๋ง์์ผ ํ ํ ์คํธ์ ๊ตฌ๋ถ๋ฒ
- ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉ๋๋ ์๋ํ ๋๊ตฌ์ ์ข ๋ฅ
๐ ์ด ๊ธ์ ๊ฒฐ๋ก
ํ ์คํธ ์๋ํ๋ ๋๊ตฌ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด ์ํํธ์จ์ด ํ ์คํธ๋ฅผ ์๋์ผ๋ก ์คํํ๋ ๊ธฐ๋ฒ์ ๋๋ค. ์๋ ํ ์คํธ๋ณด๋ค ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ํ ์คํธ๋ฅผ ๋ฐ๋ณต ์คํํ ์ ์์ด, ํ์ฌ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ํ์ง ํฅ์๊ณผ ๊ฐ๋ฐ ํจ์จํ ์๋ฉด์์ ์ค์ํ ์ญํ ์ ๋ด๋นํ๊ณ ์์ต๋๋ค.
ใํ ์คํธ ์๋ํ๊ฐ ๋ญ์ผ?ใใ์๋ ํ ์คํธ๋ ๋ญ๊ฐ ๋ค๋ฅด์ง?ใโโ์ด๋ฐ ์๋ฌธ์ ๊ฐ์ง ์์ง๋์ด๋ QA ๋ด๋น์๊ฐ ๋ง์ ๊ฒ์ ๋๋ค.
ํ ์คํธ ์๋ํ๋ ์ด์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์ด์๋ ์ ๋ ๊ธฐ์ ์ด์ง๋ง, ใ๋ฌด์์ ์๋ํํ๋ฉด ์ข์์งใใ์ด๋์๋ถํฐ ์์ํ๋ฉด ์ข์์งใ๋ฅผ ๋ชฐ๋ผ์ ๋์ ์ ๋ง์ค์ด๋ ํ๋ ์ ์ง ์์ต๋๋ค. ์ด ๊ธ์์๋ ํ ์คํธ ์๋ํ์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ ์๋ ํ ์คํธ์์ ์ฐจ์ด, ์ค๋ฌด์์์ ํ์ฉ๋ฒ๊น์ง ์๊ธฐ ์ฝ๊ฒ ํด์คํฉ๋๋ค.
- ํ ์คํธ ์๋ํ๋๏ผ
- ์๋ ํ ์คํธ์์ ์ฐจ์ด
- ํ ์คํธ์ 3๊ฐ์ง ์ข ๋ฅ๏ผํ ์คํธ ํผ๋ผ๋ฏธ๋๏ผ
- ์๋ํํด์ผ ํ ํ ์คํธ ยท ํ์ง ๋ง์์ผ ํ ํ ์คํธ
- ํ ์คํธ ์๋ํ์ ๋ฉ๋ฆฌํธยท๋ฐ๋ฉ๋ฆฌํธ
- ์ฃผ์ ํ ์คํธ ์๋ํ ๋๊ตฌ
- ์ด ๋ธ๋ก๊ทธ์์ ๋ฐฐ์ธ ์ ์๋ ๊ฒ๏ผ์๋ฆฌ์ฆ ์๊ฐ๏ผ
- ์ ๋ฆฌ
ํ ์คํธ ์๋ํ๋๏ผ
ํ ์คํธ ์๋ํ๋ ์ํํธ์จ์ด์ ํ ์คํธ ์์ ์ ํ๋ก๊ทธ๋จ์ด๋ ๋๊ตฌ๋ก ์๋์ผ๋ก ์คํํ๋ ๊ตฌ์กฐ๋ฅผ ๋งํฉ๋๋ค.
์ฌ๋์ด ์์์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์กฐ์ํ๊ฑฐ๋ API๋ฅผ ํธ์ถํ๋ ๋์ , ์ฝ๋๊ฐ ์๋์ผ๋ก ๊ทธ ์กฐ์์ ์ฌํํ๊ณ ๊ธฐ๋ํ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋์ง ๊ฒ์ฆํฉ๋๋ค. ํ ๋ฒ ์์ฑํ ํ ์คํธ๋ ๋ช ๋ฒ์ด๋ ๋ฐ๋ณต ์คํํ ์ ์์ผ๋ฉฐ, ์ฌ๋์ด ์๋ ๋์์๋, ๋ฆด๋ฆฌ์ค๋ง๋ค ์๋์ผ๋ก ํ์ง ๊ฒ์ฌ๊ฐ ๋์๊ฐ๋ ํ๊ฒฝ์ ๋ง๋ค ์ ์์ต๋๋ค.
โผ ํ ์คํธ ์๋ํ์ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ
|
ํ
์คํธ ์ฝ๋
Python / JS
|
โ |
์๋ ์คํ
CI / ๋ก์ปฌ
|
โ |
๊ฒฐ๊ณผ ๊ฒ์ฆ
PASS / FAIL
|
โ |
๋ฆฌํฌํธ ์ถ๋ ฅ
CSV / HTML
|
์๋ ํ ์คํธ์์ ์ฐจ์ด
์๋ ํ ์คํธ๋ ์ฌ๋์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ์กฐ์ํด ๋์์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ง๊ด์ ์ด๊ณ ์๊ธฐ ์ฌ์ด ๋ฐ๋ฉด, ์๊ฐยท๋น์ฉยทํด๋จผ ์๋ฌ์ ๋ฌธ์ ๊ฐ ๋ฐ๋ผ์ต๋๋ค.
| ํญ๋ชฉ | ๐ ์๋ ํ ์คํธ | ๐ค ํ ์คํธ ์๋ํ |
|---|---|---|
| ์คํ ๋ฐฉ๋ฒ | ์ฌ๋์ด ์กฐ์ํด์ ํ ์คํธ | ์คํฌ๋ฆฝํธ๋ก ์๋ ์คํ |
| ์คํ ์๋ | ์คํ์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค | ์งง์ ์๊ฐ์ ๋ฐ๋ณต ์คํ ๊ฐ๋ฅ |
| ์ ํ์ฑ | ํด๋จผ ์๋ฌ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค | ์์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค |
| ์ฅ๊ธฐ ๋น์ฉ | ์คํ๋ง๋ค ์ธ๊ฑด๋น ๋ฐ์ | ์ด๊ธฐ ๋น์ฉ ํ์๋ ์ ๋น์ฉ |
| ์ ์ฐํ ํ๋จ | ์ง๊ฐ์ ์ผ๋ก ๋์ ๊ฐ๋ฅ | ์ฝ๋ ์ธ์ ํ๋จ์ ์ด๋ ต๋ค |
โผ ์๋ ํ ์คํธ vs ํ ์คํธ ์๋ํ ์์ธ ๋น๊ต
| ๋น๊ต ํญ๋ชฉ | ๐ ์๋ ํ ์คํธ | ๐ค ํ ์คํธ ์๋ํ |
|---|---|---|
| โฑ ์คํ ์๋ | ๋๋ฆฌ๋ค๏ผ์ฌ๋์ ์กฐ์ ์๋๏ผ | ๋น ๋ฅด๋ค๏ผ์ปดํจํฐ ์๋๏ผ |
| ๐ ๋ฐ๋ณต ์คํ | ํผ๋กยท์ค์๊ฐ ๋์ด๋๋ค | ๋ช ๋ฒ์ด๋ ๊ฐ์ ์ ํ๋๋ก ์คํ |
| ๐ฐ ์ฅ๊ธฐ ๋น์ฉ | ์คํ๋ง๋ค ์ธ๊ฑด๋น ๋ฐ์ | ์ด๊ธฐ ๋น์ฉ ํ์๋ ์ ๋น์ฉ |
| ๐ง ์ ์ฐํ ํ๋จ | ์ง๊ฐ์ ์ผ๋ก ๋์ ๊ฐ๋ฅ | ์ฝ๋ ์ธ์ ํ๋จ์ ์ด๋ ต๋ค |
ํ ์คํธ์ 3๊ฐ์ง ์ข ๋ฅ๏ผํ ์คํธ ํผ๋ผ๋ฏธ๋๏ผ
ํ ์คํธ ์๋ํ์๋ ํฌ๊ฒ 3๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ต๋๋ค. ์ด 3์ธต ๊ตฌ์กฐ๋ฅผ ใํ ์คํธ ํผ๋ผ๋ฏธ๋ใ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ค๋ฌด์์ ์ด์์ ์ธ ํ ์คํธ ๊ตฌ์ฑ์ ์ง์นจ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
โผ ํ ์คํธ ํผ๋ผ๋ฏธ๋
์ต์ ๋จ์์ ๋์ ํ์ธ. ๊ณ ์ยท์ ๋น์ฉ์ผ๋ก ์๊ฐ ๋ง์์๋ก ์ข์. pytest๊ฐ ๋ํ ๋๊ตฌ
์ฌ๋ฌ ๋ชจ๋์ด๋ API๊ฐ ์ฐ๊ณํด ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋์ง ํ์ธ. requests๊ฐ ๋ํ ๋๊ตฌ
์ค์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์กฐ์ํด ์ฌ์ฉ์์ ์กฐ์ ํ๋ก์ฐ๋ฅผ ์ฌํ. SeleniumยทPlaywright๊ฐ ๋ํ ๋๊ตฌ
์๋ํํด์ผ ํ ํ ์คํธ ยท ํ์ง ๋ง์์ผ ํ ํ ์คํธ
ใ์ ๋ถ ์๋ํํ๋ฉด ๋์ง ์๋ใ๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฝ์ง๋ง, ํ ์คํธ์๋ ์๋ํ์ ์ ํฉํ ๊ฒ๊ณผ ์ ํฉํ์ง ์์ ๊ฒ์ด ์์ต๋๋ค. ์ค๋ฌด์์๋ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ๋ถํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
โ ์๋ํ์ ์ ํฉํ ํ ์คํธ
- ๋งค๋ฒ ๊ฐ์ ์ ์ฐจ๋ก ๋ฐ๋ณตํ๋ ํ ์คํธ
- ๋ฆด๋ฆฌ์ค๋ง๋ค ์คํํ๋ ํ๊ท ํ ์คํธ
- ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ํ ์คํธ
- ๋ก๊ทธ์ธยทํผ ์ ๋ ฅ ๋ฑ ์ ํ ์กฐ์
- API ์๋ต ๊ฒ์ฆ
- ์ํ ์ฝ๋ยท์๋ฌ ์ฒดํฌ
โ ์๋ํ์ ์ ํฉํ์ง ์์ ํ ์คํธ
- ๋์์ธ ์ธ๊ดยท์์ ํ์ธ
- ์ฌ์ฉ์ฑ๏ผUX๏ผํ๊ฐ
- ํ์์ ํ ์คํธ๏ผ์ง๊ฐ์ผ๋ก ์กฐ์ํด ์ฐพ๋๏ผ
- ํ ๋ฒ๋ง ์คํํ๋ ์์ ํ ์คํธ
- ์ฌ์์ด ์์ฃผ ๋ฐ๋๋ ํ ์คํธ
- ์ฌ๋์ ๊ฐ์ฑ์ด ํ์ํ ํ๋จ
ํ ์คํธ ์๋ํ์ ๋ฉ๋ฆฌํธยท๋ฐ๋ฉ๋ฆฌํธ
โ ๋ฉ๋ฆฌํธ
์ฌ๋์ด ๋ช ์๊ฐ ๊ฑธ๋ฆฌ๋ ํ ์คํธ๋ฅผ ๋ช ๋ถ ๋ง์ ์๋ฃ. ๋ช ๋ฒ์ด๋ ๊ฐ์ ํ์ง๋ก ์คํ ๊ฐ๋ฅ
ํผ๋ก๋ก ์ธํ ๋์นจ์ด๋ ์กฐ์ ์ค์๊ฐ ์์ด์ ธ ํ ์คํธ ํ์ง์ด ์์ ๋จ
๋ฐฐํฌ๋ง๋ค ์๋์ผ๋ก ํ ์คํธ๊ฐ ์คํ๋์ด ํ์ง์ ์ง์์ ์ผ๋ก ๋ด๋ณด ๊ฐ๋ฅ
์ด๊ธฐ ํฌ์๋ ํ์ํ์ง๋ง ์ฅ๊ธฐ์ ์ผ๋ก๋ ์๋ ํ ์คํธ๋ณด๋ค ๋น์ฉ์ ํฌ๊ฒ ์ ๊ฐ ๊ฐ๋ฅ
โ ๏ธ ๋ฐ๋ฉ๋ฆฌํธยท์ฃผ์์
ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ์๊ฐ๊ณผ ๊ธฐ์ ์คํฌ์ด ํ์. ๋ฐ๋ก ํจ๊ณผ๋ ๋์ค์ง ์๋๋ค
์ฌ์ ๋ณ๊ฒฝ๋ง๋ค ํ ์คํธ ์ฝ๋๋ ๊ฐฑ์ ์ด ํ์. ๋ฐฉ์นํ๋ฉด ๋ง๊ฐ์ง ์ฑ๋ก ๋ฐฉ์น๋จ
๋์์ธ์ด๋ UX ๋ฑ ์ฌ๋์ ๊ฐ์ฑ์ด ํ์ํ ํ ์คํธ๋ ์๋ํ๋ก ๋์ฒด ๋ถ๊ฐ
์ฃผ์ ํ ์คํธ ์๋ํ ๋๊ตฌ
ํ ์คํธ์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๋๊ตฌ๊ฐ ๋ค๋ฆ ๋๋ค. ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ๋๊ตฌ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค.
| ๋๊ตฌ | ์ข ๋ณ | ํน๊ธฐ ์ฌํญ | ์ธ์ด |
|---|---|---|---|
| Selenium | E2E ํ ์คํธ | ๋ธ๋ผ์ฐ์ ์๋ ์กฐ์ยทํผ ํ ์คํธ | Python / Java / JS |
| Playwright | E2E ํ ์คํธ | ๋ชจ๋ํ ๋ธ๋ผ์ฐ์ ์๋ํยท๋ นํ ๊ธฐ๋ฅ | Python / JS / TS |
| pytest | ๋จ์ยทํตํฉ ํ ์คํธ | Python ํจ์ยทAPI ํ ์คํธ ๊ด๋ฆฌ | Python |
| requests | API ํ ์คํธ | REST API HTTP ์์ฒญยท๊ฒ์ฆ | Python |
| Cypress | E2E ํ ์คํธ | ํ๋ก ํธ์๋ ํนํ ๊ณ ์ ํ ์คํธ | JavaScript |
| Appium | ๋ชจ๋ฐ์ผ ํ ์คํธ | iOS / Android ์ฑ ์๋ํ | Python / Java / JS |
๐ ์ค์ ํ ์คํธ ์๋ํ ์์๋ ์ฌ๊ธฐ
์ด ๋ธ๋ก๊ทธ์์ ๋ฐฐ์ธ ์ ์๋ ๊ฒ๏ผ์๋ฆฌ์ฆ ์๊ฐ๏ผ
์ด ์๋ฆฌ์ฆ์์๋ ํ ์คํธ ์๋ํ์ ๊ธฐ์ด๋ถํฐ ์ค์ฒ๊น์ง ์ฒด๊ณ์ ์ผ๋ก ํด์คํฉ๋๋ค.
๐ ์๋ฆฌ์ฆ ๊ตฌ์ฑ
- โ ํ ์คํธ ์๋ํ๋๏ผ๏ผ์ด ๊ธ๏ผโ ์ง๊ธ ์ฌ๊ธฐ
- โก Selenium์ผ๋ก ๋งํฌ ๋๊น ์๋ ๊ฐ์ง โ ๊ธ ์ฝ๊ธฐ
- โข Selenium์ผ๋ก ๋ก๊ทธ์ธ ํผ ์ ํจ์ฑ ๊ฒ์ฌ ํ ์คํธ โ ๊ธ ์ฝ๊ธฐ
- โฃ Playwright๋ก E2E ํ ์คํธ ์๋ํ โ ๊ธ ์ฝ๊ธฐ
- โค pytest + requests๋ก API ํ ์คํธ ์๋ํ๏ผ๊ทผ์ผ ๊ณต๊ฐ๏ผ
์ ๋ฆฌ
์ด ๊ธ์์๋ ํ ์คํธ ์๋ํ์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ ์๋ ํ ์คํธ์์ ์ฐจ์ด, ํ ์คํธ์ ์ข ๋ฅ, ์๋ํ์ ์ ํฉํ ํ ์คํธ๊น์ง ํด์คํ์ต๋๋ค.
| ํฌ์ธํธ | ๋ด์ฉ |
|---|---|
| ํ ์คํธ ์๋ํ๋ | ํ ์คํธ ์์ ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์๋์ผ๋ก ์คํํ๋ ๊ตฌ์กฐ |
| ์๋ ํ ์คํธ์์ ์ฐจ์ด | ์๋ยท๋ฐ๋ณต ์ ํ๋ยท์ฅ๊ธฐ ๋น์ฉ์์ ์๋ํ๊ฐ ์ฐ์ |
| 3๊ฐ์ง ์ข ๋ฅ | ๋จ์ ํ ์คํธยทํตํฉ ํ ์คํธยทE2E ํ ์คํธ๏ผํ ์คํธ ํผ๋ผ๋ฏธ๋๏ผ |
| ์๋ํํด์ผ ํ ํ ์คํธ | ๋ฐ๋ณต ์คํํ๋ ์ ํ ํ ์คํธยทํ๊ท ํ ์คํธยทAPI ํ ์คํธ |
| ๋ํ ๋๊ตฌ | SeleniumยทPlaywright๏ผE2E๏ผ/ pytestยทrequests๏ผ๋จ์ยทAPI๏ผ |
๐ ์ด ๊ธ์ ์ ๋ฆฌ
- ํ ์คํธ ์๋ํ๋ ์ํํธ์จ์ด ํ ์คํธ๋ฅผ ์คํฌ๋ฆฝํธ๋ก ์๋ ์คํํ๋ ๊ตฌ์กฐ
- ์๋ ํ ์คํธ๋ณด๋ค ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ํ ์คํธ๋ฅผ ๋ฐ๋ณต ์คํํ ์ ์๋ค
- ๋จ์ ํ ์คํธยทํตํฉ ํ ์คํธยทE2E ํ ์คํธ์ 3์ข ๋ฅ๊ฐ ์๋ค๏ผํ ์คํธ ํผ๋ผ๋ฏธ๋๏ผ
- ๋ฐ๋ณต ์คํํ๋ ์ ํ ํ ์คํธ๋ ์๋ํํ๊ณ , ํ์์ ํ ์คํธ๋ ์๋์ผ๋ก ๊ตฌ๋ถํ๋ ๊ฒ์ด ์ค์
- ํ์ง ํฅ์ยท๊ฐ๋ฐ ํจ์จ ๊ฐ์ ยท๋น์ฉ ์ ๊ฐ์ ๊ธฐ์ฌํ๋ค
ํ์ฌ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ํ ์คํธ ์๋ํ๋ ๋งค์ฐ ์ค์ํ ๊ธฐ์ ์ค ํ๋์ ๋๋ค. ์ฐ์ ์ฃผ๋ณ์ ์๋ ๋ฐ๋ณต ํ ์คํธ๋ฅผ ์๋ํํ๋ ๊ฒ๋ถํฐ ์์ํด ๋ณด์ธ์.
๋ค์ ๊ธ๋ถํฐ๋ ์ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํด ๊ฐ ๋๊ตฌ์ ์ฌ์ฉ๋ฒ์ ํด์คํฉ๋๋ค. ๋จผ์ Selenium์ผ๋ก ๋งํฌ ๋๊น์ ์๋ ๊ฐ์งํ๋ ๋ฐฉ๋ฒ ๋ถํฐ ์ฝ์ด๋ณด์ธ์๐

