๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿญ ํด๋ฆฐ ์• ์ž์ผ

P.130 ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœโ€‹

๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์• ์ž์ผ์„ ์‹œ๋„ํ•  ๋•Œ ๊ธฐ์ˆ  ์‹ค์ฒœ ๋ฐฉ๋ฒ•์€ ๋นผ๋†“๋Š”๋‹ค. ๊ธฐ์ˆ  ์‹ค์ฒœ ๋ฐฉ๋ฒ•์ด์•ผ๋ง๋กœ ์• ์ž์ผ์˜ ์ง„์งœ ํ•ต์‹ฌ์ด๊ธฐ ๋–„๋ฌธ์ด๋‹ค. TDD์™€ ๋ฆฌํŒฉํ„ฐ๋ง, ๋‹จ์ˆœํ•œ ์„ค๊ณ„, ์‹ฌ์ง€์–ด ์ง ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋„ ์—†๋‹ค๋ฉด, ์• ์ž์ผ์€ ์›๋ž˜ ์˜๋„์™€๋Š” ๋‹ฌ๋ฆฌ ์“ธ๋ชจ์—†๋Š” ๋นˆ ๊ป๋ฐ๊ธฐ๊ฐ€ ๋˜๊ณ  ๋งŒ๋‹ค.

ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๋ณต์‹ ๋ถ€๊ธฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๋™์ž‘์„ ๋‘ ๋ฒˆ์”ฉ ์ž…๋ ฅํ•œ๋‹ค. ํ•œ ๋ฒˆ์€ ํ…Œ์ŠคํŠธ๋กœ, ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋ฒˆ์€ ์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ œํ’ˆ ์ฝ”๋“œ๋กœ ๋ง์ด๋‹ค. ๋‘ ๋ฒˆ์˜ ์ž…๋ ฅ์€ ์„œ๋กœ ๋”ฑ ๋งž์•„์•ผ ํ•œ๋‹ค.

TDD๋ฅผ ๊ณต๋ถ€ํ•  ๋–„, ๊ธฐ๋Šฅ์„ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ๋งŒ ์ถ”๊ฐ€ํ•œ๋‹ค. ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋จผ์ € ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•˜๊ณ , ์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ œํ’ˆ ์ฝ”๋“œ ํ˜•ํƒœ๋กœ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

TDD์˜ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™โ€‹

  1. ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์—†์–ด์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์“ฐ๊ธฐ ์ „์— ์ œํ’ˆ ์ฝ”๋“œ๋ฅผ ๋จผ์ € ์“ฐ๋ฉด ์•ˆ ๋œ๋‹ค.
  2. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์“ธ ๋•Œ๋Š” ์‹คํŒจํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์ด ์“ฐ๋ฉด ์•ˆ ๋œ๋‹ค. ์ปดํŒŒ์ผ ์‹คํŒจ๋„ ์‹คํŒจ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.
  3. ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ฝ”๋“œ๋ณด๋‹ค ๋” ๋งŽ์€ ์ œํ’ˆ ์ฝ”๋“œ๋ฅผ ์“ฐ๋ฉด ์•ˆ ๋œ๋‹ค.

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

๋”” ๋ฒ„๊น…์— ๋งŽ์€ ์‹œ๊ฐ„์„ ์“ด๋‹ค๋Š” ๊ฒƒ์€ ์–ธ์ œ๋‚˜ ๊ทธ๋งŒํผ ๋ฒ„๊ทธ๊ฐ€ ๋งŽ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ๋””๋ฒ„๊ฑฐ๋ฅผ ์“ธ ์ผ์ด ๋ณ„๋กœ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊ฑฐ์— ์ต์ˆ˜ํ•ด์งˆ ์ˆ˜๊ฐ€ ์—†๋‹ค.

๋ฌธ์„œํ™”โ€‹

์ด ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋‹ค๋ณด๋ฉด ๋งŒ๋“ค์–ด์ง€๋Š” ํ…Œ์ŠคํŠธ๋Š” ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์ฝ”๋“œ ์˜ˆ์ œ๊ฐ€ ๋œ๋‹ค. API ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ€๋ฅด๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ํ…Œ์ŠคํŠธ๋ฅผ ๋ณด๋ฉด ๋œ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” ์ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ฃผ๊ณ , ์ด ํ•จ์ˆ˜๊ฐ€ ๋˜์ง€๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ค„ ๊ฒƒ์ด๋‹ค.

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

๋” ์ข‹์€ ๊ฒƒ์€ ํ…Œ์ŠคํŠธ ์ž์ฒด๋งŒ์œผ๋กœ๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ…Œ์ŠคํŠธ๋ผ๋ฆฌ๋Š” ์„œ๋กœ ๋ฌถ์—ฌ ์žˆ์ง€ ์•Š๋‹ค. ํ…Œ์ŠคํŠธ ๊ฐ„์—๋Š” ์˜์กด์„ฑ๋„ ์—†๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ๋Š” ์‹œ์Šคํ…œ ์ค‘ ์ž‘์€ ๋ถ€๋ถ„์˜ ๋™์ž‘์„ ์„ค๋ช…ํ•˜๋Š” ์ž‘๊ณ  ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ ์กฐ๊ฐ์ผ ๋ฟ์ด๋‹ค.

์žฌ๋ฏธโ€‹

์ œํ’ˆ์„ ๋‹ค ๋งŒ๋“  ์ดํ›„์— ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด ๋ณธ ์ ์ด ์žˆ๋‹ค๋ฉด, ์žฌ๋ฏธ์—†๋Š” ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ๊ฒƒ์ด๋‹ค. ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋‹ˆ ์žฌ๋ฏธ๊ฐ€ ์—†๋‹ค.

์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋”ฐ๋ผ์„œ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๋ฉด ์žฌ๋ฏธ์žˆ๋‹ค. ํ…Œ์ŠคํŠธ ํ•˜๋‚˜๊ฐ€ ๋ชจ๋‘ ๋„์ „์ด๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“ค ๋•Œ๋งˆ๋‹ค ์ž‘์€ ์„ฑ๊ณต์„ ๊ฑฐ๋‘๋Š” ๊ฒƒ์ด๋‹ค. ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค๋ฉด ์ž‘์—… ๊ณผ์ •์€ ์ž‘์€ ๋„์ „๊ณผ ์„ฑ๊ณต์˜ ์—ฐ์†์ด ๋œ๋‹ค.

์™„๋ฒฝํ•จโ€‹

์‚ฌํ›„ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€๋Š” ์ด๋ฏธ ์†์œผ๋กœ ํ…Œ์ŠคํŠธํ•ด ๋ด์„œ ์ž˜ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ, ์˜๋ฌด๊ฐ์— ํ…Œ์ŠคํŠธ๋ฅผ ์“ฐ๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋Š” ๊ฒƒ์€ ๋‹น์—ฐํ•œ ์ผ์ด๋‹ค.

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

์ผ์ •์€ ๋นก๋นกํ•˜๊ณ , ๋” ๊ธ‰ํ•œ ์ผ์ด ๋งŽ์ด ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค. ์ผ๋‹จ ํ…Œ์ŠคํŠธ๋Š” ์ €๋ฆฌ ์น˜์›Œ๋†“์ž. ํ…Œ์ŠคํŠธ๋Š” ๊ตณ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๊ฑฐ๋‚˜, ๋‚˜์ค‘์— ๋Œ์•„์™€์„œ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ž๊ธฐ ํ•ฉ๋ฆฌํ™”๋ฅผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ…Œ์ŠคํŠธ์— ๊ตฌ๋ฉ์„ ๋‚จ๊ฒจ๋†“๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•œ๋‹ค๊ณ  ํ•ด์„œ, ์ด๊ฒƒ์„ ๊ทผ๊ฑฐ๋กœ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒฐ์ •์€ ์—†๋‹ค. ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๋กœ ์–ป์€ ์ •๋ณด๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ๊นจ์ง€์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ๋ฟ์ด๋‹ค. ๋ถˆ์™„์ „ํ•œ ํ…Œ์ŠคํŠธ ๋ฌถ์Œ์œผ๋กœ๋Š” ์•„๋ฌด๋Ÿฐ ๊ฒฐ์ •์€ ํ•  ์ˆ˜ ์—†๋‹ค. ํ•˜์ง€๋งŒ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ์ž˜ ๋”ฐ๋ž๋‹ค๋ฉด, ๋ชจ๋“  ์ œํ’ˆ ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ์“ด ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ…Œ์ŠคํŠธ ๋ฌถ์Œ์ด ์•„์ฃผ ์™„๋ฒฝํ•  ๊ฒƒ์ด๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ–ˆ๋‹ค๋ฉด ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ๊ฒฐ์ •์€ ๋ฐ”๋กœ "๋ฐฐํฌ"๋‹ค.

์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋ฉด ์•„์ฃผ ์™€๋ฒฝํ•œ ํ…Œ์ŠคํŠธ ๋ฌถ์Œ์ด ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์•„๋งˆ 100% ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๋‹ค. ์‚ฌ์‹ค ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ํ˜„์‹ค์ ์ด์ง€ ์•Š์€ ์ƒํ™ฉ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์•„๋ฌด๋ฆฌ ์„ฑ์‹คํ•˜๊ฒŒ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋”๋ผ๋„ 100% ์™„๋ฒฝํ•œ ํ…Œ์ŠคํŠธ ๋ฌถ์Œ์ด ๋งŒ๋“ค์–ด์ง€์ง€๋Š” ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ๊ผญ 100%์˜ ์™„๋ฒฝํ•จ์ด ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ 90%๋Œ€ ํ›„๋ฐ˜ ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ •๋„๋Š” ๋‹น์—ฐํžˆ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋Š” ๋ฐฐํฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์„ ๋งŒํผ ์™„๋ฒฝํ•œ ํ…Œ์ŠคํŠธ ๋ฌถ์Œ์„ ๋งŒ๋“ค์–ด ์™”๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ํ•˜๋Š” ๊ฒƒ๋„ ๋ด ์™”๋‹ค. ์ด๋Ÿฐ ์‚ฌ๋ก€์—์„œ๋„ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” 100%๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐํฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ ์ถฉ๋ถ„ํ–ˆ๋‹ค.

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

์„ค๊ณ„โ€‹

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

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

์šฉ๊ธฐโ€‹

TDD๋ฅผ ํ•˜๋Š” ์ง„์ •ํ•œ ์ด์œ ๋Š” ์šฉ๊ธฐ์ด๋‹ค.

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

๊ฒฐ๊ตญ ๊ด€๋ฆฌ์ž๋Š” ์ขŒ์ ˆํ•  ๊ฒƒ์ด๊ณ  ์‹œ์Šคํ…œ ๋ฐ‘๋ฐ”๋‹ฅ์—์„œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋งŒ๋“ค์ž๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์˜ ์š”๊ตฌ๋ฅผ ์ˆ˜์šฉํ•˜๊ณ  ๋งŒ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ญ์‚ฌ๋Š” ๋ฐ˜๋ณต๋  ๊ฒƒ์ด๋‹ค.

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

P.140 ๋ฆฌํŒฉํ„ฐ๋งโ€‹

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

๋‹น์—ฐํžˆ ๋ฆฌํŒฉํ„ฐ๋ง์€ TDD์™€ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ๋‹ค. ๋‘๋ ค์›€ ์—†์ด ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋ ค๋ฉด, ๋ฌด์–ธ๊ฐ€ ๊บ  ๋จน์ง€ ์•Š์•˜๋‹ค๋Š” ํ™•์‹ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ํ…Œ์ŠคํŠธ ๋ฌถ์Œ์ด ํ•„์š”ํ•˜๋‹ค.

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

๋นจ๊ฐ•/์ดˆ๋ก/๋ฆฌํŒฉํ„ฐ๋งโ€‹

๋ณธ์งˆ์ ์œผ๋กœ ๋ฆฌํŒฉํ„ฐ๋ง์€ TDD์˜ ์„ธ ๊ฐ€์ง€ ๊ทœ์น™์„ ๋ฐ˜๋ณตํ•จ์œผ๋กœ์จ ์ด๋ฃจ์–ด์ง„๋‹ค.
๋ฆฌํŒฉํ„ฐ๋ง์—์„œ๋Š” ๋นจ๊ฐ•/์ดˆ๋ก/๋ฆฌํŒฉํ„ฐ๋ง ์ฃผ๊ธฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

  1. ๋จผ์ €, ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค.
  2. ๊ทธ๋ฆฌ๊ณ  ์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.
  3. ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•œ๋‹ค.
  4. 1๋‹จ๊ณ„๋กœ ๋Œ์•„๊ฐ„๋‹ค.

์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๋Š” ๊ณผ์—…์„ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š” ๊ฒƒ๊ณผ ์ •๋ฆฌํ•˜๊ธฐ๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ธก๋ฉด์œผ๋กœ ๋ถ„๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค. ๋‘ ๊ฐ€์ง€ ์ธก๋ฉด์„ ๋™์‹œ์— ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ์–ด๋ ค์šธ ์ˆ˜๋ฐ–์— ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋‘ ๊ฐ€์ง€ ์ธก๋ฉด์„ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํ™œ๋™์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.

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

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

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

๋” ํฐ ๋ฆฌํŒฉํ„ฐ๋งโ€‹

๊ฐ€๋”์€ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋ฐ”๋€Œ์–ด์„œ ํ˜„์žฌ์˜ ์„ค๊ณ„๋‚˜ ๊ตฌ์„ฑ์ด ๋”๋Š” ์ตœ์ ์ด ์•„๋‹ˆ๊ฒŒ ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋ฅผ ๊ฝˆ ๋งŽ์ด ๋ฐ”๊ฟ”์•ผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ณ€๊ฒฝ๋„ ๋นจ๊ฐ•/์ดˆ๋ก/๋ฆฌํŒฉํ„ฐ๋ง ์ฃผ๊ธฐ ์•ˆ์—์„œ ์ผ์–ด๋‚˜์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ์„ค๊ณ„ ๋ณ€๊ฒฝ์€ ๋ฉฐ์น , ๋ช‡ ์ฃผ, ์•„๋‹ˆ๋ฉด ๋ช‡ ๋‹ฌ์ด ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๊ณผ์ •๋‚ด๋‚ด ์‹œ์Šคํ…œ์˜ ํ…Œ์ŠคํŠธ๋Š” ๊ณ„์†ํ•ด์„œ ํ†ต๊ณผํ•ด์•ผ ํ•œ๋‹ค. ์„œ๋น„์Šค ๋ฐฐํฌ๋„ ๊ณ„์†ํ•ด์„œ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. ์„ค๊ณ„ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ์ด๊ด€ ์ž‘์—…์ด ์™„์ „ํžˆ ๋๋‚˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์ด๋”๋ผ๋„ ๋ง์ด๋‹ค.