์ ๋ ฌ๋ 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 (์ฐ๋ฆฌ๊ฐ ์๋ ์ํ์)
ํ์ ์ํ : LRV (ํผ + ํผ + ์ฐ)
์ธํฐํ์ด์ค ๋ณด์์ ์ํด ๋คํธ์ํฌ ์์ญ์ ์ ์ฉ๋ ์ ์๋ ์๋ฃจ์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฒ์?
๋คํธ์ํฌ ์์ญ : 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)์ ๋ํ ์ค๋ช ์ผ๋ก ์ณ์ ๊ฒ์?
์ธ๊ณ์ธ -> ์๋ ๊ณ ๋์(์ค๋๋) ์กด์ฌ = ์ฝ๋์ ๋ํด ์๋ ์ฌ๋์ด ์์ -> ์ ์ง ๋ณด์ ์ด๋ ค์