๊ธ€ ์ž‘์„ฑ์ž: ๋˜ฅํด๋ฒ .
๋ฐ˜์‘ํ˜•

์„ธ ์ค„ ์š”์•ฝ


  • ์œ ๋‹› ํ…Œ์ŠคํŠธ: ํ•จ์ˆ˜ ํ•˜๋‚˜ํ•˜๋‚˜์™€ ๊ฐ™์ด ์ฝ”๋“œ์˜ ์ž‘์€ ๋ถ€๋ถ„์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ
  • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ: ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์ž˜ ์ด๋ฃจ์–ด ์ง€๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ
  • ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ: ์‚ฌ์šฉ์ž์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์›ํ™œํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ

 

์„œ๋ก 


๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋‚ด ์ฝ”๋“œ๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋ฒ„๊ทธ๊ฐ€ ์—†๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค.

๊ทธ๋Ÿด ๋•Œ '์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋ฉด ์ข‹์„๊นŒ..?'๋ผ๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์ฐพ๊ฒŒ ๋œ๋‹ค.

ํ…Œ์ŠคํŠธ๋ฅผ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•ด๋ณด๋ฉด ์œ ๋‹› ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋กœ ๋‚˜๋ˆ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ถœ์ฒ˜: https://corgibytes.com/blog/2016/03/28/pyramid-of-tests/

๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด ์œ„์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

Acceptance Test๋Š” Integration Test์™€ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์œ ๋‹› ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ํฌ๊ณ  ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์ค‘๊ฐ„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋Š”๋ฐ..

์ด๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๋ผ๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์ฝ”๋“œ ๋ฒ”์œ„๋กœ ๋”ฐ์ง€๋ฉด ์œ ๋‹› ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ์ž‘๊ณ  ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ํฌ๋‹ค.

 

์•Œ๊ธฐ ์‰ฝ๊ฒŒ ๋น„๊ตํ•ด๋ณด์ž


์—ญ์‹œ ์„ค๋ช…์€ ๊ฒŒ์ž„์„ ์˜ˆ๋กœ ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ดํ•ด ๊ฐ€๊ธฐ ์‰ฌ์šธ ๊ฒƒ ๊ฐ™์•„ ๊ฒŒ์ž„์œผ๋กœ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด.

์Šฌ๋ผ์ž„์ด๋ผ๋Š” ๋ชฌ์Šคํ„ฐ๊ฐ€ ์žˆ๊ณ  ์œ ์ €๊ฐ€ ์Šฌ๋ผ์ž„์„ ๋•Œ๋ ค์žก๋Š” ์ƒํ™ฉ์ด๋‹ค. ์ด๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

  • ์œ ์ €๊ฐ€ ์Šฌ๋ผ์ž„์—๊ฒŒ ๋‹ฌ๋ ค๊ฐ€๋Š” Move ํ•จ์ˆ˜
  • ์œ ์ €๊ฐ€ ์Šฌ๋ผ์ž„์„ ๊ณต๊ฒฉํ•˜๋Š” Attack ํ•จ์ˆ˜
  • ์Šฌ๋ผ์ž„์„ ๋•Œ๋ ค์žก์€ ํ›„ ์ „๋ฆฌํ’ˆ์„ ์ˆ˜์ง‘ํ•˜๋Š” Gather ํ•จ์ˆ˜

์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” Move, Attack, Gather ํ•จ์ˆ˜๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ (์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž…๋ ฅ ๊ฐ’์„ ์ค˜๋ด์„œ ์ œ๋Œ€๋กœ ๋œ ์ถœ๋ ฅ ๊ฐ’์ด ๋‚˜์˜ค๋Š”์ง€)

ํ•จ์ˆ˜ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒƒ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์œ ์ €๊ฐ€ ์Šฌ๋ผ์ž„์„ ๋•Œ๋ ค์žก๊ณ  ์ „๋ฆฌํ’ˆ์„ ์ˆ˜์ง‘ํ•  ํ…๋ฐ ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ˆ˜์ง‘ํ•œ ์ „๋ฆฌํ’ˆ์ด ์ž˜ ๋“ค์–ด๊ฐ”๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒƒ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ์œ ์ €๊ฐ€ ์Šฌ๋ผ์ž„์—๊ฒŒ ๋‹ฌ๋ ค๊ฐ€ ์Šฌ๋ผ์ž„์„ ๋•Œ๋ ค์žก๊ณ  ์ „๋ฆฌํ’ˆ์„ ์ˆ˜์ง‘ํ•˜๋Š” ํ•˜๋‚˜์˜ ๊ณผ์ •์ด ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰๋˜์—ˆ๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ๋“ค์ด ์–ด๋– ํ•œ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ•˜๋‚˜ํ•˜๋‚˜ ์•Œ์•„๋ณด์ž.

 

์œ ๋‹› ํ…Œ์ŠคํŠธ(Unit Test)


์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ์ „์ฒด ์ฝ”๋“œ ์ค‘ ์ž‘์€ ๋ถ€๋ถ„์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ด๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด, ํ•จ์ˆ˜ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ฐœ๋ณ„๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ) ๋งŒ์•ฝ ํ…Œ์ŠคํŠธ์— ๋„คํŠธ์›Œํฌ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ™์€ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๊ฐ€ ํฌํ•จ๋œ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ์œ ๋‹› ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋‹ˆ๋‹ค.

 

๋˜ํ•œ, ์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ณ  ๋ช…ํ™•ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ž…๋ ฅ ๊ฐ’์„ ์ฃผ์–ด์„œ ๊ทธ์— ๋Œ€ํ•œ ํ•จ์ˆ˜์˜ ์ถœ๋ ฅ ๊ฐ’์ด ์ •ํ™• ํ•œ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฝ”๋“œ์˜ ์„ค๊ณ„๊ฐ€ ๋ณ„๋กœ ์ข‹์ง€ ๋ชปํ•˜๋‹ค๋ฉด ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋„ ์–ด๋ ค์›Œ์ง„๋‹ค.

๋”ฐ๋ผ์„œ ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ) ํ•˜๋‚˜ํ•˜๋‚˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ์ข€ ๋” ๋‚˜์€ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

 

๋น„์œ ํ•˜์ž๋ฉด, ์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ์ฒ™์ถ”์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ข‹์€ ์ฝ”๋“œ๋ฅผ ๋””์ž์ธํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์–ด๋–ค ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ)์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๊ทธ ํ•จ์ˆ˜๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š”์ง€๋ฅผ ๋ณด์žฅํ•ด์ฃผ๊ณ  ๊ฐ™์€ ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ)๋ฅผ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ํ…Œ์ŠคํŠธ์—์„œ๋„ ์ ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ๋นˆ๋ฒˆํžˆ ์ผ์–ด๋‚˜๋Š” ๋ฒ„๊ทธ๋ฅผ ๋ง‰๋Š”๋ฐ๋„ ๋›ฐ์–ด๋‚œ ์—ญํ• ์„ ํ•œ๋‹ค.

์ฝ”๋“œ ์ผ๋ถ€๋ถ„์— ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์•„๋ฌด๋ฆฌ ๋งŽ์ด ๋ฌธ์ œ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๋ ค ํ•ด๋„ ์ˆ˜์ •ํ•œ ๋ถ€๋ถ„์˜ ์ฝ”๋“œ๊ฐ€ ๋˜ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๊ณ .. ๋ฌธ์ œ๊ฐ€ ๋ฌธ์ œ๋ฅผ ๋‚ณ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋‹ค.

์ด๋Ÿด ๋•Œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‘ ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ(Integration Teset), ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ(Functional Teset)๋Š” ์ด๋ฒคํŠธ์˜ ํ๋ฆ„์— ์ด์ƒ์ด ์—†๋Š”์ง€ ํ…Œ์ŠคํŒ…ํ•˜๋Š”๋ฐ ์ข‹์€ ๋ฐ˜๋ฉด, ์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ์–ด๋– ํ•œ ๋ถ€๋ถ„์— ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ๊ณ ์น  ๋ถ€๋ถ„์ด ์–ด๋””์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ด ์ค„ ๋•Œ ์ข‹๋‹ค.

 

์ •๋ฆฌํ•˜์ž๋ฉด, ํ…Œ์ŠคํŠธ ์ค‘์‹ฌ ๊ฐœ๋ฐœ(test-driven development) ์ผ ๋•Œ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ๊ผญ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ์ฝ”๋“œ์˜ ๋””์ž์ธ์„ ๊ฐœ์„ ํ•ด์ฃผ๊ณ  ๋‚˜์ค‘์— ์ฝ”๋“œ์˜ ๋ฆฌํŒฉํ† ๋ง์ด ํ•„์š”ํ•  ๋•Œ ์–ด๋–ค ๋ถ€๋ถ„์„ ์™„์ „ํžˆ ๋ถ„๋ฆฌํ•  ํ•„์š” ์—†์ด ๊น”๋”ํ•˜๊ฒŒ ํ•ด ์ค€๋‹ค.

 

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ(Integration Test)


ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์ด๋ฆ„์—์„œ ์˜๋ฏธํ•˜๋Š” ๋ฐ”์™€ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ์‹œ์Šคํ…œ๋“ค์ด ์„œ๋กœ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ  ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์œ ๋‹› ํ…Œ์ŠคํŠธ์™€ ๋น„์Šทํ•œ๋ฐ, ํฐ ์ฐจ์ด์ ์ด ํ•˜๋‚˜ ์žˆ๋‹ค. ์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค๊ณผ ๋…๋ฆฝ์ ์ธ ๋ฐ˜๋ฉด ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

์˜ˆ๋ฅผ ๋“ค์ž๋ฉด ์œ ๋‹› ํ…Œ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๋Š” ์ฝ”๋“œ๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์‹ค์ œ ํ†ต์‹ ํ•ด์•ผ ํ•œ๋‹ค.

 

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์œ ๋‹› ํ…Œ์ŠคํŠธ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ๋Š๋ผ์ง€ ๋ชปํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

๋•Œ๋•Œ๋กœ ๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋ถ„๋ฆฌ๋œ ์‹œ์Šคํ…œ๋ผ๋ฆฌ ์ž˜ ํ†ต์‹ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ฆ๋ช…ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ(์˜ˆ๋ฅผ ๋“ค์–ด ๋‚˜์˜ ์•ฑ๊ณผ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€...) ์ด๊ฒƒ์„ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ผ ํ•œ๋‹ค.

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ๋Œ€๊ฒŒ ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋ณต์žกํ•˜๊ณ  ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ธํŒ…ํ•  ๋•Œ, ์„ค์ • ํŒŒ์ผ์„ ์ฝ์–ด ์˜ค๋Š” ๊ณผ์ •์ด๋ผ๋˜๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ž˜ ์„ธํŒ…๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๋ผ๋˜๊ฐ€)

๋”ฐ๋ผ์„œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ผญ ํ•„์š”ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ฉด ์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ(Functional Test)


๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” E2E ํ…Œ์ŠคํŠธ(E2E Test) ํ˜น์€ ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ(Browser Test)๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ ๋ชจ๋‘ ๊ฐ™์€ ์˜๋ฏธ๋‹ค.

 

๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ์–ด๋–ค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ์™„์ „ํ•œ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์–ด๋–ค ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ํŠน์ •ํ•œ ํŽ˜์ด์ง€๋ฅผ ํด๋ฆญํ•œ๋‹ค๋˜๊ฐ€ ํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์œ ๋‹› ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„์˜ ํ•จ์ˆ˜๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์ด ์ž˜ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ์ด์™€ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋ ˆ๋ฒจ์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์œ ๋‹› ํ…Œ์ŠคํŠธ๋Š” ์ˆ˜๋ฐฑ ๊ฐ€์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ๊ทธ๋ ‡์ง€ ๋ชปํ•˜๋‹ค.

๊ธฐ๋Šฅํ…Œ์ŠคํŠธ๋Š” ์ž‘์„ฑํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ต๊ณ  ๋†’์€ ๋ณต์žก์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. (์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ€์ •ํ•˜๋ฉด ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ์‹ค์ œ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋ฏ€๋กœ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ๊ฐ„์กฐ์ฐจ๋„ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ์˜ ํ•œ ์š”์ธ์ด ๋œ๋‹ค)

 

์œ„์™€ ๊ฐ™์€ ์ด์œ ๋กœ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ๋งค์šฐ ์„ธ๋ฐ€ํ•˜๊ฒŒ ๋‚˜๋ˆ ์„œ ํ•˜๋ฉด ์ข‹์ง€ ๋ชปํ•˜๋‹ค.

๋Œ€์‹  ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ์‚ฌ์šฉ์ž์™€ ์•ฑ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด, ํšŒ์› ๊ฐ€์ž…๊ณผ ๊ฐ™์ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์•ฑ์˜ ํŠน์ • ํ๋ฆ„์„ ์ˆ˜๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒฝ์šฐ)

ํšŒ์› ๊ฐ€์ž…์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋ผ ํ•˜๋ฉด ์œ ์ €๊ฐ€ ํšŒ์›๊ฐ€์ž…์„ ๋งˆ์น˜๊ณ  "์ €ํฌ ์‚ฌ์ดํŠธ์— ํšŒ์› ๊ฐ€์ž…ํ•˜๊ฒŒ ๋œ ๊ฒƒ์„ ์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค."๋ผ๋Š” ํŽ˜์ด์ง€๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ถœ๋ ฅํ•ด์ค„ ๊ฒƒ์„ ๋ณด์žฅํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

์ถœ์ฒ˜


https://codeutopia.net/blog/2015/04/11/what-are-unit-testing-integration-testing-and-functional-testing/
battlecook๋‹˜์˜ ๊ฒฝํ—˜๊ณผ ์ง€์‹ ์ธ์šฉ (https://battlecook.github.io/)
๋ฐ˜์‘ํ˜•