๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/Code-States

[D+11] ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ ๋Š๋‚€ ์ 

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2020. 9. 17.

 

D+11

-  ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋ฉด์„œ ๋Š๋‚€ ์  -

(TDD)

 


 

 

์ด์ „์— ๋‚ด๊ฐ€ ์ ์—ˆ์—ˆ๋˜ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ

์•„๋ฌด๋ž˜๋„ ๋‚ด๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ํ•ด๋ณด๊ธฐ ์ „์ด๋ผ์„œ ๊ทธ๋Ÿฐ๊ฐ€

๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ์ด ๋‹ด๊ฒจ์žˆ์„ ๋ฟ ์ •์ž‘ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋ถ€์กฑํ•œ ๋Š๋‚Œ์ด ๋“ ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ๋‚˜๋Š” ํŽ˜์–ด ๋ถ„๊ณผ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ง์ ‘ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์•˜๊ณ 

๊ทธ ๊ฒฐ๊ณผ ์ด ๊ณผ์ •์ด ๊ฝค๋‚˜ ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋Š๋ผ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์ง์ ‘ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋ฉด์„œ ๋Š๊ผˆ๋˜ ๊ฒƒ์— ๋Œ€ํ•ด

๊ฐ„๋žตํ•˜๊ฒŒ ๊ธฐ๋ก์„ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

" Test Driven Development "

 

TDD๋Š” ๋ฒˆ์—ญ ๊ทธ๋Œ€๋กœ ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์ด๋ผ๋Š” ๋œป์œผ๋กœ

ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋งŒ๋“  ํ›„์— ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

๋ณดํ†ต ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ๋ฅผ ์™„์„ฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ

์ฝ”๋“œ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•œ ํ›„ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ TDD๋Š” ์‹คํ–‰์ด ์šฐ์„ ์ด ์•„๋‹Œ

์ฝ”๋“œ์— ๋Œ€ํ•œ ๊ตฌ์ƒ์„ ์ด๋ฏธ ๋‹ค ์ƒ๊ฐํ•œ ํ›„, ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด

๊ฐ€์žฅ ๋‚˜์€ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด ์šฐ๋ฆฌ๋Š” ์ง‘์„ ๋งŒ๋“ค ์˜ˆ์ •์ด๋‹ค.

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ๋‹ค์Œ์—๋Š” ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

 

๋ฐ”๋กœ ์ง‘์„ ์ง“๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋ฅผ ์งœ์•ผํ•œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ง‘์„ ์ง“๊ธฐ ์œ„ํ•ด ์–ด๋Š ์ •๋„ ๊ตฌ์ƒ์„ ํ•œ ํ›„ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ์‹œ๋„๋ฅผ ํ†ตํ•ด

๋” ๋‚˜์€ ์„ค๊ณ„๋„๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์ด TDD์˜ ์—ญํ• ๊ณผ ๋น„์Šทํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

์ด๋Ÿฐ ๊ณผ์ •์ด ์—†๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜๋Š” ์žˆ๊ฒ ์ง€๋งŒ

ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”ํ›„์— ๋‚ด๊ฐ€ ์ฐพ์ง€ ๋ชปํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜

๊น”๋”ํ•˜์ง€ ๋ชปํ•œ ๋‚œ์žกํ•œ ์ฝ”๋“œ๋กœ ์šฐ๋ฆฌ์˜ ๋ˆˆ์ด ๋ถˆํŽธํ•  ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— TDD๋Š” ๊ฐ€์žฅ ๋‚˜์€ ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป๊ธฐ ์œ„ํ•ด

๊ฑฐ์ณ์•ผ ํ•˜๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 

 


 

 

ํŽ˜์–ด ์‹œ๊ฐ„์— ๋‚˜๋Š” ์ด ๊ณผ์ •์„ ์ง์ ‘ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์•˜๊ณ 

ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋ฉด์„œ ๋Š๋‚€ ๊ฒƒ์€

์‹œ๊ฐ„์ด ๊ฝค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

 

์™œ๋ƒํ•˜๋ฉด ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ํ…Œ์ŠคํŠธ์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋“ค์„ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ

์ˆ˜์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๊ฝค ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.

 

๋˜ํ•œ ์ด๋ฒˆ ํŽ˜์–ด ์‹œ๊ฐ„์— ๋‚ด๊ฐ€ ๋‚ด๋น„๊ฒŒ์ดํ„ฐ ์—ญํ• ์„ ๋งก์•˜๊ธฐ ๋•Œ๋ฌธ์—

๋‚˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ฐ”๋ผ๋ณด๋ฉด์„œ

์ง€์‹œ๋ฅผ ํ•˜๋Š” ์—ญํ• ์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์—

์ง์ ‘ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‹ต๋‹ตํ•จ์ด ์กฐ๊ธˆ ์žˆ์—ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ์šฐ๋ฆฌ๋Š” ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๊ณ 

๋‚ด๊ฐ€ ๋‹ต๋‹ตํ•จ์„ ๋Š๊ผˆ๋˜ ์ˆœ๊ฐ„์ด ๊ต‰์žฅํžˆ ์–ด๋ฆฌ์„์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๊ฐ„๋žตํ•œ ํ›„๊ธฐ์™€ ์ƒ๊ฐ์„ ์ ์–ด๋ณด์ž๋ฉด

TDD๊ณผ์ •์€ ํ˜ผ์ž ์ง„ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ

ํŽ˜์–ด์™€ ํ•จ๊ป˜ํ•˜๋Š” ์ˆœ๊ฐ„ ๋”์šฑ ๋น›์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 

TDD๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด ์ˆ˜๋งŽ์€ ์˜ค๋ฅ˜์— ์ขŒ์ ˆํ•  ๊ฒƒ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด

๋”์šฑ ์ฐฝ์˜์ ์ด๊ณ  ์ƒˆ๋กœ์šด ํ•ด๊ฒฐ๋ฐฉ์•ˆ์„ ๋‚ด๋†“์•„์•ผ ํ•  ์ˆœ๊ฐ„์ด ์˜ฌ ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ์ž ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜‘๋ ฅ์„ ํ•˜๋Š” ๊ฒƒ์ด

๋”์šฑ ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

๊ฒฐ๋ก ์€ ์šฐ๋ฆฌ๋Š” ์‹ค์ „์— ๊ฐ€์„œ ์ด๋Ÿฌํ•œ ๊ณผ์ •๋“ค์„ ๊ฒช์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์šฐ๋ฆฌ๋Š” ํŽ˜์–ด์™€์˜ ์›ํ™œํ•œ ์†Œํ†ต์„ ์œ„ํ•ด ๋Š์ž„์—†์ด ์—ฐ์Šตํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€