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

SQA

(35)
Selenium ์ž๋™ํ™” ํ™˜๊ฒฝ ์„ค์ •, maven TestNG ChromeDriver ์…€๋ ˆ๋‹ˆ์›€ ์ž๋™ํ™”๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์•„๋ž˜ ๊ณผ์ •์„ ๋”ฐ๋ผํ•˜๋ฉฐ ์…‹ํŒ…์„ ํ•ด๋ณด์ž. ๋‚˜๋Š” java์–ธ์–ด๋กœ ์ž๋™ํ™”๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดํด๋ฆฝ์Šค์™€ ๋ฉ”์ด๋ธ, TestNG, ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์…‹ํŒ…์— ํ•„์š”ํ•œ Eclipse๋Š” ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ง„ํ–‰ํ•œ๋‹ค. ์ž๋ฐ” ํ”„๋กœ์ ํŠธ ์„ค์ • - ์…€๋ ˆ๋‹ˆ์›€ ์›น ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”๋ฅผ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋‹ค. - ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (1) ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ(IDE) (2) ์ž๋ฐ” ํ”„๋กœ์ ํŠธ์— ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„ ์˜์กด์„ฑ ์ถ”๊ฐ€ - ์šฐ๋ฆฌ๋Š” ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ์€ ์ดํด๋ฆฝ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ดํด๋ฆฝ์Šค(eclipse)๋Š” ์ž๋ฐ” ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด๋‹ค. ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„ ํ…Œ์ŠคํŠธ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. - ๋ฉ”์ด๋ธ(maven)์€ ์ดํด๋ฆฝ์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ์ƒ๋ช… ์ฃผ๊ธฐ..
ChromeDriver ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ ๋ฒ„์ „ ํ™•์ธ ๋ฐฉ๋ฒ• ์›น์ž๋™ํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ € ๋“œ๋ผ์ด๋ฒ„ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋‹ค, ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ , ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด๋ณด์•˜๋‹ค. ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„๋Š” ํฌ๋กฌ์„ ์‚ฌ๋žŒ์ด ์•„๋‹Œ ์ปดํ“จํ„ฐ๊ฐ€ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค. ํฌ๋กฌ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „ ํ™•์ธ ๋ฐฉ๋ฒ• ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„ ๋‹ค์šด๋กœ๋“œ ์‹œ ์ฃผ์˜ํ•  ์ ์€ ๋ฒ„์ „์— ๋งž์ถฐ์„œ ๋‹ค์šด๋กœ๋“œํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฒ„์ „ ํ™•์ธ ๋ฐ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•ด๋ณด์ž. ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„ 115 ๋ฒ„์ „ ์ด์ƒ์„ ์ฐพ๋Š”๋‹ค๋ฉด, ์ด ๊ธ€๊ณผ ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ•ด๋ณด์ž. ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„ 115 ์ด์ƒ ์ตœ์‹  stable ๋ฒ„์ „ ๋‹ค์šด๋กœ๋“œ 119 version ์˜ค๋žœ๋งŒ์— ์ž๋™ํ™” ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ๋ ค ํ–ˆ๋Š”๋ฐ, 115 ์ด์ƒ newer ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ๋ ค๊ณ  ํ•˜๋‹ˆ ํŽ˜์ด์ง€๊ฐ€ ๋ญ”๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค. 115 ๋ฏธ๋งŒ ๋ฒ„์ „ 115 ๋ฏธ๋งŒ ๋ฒ„์ „์€ ..
White Box Testing ์ˆœํ™˜ ๋ณต์žก๋„ Cyclomatic Complexity (์ˆœํ™˜ ๋ณต์žก๋„) ๋ณต์žก๋„(Complexity) - ์‹œ์Šคํ…œ์ด ๊ฒ€์ฆํ•˜๊ธฐ ์–ด๋ ค์šด ๋””์ž์ธ์ด๋‚˜ ๊ตฌํ˜„์„ ๊ฐ€์ง„ ์ •๋„ ์ˆœํ™˜ ๋ณต์žก๋„(Cycolmatic Complexity), v(G) - ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณต์žก๋„๋ฅผ ์ •๋Ÿ‰์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• - ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๊ฒฝ๋กœ์˜ ์ˆ˜ - ๋ชจ๋“  ๊ตฌ๋ฌธ์ด ํ•œ ๋ฒˆ์”ฉ์€ ์‹คํ–‰๋˜์—ˆ์Œ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ํšŸ์ˆ˜์˜ ์ƒํ•œ์œผ๋กœ ์‚ฌ์šฉ ๊ณ„์‚ฐ๋ฒ• ์•Œ์•„๋ณด๊ธฐ ์ˆœํ™˜ ๋ณต์žก๋„ ๊ณต์‹ v(G) = E - N + 2 v(G) = P + 1 - E : edge์˜ ๊ฐœ์ˆ˜ - N : node์˜ ๊ฐœ์ˆ˜ - P : ๋ถ„๊ธฐ(predicate) ๋˜๋Š” node์˜ ๊ฐœ์ˆ˜ ์ˆœํ™˜ ๋ณต์žก๋„ - ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ - N = 6, E = 7, P = 2 ใ„ด node, edge๋ฅผ ์‚ฌ์šฉํ•œ ๊ณ„์‚ฐ โ˜ž v(G) = E - N + 2 = ..
TestNG ์„ค์น˜ ๋ฐฉ๋ฒ• , ์ดํด๋ฆฝ์Šค ๋‚˜๋Š” ์…€๋ ˆ๋‹ˆ์›€์„ ํ™œ์šฉํ•œ UI ์›น ์ž๋™ํ™” ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ ํ•˜๋ฉด์„œ ์ดํด๋ฆฝ์Šค์— TestNG์„ค์น˜๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ TestNG ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•˜๋ คํ•œ๋‹ค. ๋‚˜๋Š” macOSํ™˜๊ฒฝ์ด๋‹ˆ ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค. TestNG ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค, ํ…Œ์ŠคํŠธ ์„ค์ •, ๊ฐ’ ํ™•์ธ์„ ์ •์˜ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ž์„ธํ•œ ์„ค๋ช…์™€ ์‚ฌ์šฉ๋ฒ•์„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์„ค์น˜ ๋ฐฉ๋ฒ• ์ดํด๋ฆฝ์Šค์— ์žˆ๋Š” ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์ด์šฉํ•ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. 1. ์ดํด๋ฆฝ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์— ์ง„์ž…ํ•œ๋‹ค. Help > Eclipse Marketplace... ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์— ์ง„์ž…์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 2. TestNG๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๋‹ค์šด๋กœ๋“œ ํ•œ๋‹ค. ์ด๋ฏธ์ง€์—์„œ ๋งจ ์œ„์— ์žˆ๋Š” ๊ฒƒ์„ install ํ•˜๋ฉด ๋œ๋‹ค. install ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋žœ ..