์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

๋” ์ž๋ฐ”, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•

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

Thumbnail

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

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

  • ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์šด์˜ ํ™˜๊ฒฝ ์ด์Šˆ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

  • JUnit 5, Mockito, Testcontainers, Chaos Monkey for Spring Boot, JMeter, ArchUnit


๊ทธ๋ƒฅ ๊ฐœ๋ฐœ์ž๋ฅผ ๋„˜์–ด "๋” ๋‚˜์€ ๊ฐœ๋ฐœ์ž"๊ฐ€ ๋˜๊ณ  ์‹ถ๋‹ค๋ฉด...
์ ์ ˆํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ค„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ•์ขŒ์—์„œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜์„ธ์š”.

๐Ÿ—’ ๊ฐ•์˜์†Œ๊ฐœ

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

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•๊ณผ ๋„๊ตฌ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ๋จผ์ €, ํ…Œ์ŠคํŠธ ์ž‘์„ฑํ•˜๋Š” ์ž๋ฐ” ๊ฐœ๋ฐœ์ž 90%๊ฐ€ ๋„˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” JUnit ์ตœ์‹  ๋ฒ„์ „์„ ํ•™์Šตํ•˜์—ฌ ์ž๋ฐ”๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์œผ๋กœ Mockito๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ํ•˜๋ ค๋Š” ์ฝ”๋“œ์˜ ์˜์กด์„ฑ์„ ๊ฐ€์งœ๋กœ ๋งŒ๋“ค์–ด ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋„์ปค(Docker)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Testcontainers๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์œผ๋กœ๋Š” ๊ด€์ ์„ ์กฐ๊ธˆ ๋ฐ”๊ฟ”์„œ JMeter๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ์นด์˜ค์Šค ๋ฉํ‚ค (Chaos Monkey for Spring Boot)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์šด์˜ ์ด์Šˆ๋ฅผ ๋กœ์ปฌ์—์„œ ์žฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ณ 
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ArchUnit์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ•์ขŒ๋ฅผ ํ•™์Šตํ•˜๊ณ  ๋‚˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„์€ ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์Šต๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์—…๋ฌด์™€ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. 

๐Ÿ™Œ ์—ฌ๊ธฐ์„œ ๋‹ค๋ฃจ๋Š” ํˆด

JUnit 5, Mockito, Testcontainers, JMeter, Chaos Monkey for Spring Boot, ArchUnit

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

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

  • ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ•™์Šตํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํ•™์ƒ ๋˜๋Š” ๊ฐœ๋ฐœ์ž

  • ์—ฌ๋Ÿฌ ์ƒํ™ฉ์— ์ ํ•ฉํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์€ ํ•™์ƒ ๋˜๋Š” ๊ฐœ๋ฐœ์ž

  • ๋„์ปค์™€ ์Šคํ”„๋ง์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ํ•™์Šตํ•˜๊ณ  ์žˆ๋Š” ํ•™์ƒ ๋˜๋Š” ๊ฐœ๋ฐœ์ž

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

  • ์ž๋ฐ”

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฐฑ๊ธฐ์„ ์ž…๋‹ˆ๋‹ค.

91,263

๋ช…

์ˆ˜๊ฐ•์ƒ

4,052

๊ฐœ

์ˆ˜๊ฐ•ํ‰

2,009

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

20

๊ฐœ

๊ฐ•์˜

๋„ค์ด๋ฒ„์™€ ์•„๋งˆ์กด์„ ๊ฑฐ์ณ ํ˜„์žฌ Microsoft์—์„œ ์‹œ๋‹ˆ์–ด ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

์œ ํŠœ๋ธŒ:
'๋ฐฑ๊ธฐ์„ ' ์ฑ„๋„์—์„œ ๊ฐœ๋ฐœ์ž ๊ณ ๋ฏผ ์ƒ๋‹ด ๋ฐ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์œ ์šฉํ•œ ์ง€์‹ ๊ณต์œ 
๋ฒˆ์—ญ: ์Šคํ”„๋ง ๋ฐ ํ•˜์ด๋ฒ„๋„ค์ดํŠธ ๊ด€๋ จ ์„œ์  ๋‹ค์ˆ˜ ๋ฒˆ์—ญ
์ €์ˆ : ์‰ฝ๊ฒŒ ๋”ฐ๋ผํ•˜๋Š” ์ž๋ฐ” ์›น ๊ฐœ๋ฐœ

๋”๋ณด๊ธฐ

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

์ „์ฒด

43๊ฐœ โˆ™ (5์‹œ๊ฐ„ 56๋ถ„)

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

์ˆ˜๊ฐ•ํ‰

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