๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 2

๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก : ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ด๋Œ์–ด๊ฐ€๋Š” ์ง€์นจ์„œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก : ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ด๋Œ์–ด๊ฐ€๋Š” ์ง€์นจ์„œ 1. ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์˜ ๊ฐœ๋…๊ณผ ์œ ๋ž˜ 1.1. ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ด๋ž€? ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ณ„ํš, ์‹คํ–‰, ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ์™€ ์›์น™์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํŒ€์˜ ํ˜‘์—…, ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ, ํ’ˆ์งˆ ํ–ฅ์ƒ ๋“ฑ์— ์ค‘์ ์„ ๋‘์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ด๋Œ์–ด๊ฐ€๊ธฐ ์œ„ํ•œ ์ง€์นจ์„œ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1.2. ์œ ๋ž˜ ์ฒ˜์Œ์œผ๋กœ ๋ช…ํ™•ํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ด ์ ์šฉ๋œ ํ”„๋กœ์ ํŠธ๋Š” 1950๋…„๋Œ€ ํ›„๋ฐ˜์˜ NASA์˜ Apollo ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ž˜๋กœ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋ก ์ด ๋“ฑ์žฅํ•˜๊ณ  ๋ฐœ์ „ํ•ด์™”์œผ๋ฉฐ, ๊ฐ๊ฐ์˜ ๋ฐฉ๋ฒ•๋ก ์€ ํŠน์ •ํ•œ ํ™˜๊ฒฝ๊ณผ ๋ชฉ์ ์— ๋งž๊ฒŒ ์กฐ์ •๋˜์–ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 2. ์ฃผ์š” ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  ์†Œ๊ฐœ 2.1. ํญํฌ์ˆ˜ ๋ชจ๋ธ(Waterfall Model) ์„ค๋ช…: ์ˆœ์ฐจ์ ์ธ ๊ฐœ๋ฐœ ๊ณผ์ •์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ํ•œ ๋‹จ.. 2024. 2. 22.
TDD(Test-Driven Development) ์†Œ๊ฐœ์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ• TDD(Test-Driven Development) ์†Œ๊ฐœ์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ• 1. TDD๋ž€? 1.1 TDD์˜ ๊ฐœ๋… TDD๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜๋กœ, ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ•ด๋‹น ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผ๋˜๋„๋ก ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฐœ๋ฐœ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ ํ–ฅ์ƒ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด์„ฑ์„ ๋„๋ชจํ•˜๋Š”๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. 1.2 TDD์˜ ์›์น™ TDD๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. Red (๋นจ๊ฐ•): ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. Green (์ดˆ๋ก): ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. Refactor (๋ฆฌํŒฉํ„ฐ): ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ณ  ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. 2. TDD์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ 2.1 ํ’ˆ์งˆ ํ–ฅ์ƒ TDD๋Š” ์ดˆ๊ธฐ์— ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ•ด๊ฒฐํ•จ์œผ๋กœ์จ ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ๋ฒ„๊ทธ๋ฅผ.. 2024. 2. 13.