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

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

ํ†ต๊ณ„์ ์œผ๋กœ ๋งํ•˜๋ฉด, ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฐํ•จ์„ ์ˆ˜์ •ํ•˜๋Š” ๋น„์šฉ์€ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. IBM Systems Sciences Institute์˜ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„์—์„œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ๋“œ๋Š” ๋น„์šฉ์€ ์„ค๊ณ„ ๋‹จ๊ณ„๋ณด๋‹ค 10๋ฐฐ ๋†’๊ณ  ๋ฐฐํฌ ํ›„ ๋น„์šฉ์€ 100๋ฐฐ ๋” ๋†’์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ UI ํ…Œ์ŠคํŠธ๋Š” ๋ถ€์ ์ ˆํ•œ ๋””์ž์ธ์ด๋‚˜ ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋น„์šฉ ํšจ๊ณผ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

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

์ˆ˜๋™ UI ํ…Œ์ŠคํŠธ์—๋Š” ์ˆ™๋ จ๋œ ํ…Œ์Šคํ„ฐ๊ฐ€ ์ž‘์„ฑํ•œ ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€ ๋ฐ ํ…Œ์ŠคํŠธ ๊ณ„ํš์„ ๊ฐ–์ถ˜ ๊ตฌ์กฐํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์—๋Š” ํ…Œ์Šคํ„ฐ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง๊ด€์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜์—ฌ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ํƒ์ƒ‰์  ํ…Œ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ธ๊ฐ„์˜ ์ง๊ด€๊ณผ ๊ด€์ฐฐ์— ํฌ๊ฒŒ ์˜์กดํ•˜๋ฏ€๋กœ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ๋„๊ตฌ์—์„œ ๊ฐ„๊ณผ๋  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์„ฑ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

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

AppMaster ํ”Œ๋žซํผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ UI ํ…Œ์ŠคํŠธ๋Š” ๋‹ค์–‘ํ•œ ์žฅ์น˜์™€ ํ”Œ๋žซํผ์—์„œ ์šฐ์ˆ˜ํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. Vue3 ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์„œ๋ฒ„ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, Go(golang)๋กœ ๊ฐœ๋ฐœ๋œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด AppMaster ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚˜๊ณ  ๊ธฐ๋Šฅ์ด ํ’๋ถ€ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ UI ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์žฅ์น˜ ํ˜ธํ™˜์„ฑ, ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ, ์ ‘๊ทผ์„ฑ, ์„ฑ๋Šฅ ๋ฐ ๋ณด์•ˆ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ฐจ์›์—์„œ ํ”Œ๋žซํผ์—์„œ ์ƒ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. REST API endpoints ๋ฐ WebSocket endpoints ์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋„ ํ•ด๋‹น ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๊ฒ€์ฆ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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