์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ/์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ

2020๋…„ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์ œ1, 2ํšŒ ํ•„๊ธฐ ์˜ค๋‹ต๋…ธํŠธ - 2๊ณผ๋ชฉ. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ

ํ•œ์ฝ”๋”ฉ 2020. 8. 14. 16:15
728x90
728x90

์ •๋ ฌ๋œ N๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ O(Nlog2N)์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€?

 


White Box Testing์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

 

White Box Testing

์ข…๋ฅ˜ : ์กฐ๊ฑด / ๋ฐ˜๋ณต / ์ž๋ฃŒ ํ๋ฆ„

- ๋‚ด๋ถ€ ์†Œ์Šค์ฝ”๋“œ ํ…Œ์ŠคํŠธ (๋ชจ๋“ˆ ์•ˆ์˜ ์ž‘๋™์„ ์ง์ ‘ ๊ด€์ฐฐ)

- ๋ชจ๋“  ๋ฌธ์žฅ์„ ํ•œ ๋ฒˆ ์ด์ƒ ์ˆ˜ํ–‰๋˜๋„๋ก ๊ฒ€์ฆ

- ๋…ผ๋ฆฌ์  ๊ฒฝ๋กœ ์ ๊ฒ€

Black Box Testing

์ข…๋ฅ˜ : ๋™๋“ฑ ๋ถ„ํ•  / ๊ฒฝ๊ณ„ ๊ฐ’ / ์›์ธ-๊ฒฐ๊ณผ ๊ทธ๋ž˜ํ”„ / ๋น„๊ต

- ๋‚ด๋ถ€ ๊ตฌ์กฐ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ ๊ฒ€์‚ฌ

- ์˜ฌ๋ฐ”๋ฅธ ์ž…๋ ฅ๊ณผ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์ž…๋ ฅ์„ ํ†ตํ•ด ์˜ฌ๋ฐ”๋ฅธ ์ถœ๋ ฅ ๊ฒ€์‚ฌ


์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ์ธก์ •์„ ์œ„ํ•ด ๊ฐœ๋ฐœ์ž ๊ด€์ ์—์„œ ๊ณ ๋ คํ•ด์•ผ ํ•  ํ•ญ๋ชฉ์œผ๋กœ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ๊ฒƒ์€?

 

(๊ฐœ๋ฐœ์ž ๊ด€์ )์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ์ธก์ • ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

์ •ํ™•์„ฑ / ์‹ ๋ขฐ์„ฑ / ํšจ์œจ์„ฑ / ๋ฌด๊ฒฐ์„ฑ / ์œ ์—ฐ์„ฑ / ์ด์‹์„ฑ / ์žฌ์‚ฌ์šฉ์„ฑ / ์ƒํ˜ธ์šด์šฉ์„ฑ

์ •์‹ ํšจ๋ฌด์œ ์ด์žฌ์ƒ


์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ๊ฒ€์ฆ๋„๊ตฌ ์ค‘ ์•„๋ž˜์—์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์€?

<์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ๊ฒ€์ฆ ๋„๊ตฌ(ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ)>
xUnit : ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์›, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
STAF : ์„œ๋น„์Šค ํ˜ธ์ถœ ๋ฐ ์ปดํฌ๋„ŒํŠธ ์žฌ์‚ฌ์šฉ ํ™˜๊ฒฝ ์ง€์›

FitNesse : ์›น ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ์„ค๊ณ„, ์‹คํ–‰, ๊ฒฐ๊ณผ ํ™•์ธ ๋“ฑ์„ ์ง€์›
NTAF(Naver TAF) : FitNesse์˜ ์žฅ์ (ํ˜‘์—… ๊ธฐ๋Šฅ) + STAF์˜ ์žฅ์ (์žฌ์‚ฌ์šฉ ๋ฐ ํ™•์žฅ์„ฑ), ๋„ค์ด๋ฒ„
Selenium : ๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ฐ ๊ฐœ๋ฐœ ์–ธ์–ด ์ง€์›, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
Watir : Ruby๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ


EAI(Enterprise Application Integration)์˜ ๊ตฌ์ถ• ์œ ํ˜•์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

 

EAI ๊ตฌ์ถ• ์œ ํ˜•

- ๊ธฐ์—… ๋‚ด ๊ฐ์ข… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ํ”Œ๋žซํผ ๊ฐ„์˜ ์ •๋ณด ์ „๋‹ฌ ์—ฐ๊ณ„ ํ†ตํ•ฉ ์†”๋ฃจ์…˜

- ์ข…๋ฅ˜ : PtoP(1:1) / Hub&Spoke(์ค‘์•™ ์ง‘์ค‘ํ˜•) / Message Bus(๋ฏธ๋“ค์›จ์–ด) / Hybrid(ํ—ˆ๋ธŒ์™€ ๋ฉ”์‹œ์ง€ ํ˜ผํ•ฉ)


๋‹ค์Œ ํŠธ๋ฆฌ๋ฅผ ์ „์œ„ ์ˆœํšŒ(preorder traversal)ํ•œ ๊ฒฐ๊ณผ๋Š”?

์ „์œ„ ์ˆœํšŒ : VLR (์—ฐ์‚ฐ์ž ์•ž์— ํ˜ธ๋กœ๋กœ๋กคใ„นใ„น๋กœ๋กœ)

์ค‘์œ„ ์ˆœํšŒ : LVR (์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์ˆ˜ํ•™์‹)

ํ›„์œ„ ์ˆœํšŒ : LR(ํ”ผ + ํ”ผ + ์—ฐ)


์ธํ„ฐํŽ˜์ด์Šค ๋ณด์•ˆ์„ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ์˜์—ญ์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ๊ฒƒ์€?

 

๋„คํŠธ์›Œํฌ ์˜์—ญ : IPSec / SSL / S-HTTP

์ด๋ฉ”์ผ ์†ก์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ : SMTP


ํ‰๊ฐ€ ์ ์ˆ˜์— ๋”ฐ๋ฅธ ์„ฑ์ ๋ถ€์—ฌ๋Š” ๋‹ค์Œ ํ‘œ์™€ ๊ฐ™๋‹ค. ์ด๋ฅผ ๊ตฌํ˜„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฒฝ๊ณ„๊ฐ’ ๋ถ„์„ ๊ธฐ๋ฒ•์œผ๋กœ ํ…Œ์ŠคํŠธ ํ•˜๊ณ ์ž ํ•  ๋•Œ ๋‹ค์Œ ์ค‘ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ž…๋ ฅ ๊ฐ’์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

๊ฒฝ๊ณ„ ๊ฐ’ ๋ถ„์„ ๊ธฐ๋ฒ• : ๊ฒฝ๊ณ„๊ฐ€ ๋˜๋Š” ๊ฐ’์„ ๋„ฃ์Œ

0 59 60 79 80 100

+ 101 : 100๊นŒ์ง€์ด๋ฏ€๋กœ, ๊ทธ ์ด์ƒ์˜ ๊ฐ’์„ ๋„ฃ์–ด ๋ฐ˜์‘ ํ™•์ธํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€๋Šฅ

 


๋ฐ˜์ •๊ทœํ™”(Denormalization) ์œ ํ˜•์ค‘ ์ค‘๋ณต ํ…Œ์ด๋ธ”์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€?

 

<๋ฐ˜ ์ •๊ทœํ™” ์œ ํ˜• ์ค‘ ์ค‘๋ณต ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•>

์ง„ํ–‰ / ์ง‘๊ณ„ / ํŠน์ • ๋ถ€๋ถ„๋งŒ์„ ํฌํ•จ


ISO/IEC 9126์˜ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ํŠน์„ฑ ์ค‘ ๊ธฐ๋Šฅ์„ฑ(Functionlity)์˜ ํ•˜์œ„ ํŠน์„ฑ์œผ๋กœ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์€?

 


๋‹ค์Œ ํŠธ๋ฆฌ์˜ ์ฐจ์ˆ˜(degree)์™€ ๋‹จ๋ง ๋…ธ๋“œ(terminal node)์˜ ์ˆ˜๋Š”?

 

ํŠธ๋ฆฌ์˜ ์ฐจ์ˆ˜(Degree) : ์ „์ฒด ํŠธ๋ฆฌ์—์„œ ๊ฐ€์žฅ ํฐ ์ฐจ์ˆ˜ (ex : A, C, E์˜ ์ฐจ์ˆ˜ 2)

๋‹จ๋ง ๋…ธ๋“œ(Terminal Node) : ์ž์‹x ๋…ธ๋“œ


๋””์ง€ํ„ธ ์ €์ž‘๊ถŒ ๊ด€๋ฆฌ(DRM)์˜ ๊ธฐ์ˆ  ์š”์†Œ๊ฐ€ ์•„๋‹Œ ๊ฒƒ์€?

 

<๋””์ง€ํ„ธ ์ €์ž‘๊ถŒ ๊ด€๋ฆฌ (DRM)์˜ ๊ธฐ์ˆ  ์š”์†Œ>

์•”ํ˜ธํ™” / ํ‚ค ๊ด€๋ฆฌ / ์•”ํ˜ธํ™” ํŒŒ์ผ ์ƒ์„ฑ / ์‹๋ณ„ ๊ธฐ์ˆ  / ์ €์ž‘๊ถŒ ํ‘œํ˜„ / ์ •์ฑ… ๊ด€๋ฆฌ / ํฌ๋ž™ ๋ฐฉ์ง€ / ์ธ์ฆ


์†Œํ”„ํŠธ ์›จ์–ด ํ…Œ์ŠคํŠธ์—์„œ ์˜ค๋ฅ˜์˜ 80%๋Š” ์ „์ฒด ๋ชจ๋“ˆ์˜ 20% ๋‚ด์—์„œ ๋ฐœ๊ฒฌ๋œ๋‹ค๋Š” ๋ฒ•์น™์€?

 

Pareto์˜ ๋ฒ•์น™ : ์˜ค๋ฅ˜์˜ 80%๋Š” ์ „์ฒด์˜ 20%๋‚ด์—์„œ ๋ฐœ๊ฒฌ๋œ๋‹ค๋Š” ๋ฒ•์น™

Brooks์˜ ๋ฒ•์น™ : ์ง€์—ฐ๋˜๋Š” ํ”„๋กœ์ ํŠธ์— ์ธ๋ ฅ์„ ๋” ํˆฌ์ž…ํ•˜๋ฉด ์˜คํžˆ๋ ค ๋” ๋Šฆ์–ด์ง„๋‹ค.


์†Œํ”„ํŠธ์›จ์–ด ํ˜•์ƒ ๊ด€๋ฆฌ์˜ ์˜๋ฏธ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์€?

ํ˜•์ƒ ๊ด€๋ฆฌ : ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ์ผ๋ จ์˜ ํ™œ๋™.


์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹œ๊ฐ„๋ณต์žก๋„ O(I)์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€?

 

O(1) : ํ•ญ์ƒ ์ผ์ •


์†Œ์Šค์ฝ”๋“œ ํ’ˆ์งˆ๋ถ„์„ ๋„๊ตฌ ์ค‘ ์ •์ ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ์•„๋‹Œ ๊ฒƒ์€?

 

์†Œ์Šค์ฝ”๋“œ ํ’ˆ์งˆ๋ถ„์„ ๋„๊ตฌ

<์ •์  ๋ถ„์„ ๋„๊ตฌ>
pmd / cppcheck / SonarQube / checkstyle / ccm / cobertura

<๋™์  ๋ถ„์„ ๋„๊ตฌ>
Avalanche / valgrind


๊ฒ€์ฆ ๊ฒ€์‚ฌ ๊ธฐ๋ฒ• ์ค‘ ๊ฐœ๋ฐœ์ž์˜ ์žฅ์†Œ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ๋ฐœ์ž ์•ž์—์„œ ํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ํ†ต์ œ๋œ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ํ™•์ธํ•˜๋ฉด์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒ€์‚ฌ๋Š”?

 

๋™์น˜ ๋ถ„ํ•  ๊ฒ€์‚ฌ : ์ž…๋ ฅ ์ž๋ฃŒ์— ์ดˆ์ ์„ ๋งž์ถฐ ์ผ€์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฒ€์‚ฌ
์•ŒํŒŒ ํ…Œ์ŠคํŠธ : ๊ฐœ๋ฐœ์ž ์•ž
๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ : ์„ ์ •๋œ ์ตœ์ข… ์‚ฌ์šฉ์ž

ํ˜•์ƒ ๊ฒ€์‚ฌ : ๋ชจ๋“  ์‚ฌํ•ญ์ด ํ‘œํ˜„๋˜์—ˆ๋Š”๊ฐ€ ๊ฒ€์‚ฌ


ํ•˜ํ–ฅ์‹ ํ†ตํ•ฉ์— ์žˆ์–ด์„œ ๋ชจ๋“ˆ ๊ฐ„์˜ ํ†ตํ•ฉ ์‹œํ—˜์„ ์œ„ํ•ด ์ผ์‹œ์ ์œผ๋กœ ํ•„์š”ํ•œ ์กฐ๊ฑด๋งŒ์„ ๊ฐ€์ง€๊ณ  ์ž„์‹œ๋กœ ์ œ๊ณต๋˜๋Š” ์‹œํ—˜์šฉ ๋ชจ๋“ˆ์„ ๋ฌด์—‡์ด๋ผ๊ณ  ํ•˜๋Š”๊ฐ€?

 

์ƒํ–ฅ์‹ ํ†ตํ•ฉ - ๋“œ๋ผ์ด๋ฒ„(Driver)

ํ•˜ํ–ฅ์‹ ํ†ตํ•ฉ - ์Šคํ…(Stub)


SW ํŒจํ‚ค์ง• ๋„๊ตฌ ํ™œ์šฉ ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ๊ฒƒ์€?

 

<ํŒจํ‚ค์ง• ๊ณ ๋ ค์‚ฌํ•ญ>
- ํ•„์š”ํ•œ ์ตœ์†Œ ํ™˜๊ฒฝ ์ •์˜
- UI๋Š” ํŽธ์˜์„ฑ, ์ง๊ด€์„ฑ์„ ๊ณ ๋ ค, ๋งค๋‰ด์–ผ๊ณผ ์ผ์น˜์‹œ์ผœ ํŒจํ‚ค์ง•
- ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•จ๊ป˜ ๊ด€๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก Managed Service ํ˜•ํƒœ๋กœ ์ œ๊ณต
- ์•”ํ˜ธํ™”, ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ๋ฐฐํฌ

- ๋‹ค์–‘ํ•œ ๊ธฐ์ข…์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•จ


์™ธ๊ณ„์ธ์ฝ”๋“œ(Alien Code)์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์˜ณ์€ ๊ฒƒ์€?

 

์™ธ๊ณ„์ธ -> ์—†๋Š” ๊ณ ๋Œ€์˜(์˜ค๋ž˜๋œ) ์กด์žฌ = ์ฝ”๋“œ์— ๋Œ€ํ•ด ์•„๋Š” ์‚ฌ๋žŒ์ด ์—†์Œ -> ์œ ์ง€ ๋ณด์ˆ˜ ์–ด๋ ค์›€

 

728x90
๋ฐ˜์‘ํ˜•