๐Certificate/Engineer Information Processing
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ(์ค๊ธฐ)] ํ์ดํธ๋ฐ์ค ํ ์คํธ
Sun A
2024. 10. 1. 12:58
ํ์ดํธ๋ฐ์ค ํ ์คํธ๋?
ํ๋ก๊ทธ๋จ์ ๋ด๋ถ ๊ตฌ์กฐ, ๋์์ ๋ํ ์ผํ๊ฒ ๊ฒ์ฌํ๋ ํ ์คํธ ๋ฐฉ์
- ๋ด๋ถ ์์ค ์ฝ๋๋ฅผ ํ ์คํธํ๋ ๊ธฐ๋ฒ์ด๋ฉฐ ์ฌ์ฉ์๊ฐ ๋ค์ฌ๋ค ๋ณผ ์ ์๋ ๊ตฌ๊ฐ์ ์ฝ๋ ๋จ์๋ค์ ํ ์คํธ ๊ฐ๋ฅ
- ๋ชจ๋ ์์ ๋ด์ฉ(์๋)์ ์ง์ ๋ณผ ์ ์์ผ๋ฉฐ, ๋ด๋ถ์ ๋ ผ๋ฆฌ์ ์ธ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํ ์คํธ
- ์์ค ์ฝ๋์ ๋ชจ๋ ๋ฌธ์ฅ์ ํ ๋ฒ ์ด์ ์ํ / ๋ ผ๋ฆฌ์ ๊ฒฝ๋ก ์ ๊ฒ (์ ํ, ๋ฐ๋ณต ์ํ)
- ํ ์คํธ ๋ฐ์ดํฐ ์ ํํ๊ธฐ ์ํด ๊ฒ์ฆ ๊ธฐ์ค ์ปค๋ฒ๋ฆฌ์ง(Coverage) ์ ํจ
ํ์ดํธ๋ฐ์ค ํ ์คํธ ๊ฒ์ฆ ๊ธฐ์ค
| ๊ตฌ๋ฌธ ์ปค๋ฒ๋ฆฌ์ง (Statement Coverage) |
ํ๋ก๊ทธ๋จ ๋ด ๋ชจ๋ ๋ช ๋ น๋ฌธ(=๊ตฌ๋ฌธ)์ ์ ์ด๋ ํ ๋ฒ ์ํ |
| ๊ฒฐ์ (๋ถ๊ธฐ) ์ปค๋ฒ๋ฆฌ์ง (Branch Coverage) |
ํ๋ก๊ทธ๋จ ๋ด ์ ์ฒด ๊ฒฐ์ ๋ฌธ์ด ์ ์ด๋ ํ ๋ฒ์ ์ฐธ/๊ฑฐ์ง ๊ฒฐ๊ณผ ์ํ |
| ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง (Condition Coverage) |
๊ฒฐ์ ๋ช ๋ น๋ฌธ ๋ด์ ๊ฐ ๊ฐ๋ณ ์กฐ๊ฑด์์ด ์ ์ด๋ ํ ๋ฒ์ ์ฐธ/๊ฑฐ์ง ๊ฒฐ๊ณผ ์ํ |
| ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง (Condition/Decision Coverage) |
์ ์ฒด ์กฐ๊ฑด์ ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ณ ์กฐ๊ฑด์๋ ์ฐธ ํ ๋ฒ ์ด์, ๊ฑฐ์ง ํ ๋ฒ ์ด์ ๊ฒฐ๊ณผ ์ํ |
| ๋ณ๊ฒฝ ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง (MC/DC) |
Modified Condition/Decision Covergage ๊ฐ ๊ฐ๋ณ์กฐ๊ฑด์์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ฒด ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ์ํฅ |
| ๋ค์ค ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง (Multiple Condition) |
๊ฒฐ์ ํฌ์ธํธ ๋ด ๋ชจ๋ ๊ฐ๋ณ์กฐ๊ฑด์์ ๋ชจ๋ ๊ฐ๋ฅํ ๋
ผ๋ฆฌ์ ์กฐํฉ์ ๊ณ ๋ คํ์ฌ 100% ์ปค๋ฒ๋ฆฌ์ง ๋ณด์ฅ |
ํ์ดํธ๋ฐ์ค ํ ์คํธ ์ข ๋ฅ
| ๊ธฐ์ด ๊ฒฝ๋ก ๊ฒ์ฌ (Base Path Testing) |
- ๋ํ์ ํ์ดํธ๋ฐ์ค ํ
์คํธ ๊ธฐ๋ฒ (๋์ ํ
์คํธ) - ํ ์คํธ ์ผ์ด์ค ์ค๊ณ์๊ฐ ์ ์ฐจ์ ์ค๊ณ์ ๋ ผ๋ฆฌ์ ๋ณต์ก์ฑ์ ์ธก์ ํ ์ ์๊ฒ ํด์ฃผ๋ ํ ์คํธ ๊ธฐ๋ฒ - ์ธก์ ๊ฒฐ๊ณผ๋ ์คํ ๊ฒฝ๋ก์ ๊ธฐ์ด๋ฅผ ์ ์ํ๋ ์ง์นจ์ผ๋ก ์ฌ์ฉ |
| ์ ์ด ๊ตฌ์กฐ ๊ฒ์ฌ (Control Structure Testing) |
- ์กฐ๊ฑด ๊ฒ์ฌ : ํ๋ก๊ทธ๋จ ๋ชจ๋ ๋ด ๋
ผ๋ฆฌ์ ์กฐ๊ฑด ํ
์คํธ - ๋ฃจํ ๊ฒ์ฌ : ํ๋ก๊ทธ๋จ ๋ฐ๋ณต(Loop) ๊ตฌ์กฐ ํ ์คํธ - ์๋ฃ ํ๋ฆ ๊ฒ์ฌ : ๋ณ์์ ์ ์์ ๋ณ์ ์ฌ์ฉ์ ์์น ํ ์คํธ |
ํ์ดํธ๋ฐ์ค ํ ์คํธ์ ์ฅ์
- ์ ์ฒด์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ํ ์คํธํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ฒ ์
- ์๋ํ๊ฐ ์ฉ์ด
- ๊ฐํธํ ์ฝ๋ ์ต์ ํ ๊ฐ๋ฅ