ํ์ดํธ๋ฐ์ค ํ ์คํธ(Whitebox Test)
ํ์ดํธ ๋ฐ์ค ํ ์คํธ๋ ๋ชจ๋์ ์์ ์ฝ๋๋ฅผ ์คํ์ํจ ์ํ์์ ์์์ฝ์ฆ์ ๋ ผ๋ฆฌ์ ์ธ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํ ์คํธํ์ฌ ํ ์คํธ์ผ์ด์ค๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๋ชจ๋์ ์๋์ ์ง์ ๊ด์ฐฐ
- ์์ ์ฝ๋(๋ชจ๋)์ ๋ชจ๋ ๋ฌธ์ฅ์ ํ๋ฒ์ด์ ์คํ
- ํ๋ก๊ทธ๋จ์ ์ ์ด๊ตฌ์กฐ์ ๋ฐ๋ผ ์ ํ, ๋ฐ๋ณต ๋ฑ์ ๋ถ๊ธฐ์ ์ ์ํํ์ฌ ๋ ผ๋ฆฌ์ ์ธ ๊ฒฝ๋ก๋ฅผ ์ ์ด
1. ํ์ดํธ๋ฐ์ค ํ ์คํธ์ ์ข ๋ฅ
๊ธฐ์ด๊ฒฝ๋ก๊ฒ์ฌ Base Path Testing |
1. ๋ํ์ ์ธ ํ์ดํธ๋ฐ์ค ํ
์คํธ ๊ธฐ๋ฒ 2. ํ ์คํธ ์ผ์ด์ค ์ค๊ณ์๊ฐ ์ ์ฐจ์ ์ค๊ณ์ ๋ ผ๋ฆฌ์ ์ธ ๋ณต์ก์ฑ์ ์ธก์ ํ ์์๊ฒ ํด์ฃผ๋ ํ ์คํธ ๊ธฐ๋ฒ 3. ํ ์คํธ์ ์ธก์ ๊ฒฐ๊ณผ๋ ์คํ๊ฒฝ๋ก์ ๊ธฐ์ด๋ฅผ ์ ์ํ๋๋ฐ ์ง์นจ์ผ๋ก ์ฌ์ฉ๋จ |
์กฐ๊ฑด๊ฒ์ฌ Condition Testing |
ํ๋ก๊ทธ๋จ ๋ชจ๋ ๋ด์ ์๋ ๋ ผ๋ฆฌ์ ์ธ ์กฐ๊ฑด์ ํ ์คํธํ๋ ์ค๊ณ๊ธฐ๋ฒ |
๋ฃจํ๊ฒ์ฌ Loop Testing |
ํ๋ก๊ทธ๋จ์ ๋ฐ๋ณต์ ์ด์ ์ ๋ง์ถฐ ์ค์ํ๋ ์ค๊ณ๊ธฐ๋ฒ |
๋ฐ์ดํฐํ๋ฆ๊ฒ์ฌ Data Flow Testing |
ํ๋ก๊ทธ๋จ์์ ๋ณ์์ ์ ์์ ๋ณ์์ฌ์ฉ์ ์์น์ ์ด์ ์ ๋ง์ถฐ ์ค์ํ๋ ์ค๊ณ๊ธฐ๋ฒ |
2. ํ์ดํธ๋ฐ์ค ํ ์คํธ์ ๊ฒ์ฆ ๊ธฐ์ค
๋ฌธ์ฅ๊ฒ์ฆ๊ธฐ์ค : ์์ค์ฝ๋์ ๋ชจ๋ ๊ตฌ๋ฌธ์ด ํ๋ฒ ์ด์ ์ํ๋๋๋ก ํ ์คํธ์ผ์ด์ค๋ฅผ ์ค๊ณ
๋ถ๊ธฐ๊ฒ์ฆ๊ธฐ์ค : ๊ฒฐ์ ๊ฒ์ฆ๊ธฐ์ค, ์์ค์ฝ๋์ ๋ชจ๋ ์กฐ๊ฑด๋ฌธ์ ๋ํด ์กฐ๊ฑด์ด True / False ์ธ ๊ฒฝ์ฐ๊ฐ ํ๋ฒ์ด์ ์ํ๋๋๋ก ํ ์คํธ ์ผ์ด์ค ์ค๊ณ
์กฐ๊ฑด๊ฒ์ฆ๊ธฐ์ค : ์์ค์ฝ๋์ ์กฐ๊ฑด๋ฌธ์ ํฌํจ๋ ๊ฐ๋ณ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ True / False ์ธ ๊ฒฝ์ฐ๊ฐ ํ๋ฒ์ด์ ์ํ๋๋๋ก ํ ์คํธ์ผ์ด์ค ์ค๊ณ
๋ถ๊ธฐ/์กฐ๊ฑด ๊ธฐ์ค : ๋ถ๊ธฐ๊ฒ์ฆ๊ณผ ์กฐ๊ฑด๊ฒ์ฆ์ ๋ชจ๋ ๋ง์กฑํ๋ ์ค๊ณ๋ก ์กฐ๊ฑด๋ฌธ์ด True / False ์ธ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์กฐ๊ฑด ๊ฒ์ฆ๊ธฐ์ค์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํ๋ ํ ์คํธ์ผ์ด์ค ์ค๊ณ
๋ธ๋๋ฐ์ค ํ ์คํธ(Blackbox Test)
๋ธ๋๋ฐ์ค ํ ์คํธ๋ ์ํํธ์จ์ด๊ฐ ์ํํ ํน์ ํ ๊ธฐ๋ฅ์ ์๊ธฐ์ํด์ ๊ฐ ๊ธฐ๋ฅ์ด ์์ ํ ์๋๋๋๊ฒ์ ์ ์ฆํ๋ ํ ์คํธ์ด๋ฉฐ, ๊ธฐ๋ฅ ํ ์คํธ๋ผ๊ณ ๋ ํ๋ค.
- ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ คํ์ง์์
- ํ๋ก๊ทธ๋จ or ๋ชจ๋์ ์๊ตฌ๋ ๋ช ์ธ๋ฅผ ๊ธฐ์ด๋ก ๊ฒฐ์ ํจ
- ์ํํธ์จ์ด ์ธํฐํ์ด์ค์์ ์ค์๋๋ ํ ์คํธ
- ๋ถ์ ํํ๊ฑฐ๋ ๋๋ฝ๋๊ธฐ๋ฅ, ์ธํฐํ์ด์ค์ ์ค๋ฅ, ์๋ฃ๊ตฌ์กฐ๋ ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์๋ฐ๋ฅธ ์ค๋ฅ, ํ์๋ ์ฑ๋ฅ ์ค๋ฅ, ์ด๊ธฐํ์ ์ข ๋ฃ ์ค๋ฅ ๋ฑ์ ๋ฐ๊ฒฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ , ํ ์คํธ ๊ณผ์ ์ ํ๋ฐ๋ถ์ ์ ์ฉ
1. ๋ธ๋๋ฐ์ค ํ ์คํธ์ ์ข ๋ฅ
๋์น๋ถํ ๊ฒ์ฌ(Equilivalence Partitioning Testing) | 1. ์
๋ ฅ์๋ฃ์ ์ด์ ์ ๋ง์ถฐ ํ
์คํธ์ผ์ด์ค๋ฅผ ๋ง๋ค๊ณ ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ(๋๋ฑ๋ถํ ๊ฒ์ฌ) 2. ํ๋ก๊ทธ๋จ์ ์ ๋ ฅ์กฐ์ ์ ํ๋นํ ์ ๋ ฅ์๋ฃ์ ํ๋นํ์ง์์ ์ ๋ ฅ์๋ฃ์ ๊ฐ์๋ฅผ ๊ท ๋ฑํ๊ฒ ํ์ฌ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ ํ๊ณ , ํด๋น ์ ๋ ฅ ์๋ฃ์ ๋ง๋ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋์ง๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฒ |
๊ฒฝ๊ณ๊ฐ ๋ถ์(Boundary Value Analysis) | 1. ์
๋ ฅ์๋ฃ์๋ง ์น์คํ ๋์น๋ถํ ๊ธฐ๋ฒ์ ๋ณด์ํ๊ธฐ ์ํ๋ฐฉ๋ฒ 2. ์ ๋ ฅ์กฐ๊ฑด์ ์ค๊ฐ๊ฐ๋ณด๋ค ๊ฒฝ๊ณ๊ฐ์์ ์ค๋ฅ๊ฐ ๋ฐ์๋ ํ๋ฅ ์ด ๋๋ค๋ ์ ์ ์ด์ฉํ์ฌ ์ ๋ ฅ์กฐ๊ฑด์ ๊ฒฝ๊ณ๊ฐ์ ํ ์คํธ์ผ์ด์ค๋ก ์ ์ ํ์ฌ ๊ฒ์ฌํ๋ ๊ธฐ๋ฒ |
์์ธ-ํจ๊ณผ ๊ทธ๋ํ ๊ฒ์ฌ(Cause-Effect Graphing Testing) | ์ ๋ ฅ๋ฐ์ดํฐ๊ฐ์ ๊ด๊ณ์ ์ถ๋ ฅ์ ์ํฅ์ ๋ฏธ์น๋ ์ํฉ์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ํ ๋ค์ ํจ์ฉ์ฑ์ด ๋์ ํ ์คํธ์ผ์ด์ค๋ฅผ ์ ์ ํ์ฌ ๊ฒ์ฌํ๋ ๊ธฐ๋ฒ |
์ค๋ฅ์์ธก๊ฒ์ฌ(Error Guessing) | 1. ๊ณผ๊ฑฐ์ ๊ฒฝํ์๋ ํ์ธ์์ ๊ฐ๊ฐ์ผ๋ก ํ
์คํธํ๋ ๊ธฐ๋ฒ 2. ๋ค๋ฅธ๋ธ๋๋ฐ์ค ํ ์คํธ ๊ธฐ๋ฒ์ผ๋ก๋ ์ฐพ์๋ผ์ ์๋ ์ค๋ฅ๋ฅผ ์ฐพ์๋ด๋ ์ผ๋ จ์ ๋ณด์ถฉ์ ๊ฒ์ฌ ๊ธฐ๋ฒ (๋ฐ์ดํฐ ํ์ธ๊ฒ์ฌ) |
๋น๊ต๊ฒ์ฌ(Comparison Testing) | ์ฌ๋ฌ ๋ฒ์ ์ ํ๋ก๊ทธ๋จ์ ๋์ผํ ํ ์คํธ ์๋ฃ๋ฅผ ์ ๊ณตํ์ฌ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋์ง ํ ์คํธํ๋ ๊ธฐ๋ฒ |