์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ… ์ž…๋ฌธ - C++

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ๊ฐœ๋ฐœํ•œ ์ฝ”๋“œ์— ์ข€ ๋” ์ž์‹ ๊ฐ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ๋„์›€์„ ์ฃผ๋Š” ํ…Œ์ŠคํŒ… ๊ธฐ์ดˆ๋ฅผ ์Šต๋“ํ•ฉ๋‹ˆ๋‹ค

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ, TDD] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ…์˜ ์ค‘์š”์„ฑ ๋ฐ ์‚ฌ๋ก€

  • ๋ช…์„ธ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ…

  • ๊ตฌ์กฐ์  ํ…Œ์ŠคํŒ…

  • ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ…

  • ์Šคํ…๊ณผ ๋ชจ์˜ ๊ฐ์ฒด ์‚ฌ์šฉ๋ฒ•

  • ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ ๊ธฐ์ดˆ

SW ํ…Œ์ŠคํŒ… ์ˆ˜์—… ์†Œ๊ฐœ

์•ˆ๋…•ํ•˜์„ธ์š”? ์ด๋ฒˆ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŒ… ์ž…๋ฌธ ์ˆ˜์—…์„ ์ค€๋น„ํ•œ ๋ฌธ์ˆ˜์˜์ž…๋‹ˆ๋‹ค.

์—…๋ฌด์— ํ•„์š”ํ•˜์—ฌ SW ํ…Œ์ŠคํŒ… ๊ด€๋ จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€๋‹ค๊ฐ€ ์ด๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์—…์„ ๊ฐœ์„คํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜์—…์ด ์ž์‹ ์ด ์ง  ์ฝ”๋“œ์— ์ข€ ๋” ํ™•์‹ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ์ฒด๊ณ„์ ์ธ ํ…Œ์ŠคํŒ… ๊ธฐ๋ฒ•์„ ์Šต๋“ํ•˜๊ธฐ ์œ„ํ•œ ๋””๋”ค๋Œ ์—ญํ• ์„ ํ–ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ์ˆ˜์—…์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด 6๊ฐœ ์„น์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค


  • Why SW ํ…Œ์ŠคํŒ… - SW ํ…Œ์ŠคํŒ…์˜ ์ค‘์š”์„ฑ๊ณผ ํ•จ๊ป˜ ๊ธฐ๋ณธ ๊ฐœ๋…, ๋ฒ„๊ทธ ์‚ฌ๋ก€ ๋“ฑ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค

  • ๋ช…์„ธ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ… - ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์œผ๋กœ, ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๋„์ถœ ๋“ฑ์„ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค

  • ๊ตฌ์กฐ์  ํ…Œ์ŠคํŒ… - ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ŠคํŒ…์˜ ์™„์„ฑ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค

  • ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ… - ํ”„๋กœ๊ทธ๋žจ ์†์„ฑ์„ ์ •์˜ํ•˜๊ณ  ์ž๋™ํ™”๋œ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ ํ…Œ์ŠคํŒ… ๋ฐฉ๋ฒ•์„ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค

  • ์Šคํ…๊ณผ ๋ชจ์˜ ๊ฐ์ฒด - ๋‹จ์œ„ ํ…Œ์ŠคํŒ…์—์„œ ๋ชจ๋“ˆ ๊ฐ„ ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค

  • TDD - ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฐ˜์„ ๋‹ค์ง‘๋‹ˆ๋‹ค

์ˆ˜์—… ์ž๋ฃŒ ๋ฐ ๊ธฐ๋Œ€ํšจ๊ณผ

๋ณธ ์ˆ˜์—…์˜ ๋‚ด์šฉ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ต์žฌ (Effective Software Testing (์ €์ž: ๋งˆ์šฐ๋ฆฌ์‹œ์˜ค ์•„๋‹ˆ์‹œ, JPUB ์ถœํŒ์‚ฌ) ์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ, ์ˆ˜์—…์— ์‚ฌ์šฉ๋˜๋Š” ์˜ˆ์ œ๋Š” ๋Œ€๋ถ€๋ถ„ ๊ต์žฌ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ์ œ๊ฐ€ ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ˆ˜์—…์— ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๋Š” ํ˜„์žฌ ๋ณด๊ณ  ๊ณ„์‹œ๋Š” ๊ฐ•์˜ ์˜์ƒ๊ณผ ์Šฌ๋ผ์ด๋“œ ์ž๋ฃŒ, ์˜ˆ์ œ ์†Œ์Šค ์ฝ”๋“œ์™€ ์ฐธ๊ณ ์ž๋ฃŒ ๋ชฉ๋ก์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ์ž๋ฃŒ๋Š” SW ํ…Œ์ŠคํŒ…์— ๊ด€ํ•ด ๋ณด๋‹ค ์ž˜ ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์ด ๋  ์ž๋ฃŒ๋กœ ๋งํฌ ํ˜น์€ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ด ์ˆ˜์—…์€ SW ํ…Œ์ŠคํŒ…์— ๊ด€ํ•œ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ๊ธฐ๋ณธ ์œ„์ฃผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฏธ ์—…๊ณ„์—์„œ SW ํ…Œ์ŠคํŒ…์„ ์˜ค๋žซ๋™์•ˆ ํ™œ์šฉํ•˜์‹  ๋ถ„๋“ค๋ณด๋‹ค๋Š” ํ•™์ƒ ๋˜๋Š” ์‹ ์ž… ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์—๊ฒŒ ๋” ์œ ์šฉํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค.

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

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ์— ์กฐ๊ธˆ ๋” ์ž์‹ ๊ฐ์„ ๊ฐ–๊ณ  ์‹ถ์€ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž

  • ์ง€๊ธˆ๊นŒ์ง€ ๋ฌด์‹ฌ์ฝ” ํ•ด ์™”๋˜ ํ…Œ์ŠคํŒ…์„ ๋ณด๋‹ค ์ฒด๊ณ„์ ์œผ๋กœ ํ•˜๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • C/C++ ์–ธ์–ด ๊ธฐ์ดˆ

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๊ธฐ์ดˆ

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฌธ์ˆ˜์˜์ž…๋‹ˆ๋‹ค.

26

๋ช…

์ˆ˜๊ฐ•์ƒ

3

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1

๊ฐœ

๋‹ต๋ณ€

4.3

์ 

๊ฐ•์˜ ํ‰์ 

1

๊ฐœ

๊ฐ•์˜

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

10๊ฐœ โˆ™ (1์‹œ๊ฐ„ 33๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!