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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(136)
Maven ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ TestNG class ์ƒ์„ฑ ๋ฐฉ๋ฒ• ์˜ˆ์ œ ์ €๋ฒˆ ํฌ์ŠคํŠธ์—์„œ ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ๊ตฌ์„ฑ์„ ์œ„ํ•œ ์ค€๋น„๋ฅผ ๋๋ƒˆ๋‹ค๋ฉด, ์˜ค๋Š˜์€ ๋ฉ”์ด๋ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , TestNG ํด๋ž˜์Šค๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ, ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ๊ฐ€์ด๋“œ๋Š” ์ดํด๋ฆฝ์Šค ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰ํ•œ๋‹ค. Maven ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐฉ๋ฒ• 1. ์ดํด๋ฆฝ์Šค ์‹คํ–‰ 2. File > New > Other ์— ๋“ค์–ด๊ฐ€์„œ Maven > Maven Project ์„ ํƒ 3. Create a simple project ์— ์ฒดํฌํ•˜๊ณ  Next 4. New Maven Project ๋‹ค์ด์–ผ๋กœ๊ทธ Group id, Artifact id ๋ฅผ ์ž„์˜๋กœ ์ž…๋ ฅํ•ด์ฃผ๊ณ , Finish๋ฅผ ํด๋ฆญํ•œ๋‹ค. Group id๋Š” com.example ์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ํŒจํ‚ค์ง€๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. Artifact id๋Š” test1 ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„ค์ •ํ•ด์ฃผ..
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 = ..