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

๐Ÿญ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ

Chapter 2: ํƒ€๋ฝํ•œ ๊ฐ์ฒดโ€‹

์ผ๋ฐ˜์ ์ธ TDD ์ฃผ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

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

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

๋‹ค์Œ์€ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์ดˆ๋ก์ƒ‰์„ ๋ณด๊ธฐ ์œ„ํ•ด ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด๊ฐ€ ์•„๋Š” ์„ธ ์ „๋žต ์ค‘ ๋‘ ๊ฐ€์ง€๋‹ค.

  • ๊ฐ€์งœ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ: ์ƒ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์ง„์งœ ์ฝ”๋“œ๋ฅผ ์–ป์„ ๋•Œ๊นŒ์ง€ ๋‹จ๊ณ„์ ์œผ๋กœ ์ƒ์ˆ˜๋ฅผ ๋ณ€์ˆ˜๋กœ ๋ฐ”๊พธ์–ด ๊ฐ„๋‹ค.
  • ๋ช…๋ฐฑํ•œ ๊ตฌํ˜„ ์‚ฌ์šฉํ•˜๊ธฐ: ์‹ค์ œ ๊ตฌํ˜„์„ ์ž…๋ ฅํ•œ๋‹ค.

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

Chapter 4: ํ”„๋ผ์ด๋ฒ„์‹œโ€‹

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

Chapter 5: ์†”์งํžˆ ๋งํ•˜์ž๋ฉดโ€‹

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

  1. ํ…Œ์ŠคํŠธ ์ž‘์„ฑ.
  2. ์ปดํŒŒ์ผ๋˜๊ฒŒ ํ•˜๊ธฐ.
  3. ์‹คํŒจํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰.
  4. ์‹คํ–‰ํ•˜๊ฒŒ ๋งŒ๋“ฆ.
  5. ์ค‘๋ณต ์ œ๊ฑฐ.

๊ฐ ๋‹จ๊ณ„์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ชฉ์ ์ด ์žˆ๋‹ค. ๋‹ค๋ฅธ ์Šคํƒ€์ผ์˜ ํ•ด๋ฒ•, ๋‹ค๋ฅธ ๋ฏธ์  ์‹œ๊ฐ„์„ ํ•„์š”๋กœ ํ•œ๋‹ค. ์ฒ˜์Œ ๋„ค ๋‹จ๊ณ„๋Š” ๋นจ๋ฆฌ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ƒˆ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜๋”๋ผ๋„ ์ž˜ ์•Œ๊ณ  ์žˆ๋Š” ์ƒํƒœ์— ์ด๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

์ฃผ๊ธฐ์˜ ๋‹ค์„ฏ ๋ฒˆ์งธ ๋‹จ๊ณ„ ์—†์ด๋Š” ์•ž์˜ ๋„ค ๋‹จ๊ณ„๋„ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ ์ ˆํ•œ ์‹œ๊ธฐ์— ์ ์ ˆํ•œ ์„ค๊ณ„๋ฅผ. ๋Œ์•„๊ฐ€๊ฒŒ ๋งŒ๋“ค๊ณ , ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด๋ผ.
์ฝ”๋“œ์—์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ํŒŒํŠธ๋„ˆ๋ฅผ ์ œ์™ธํ•œ ์–ด๋Š ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ๋ณด์—ฌ์ฃผ๋ ค๊ณ  ํ•˜์ง€ ์•Š์„ ๊ฑฐ๋ผ๋Š” ํ™•์‹ ์ด ๋“ ๋‹ค.