๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ํŒ/์„œ๋น„์Šค & ์•„ํ‚คํ…์ฒ˜

TDD (Test-Driven-Development)

by 1mj 2022. 3. 7.

๋‹จ์œ„ ํ…Œ์ŠคํŠธ vs. ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

โœ” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test)

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

 

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

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ๋ชจ๋“ˆ์„ ํ†ตํ•ฉํ•  ๋•Œ ๋ชจ๋“ˆ ๊ฐ„์˜ ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ํ…Œ์ŠคํŠธ์ด๋‹ค. ํ†ตํ•ฉ๋œ ๋ชจ๋“ˆ๋“ค์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์—ฐ๊ณ„๋˜์–ด ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•œ๋‹ค.

 

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ™•์ธํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์— ๊ด€๋ จ๋œ ํ™˜๊ฒฝ์ด ๋ชจ๋‘ ์„ธํŒ…๋˜์–ด์•ผ ํ•ด์„œ(DB, Chche ๋“ฑ) ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋น„์šฉ์ด ์ปค์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค๋ฌด์—์„œ๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŽ์ด ํ™œ์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ํ•ด๋‹น ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ๋งŒ ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

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

 

TDD

Test Driven Development, ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์ด๋ผ๊ณ  ํ•˜๋Š” ๋ฐ˜๋ณต ํ…Œ์ŠคํŠธ๋ฅผ ์ด์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค.

์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ๋ฐฉ์‹๊ณผ์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ๋’ค์— ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

 

 

TDD์—์„œ๋Š” ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์•„๋ž˜์˜ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค.

โ‘  ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

โ‘ก ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์„ฑ๊ณต์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

โ‘ข ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ฆฌํŒฉํ† ๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ ์ด ๊ท€์ฐฎ๊ณ  ์˜คํžˆ๋ ค ๋Š๋ฆฌ๊ฒŒ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋Š๋‚Œ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ๋ณ€๊ฒฝ๋˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€์ฒ˜ํ•˜๊ธฐ๋„ ์‰ฝ๊ณ  ๋‹จ์œ„ ๋ณ„๋กœ ํ…Œ์ŠคํŠธ๊ฐ€ ์šฉ์ดํ•ด ๊ฐœ๋ฐœ ๋น„์šฉ์„ ์•„๊ปด์ค„ ๊ฒƒ์ด๋‹ค.

 

์ฐธ๊ณ ์ž๋ฃŒ ๋ฐ ์ถœ์ฒ˜ ๐Ÿ™‡‍โ™‚๏ธ

https://mangkyu.tistory.com/143

 

[TDD] ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test) ์ž‘์„ฑ์˜ ํ•„์š”์„ฑ (1/3)

1. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ vs ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ฐจ์ด [ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test) ] ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test)๋Š” ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์„ ๊ธฐ์ค€์œผ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๋ชจ๋“ˆ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—

mangkyu.tistory.com

 

'๊ฐœ๋ฐœ ํŒ > ์„œ๋น„์Šค & ์•„ํ‚คํ…์ฒ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

DevOps  (0) 2022.03.23
ํ•˜๋“œ์›จ์–ด ๊ฐ€์ƒํ™” ์ข…๋ฅ˜  (0) 2022.03.22
docker  (0) 2022.03.11
SOA (Service Oriented Architecture)  (0) 2022.03.08
MSA (MicroService Architecture)  (0) 2022.03.08

๋Œ“๊ธ€