Application Testing(์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ)๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฌ๋์ด ์๋ ๊ฒฐํจ์ ์ฐพ์๋ด๋ ์ผ๋ จ์ ํ์ ๋๋ ์ ์ฐจ์ด๋ค.
ํ๋ก๊ทธ๋จ์ ์คํํ์ง ์๊ณ ๋ช ์ธ์๋ ์์ค ์ฝ๋๋ฅผ ๋์์ผ๋ก ๋ถ์ํ๋ ํ ์คํธ์ด๋ค.
ํ๋ก๊ทธ๋จ์ ์คํํ์ฌ ์ค๋ฅ๋ฅผ ์ฐพ๋ ํ ์คํธ์ด๋ค.
ํ์ดํธ๋ฐ์ค ํ ์คํธ(WhiteBox Test)๋ ๋ชจ๋์ ์์ ์ฝ๋(source code)๋ฅผ ์คํ์ํจ ์ํ์์ ์์ ์ฝ๋์ ๋ ผ๋ฆฌ์ ์ธ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํ ์คํธํ์ฌ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ด๋ค.
SC(Statement Coverage, ๋ฌธ์ฅ[๊ตฌ๋ฌธ] ๊ฒ์ฆ ๊ธฐ์ค) :
์์ค ์ฝ๋์ ๋ชจ๋ ๊ตฌ๋ฌธ์ด ํ ๋ฒ ์ด์ ์ํ๋๋๋ก ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณ
Branch Coverage(๋ถ๊ธฐ ๊ฒ์ฆ ๊ธฐ์ค) :
์์ค ์ฝ๋์ ๋ชจ๋ ์กฐ๊ฑด๋ฌธ์ ๋ํด ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ True์ธ ๊ฒฝ์ฐ์ False์ธ ๊ฒฝ์ฐ๊ฐ ํ ๋ฒ ์ด์ ์ํ๋๋๋ก ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณ
= DC(Decision Coverage, ๊ฒฐ์ [์ ํ] ๊ฒ์ฆ ๊ธฐ์ค)์ด๋ผ๊ณ ๋ ํจ
CC(Condition Coverage, ์กฐ๊ฑด ๊ฒ์ฆ ๊ธฐ์ค) :
์์ค ์ฝ๋์ ์กฐ๊ฑด๋ฌธ์ ํฌํจ๋ ๊ฐ๋ณ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ True์ธ ๊ฒฝ์ฐ์ False์ธ ๊ฒฝ์ฐ๊ฐ ํ ๋ฒ ์ด์ ์ํ๋๋๋ก ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณ
C/DC(Codition/Decision Coverage, ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง) :
์ ์ฒด ์กฐ๊ฑด์๋ฟ๋ง ์๋๋ผ ๊ฐ๋ณ ์กฐ๊ฑด์๋ True ํ ๋ฒ, False ํ ๋ฒ ๊ฒฐ๊ณผ๊ฐ ๋๋๋ก ์ํํ๋ ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง
Branch/Codition Coverage(๋ถ๊ธฐ/์กฐ๊ฑด ๊ธฐ์ค) :
๋ถ๊ธฐ ๊ฒ์ฆ ๊ธฐ์ค๊ณผ ์กฐ๊ฑด ๊ฒ์ฆ ๊ธฐ์ค์ ๋ชจ๋ ๋ง์กฑํ๋ ์ค๊ณ๋ก, ์กฐ๊ฑด๋ฌธ์ด True์ธ ๊ฒฝ์ฐ์ False์ธ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์กฐ๊ฑด ๊ฒ์ฆ ๊ธฐ์ค์ ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ฌธํ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณ
MC/DC(Modified Condition/Decistion Coverage, ๋ณํ ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง) :
๊ฐ๋ณ ์กฐ๊ฑด์์ด ๋ค๋ฅธ ๊ฐ๋ณ ์กฐ๊ฑด์์ ์ํฅ์ ๋ฐ์ง ์๊ณ ์ ์ฒด ์กฐ๊ฑด์์ ๋
๋ฆฝ์ ์ผ๋ก ์ํฅ์ ์ฃผ๋๋ก ํจ์ผ๋ก์จ ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํฅ์์ํจ ์ปค๋ฒ๋ฆฌ์ง
MCC(Mutiple Conditon Coverage, ๋ค์ค ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง) :
๊ฒฐ์ ์กฐ๊ฑด ๋ด ๋ชจ๋ ๊ฐ๋ณ ์กฐ๊ฑด์์ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ์ 100% ๋ณด์ฅํ๋ ์ปค๋ฒ๋ฆฌ์ง
Base Path Coverage(๊ธฐ๋ณธ ๊ฒฝ๋ก ์ปค๋ฒ๋ฆฌ์ง) :
์ํ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํ
์คํธํ๋ ๊ธฐ๋ฒ
Control Flow Testing(์ ์ด ํ๋ฆ ํ
์คํธ) :
ํ๋ก๊ทธ๋จ ์ ์ด ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ํ ํํ๋ก ๋ํ๋ด์ด ๋ด๋ถ๋ก์ง์ ํ
์คํธํ๋ ๊ธฐ๋ฒ
Data Flow Testing(๋ฐ์ดํฐ ํ๋ฆ ํ
์คํธ) :
์ ์ด ํ๋ฆ ๊ทธ๋ํ์ ๋ฐ์ดํฐ ์ฌ์ฉํํฉ์ ์ถ๊ตฌํ ๊ทธ๋ํ๋ฅผ ํตํด ํ
์คํธํ๋ ๊ธฐ๋ฒ
Loop Testing(๋ฃจํ ํ
์คํธ) :
ํ๋ก๊ทธ๋จ์ ๋ฐ๋ณต(Loop) ๊ตฌ์กฐ์ ์ด์ ์ ๋ง์ถฐ ์ค์ํ๋ ํ
์คํธ ๊ธฐ๋ฒ
๋ธ๋๋ฐ์ค ํ ์คํธ(BlackBox Test)๋ ์ํํธ์จ์ด๊ฐ ์ํํ ํน์ ๊ธฐ๋ฅ์ ์๊ธฐ ์ํด์ ๊ฐ ๊ธฐ๋ฅ์ด ์์ ํ ์๋๋๋ ๊ฒ์ ์ ์ฆํ๋ ํ ์คํธ๋ก ๊ธฐ๋ฅ ํ ์ค๋ผ๊ณ ํ๋ค.
๋ ๊ฒฝ ์ ๊ฒฐ ์ ์ ๋ถ ํ ์ ์ค ๋น
Equivalence Partitioning Testing(๋์น ๋ถํ ๊ฒ์ฌ) :
Boundary Value Analysis(๊ฒฝ๊ณ๊ฐ[ํ๊ณ๊ฐ] ๋ถ์) :
Cause-Effect Graphing Testing(์์ธ-ํจ๊ณผ ๊ทธ๋ํ ๊ฒ์ฌ) :
๊ทธ๋ํ๋ฅผ ํ์ฉํ์ฌ ์
๋ ฅ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ์ ์ถ๋ ฅ์ ์ํฅ์ ๋ฏธ์น๋ ์ํฉ์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ํ ๋ค์ ํจ์ฉ์ฑ์ด ๋์ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ ์ ํ์ฌ ๊ฒ์ฌํ๋ ๊ธฐ๋ฒ
Decision Table Testing(๊ฒฐ์ ํ
์ด๋ธ ๊ฒ์ฌ) :
์๊ตฌ์ฌํญ์ ๋
ผ๋ฆฌ์ ๋ฐ์์กฐ๊ฑด์ ํ
์ด๋ธ ํํ๋ก ๋์ดํ์ฌ, ์กฐ๊ฑด๊ณผ ํ์๋ฅผ ๋ชจ๋ ์กฐํฉํ์ฌ ํ
์คํธํ๋ ๊ธฐ๋ฒ
State Transition Testing(์ํ ์ ์ด ํ
์คํธ) :
ํ
์คํธ ๋์โข์์คํ
์ด๋ ๊ฐ์ฒด์ ์ํ๋ฅผ ๊ตฌ๋ถํ๊ณ , ์ด๋ฒคํธ์ ์ํด ์ด๋ ํ ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ์ ์ด๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ํํ๋ ํ
์คํธ ๊ธฐ๋ฒ
Use Case Testing(์ ์ค์ผ์ด์ค ํ
์คํธ) :
์์คํ
์ด ์ค์ ์ฌ์ฉ๋๋ ์ ์ค์ผ์ด์ค๋ก ๋ชจ๋ธ๋ง ๋์ด ์์ ๋ ํ๋ก์ธ์ค ํ๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ ์ผ์ด์ค๋ฅผ ๋ช
์ธํํ์ฌ ์ํํ๋ ํ
์คํธ ๊ธฐ๋ฒ
Classification Tree Method Testing(๋ถ๋ฅ ํธ๋ฆฌ ํ
์คํธ) :
SW์ ์ผ๋ถ ๋๋ ์ ์ฒด๋ฅผ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ถ์ ๋ฐ ํํํ์ฌ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณํ๋ ํ
์คํธํ๋ ๊ธฐ๋ฒ
Pairwise Testing(ํ์ด์์ด์ฆ ํ
์คํธ) :
ํ
์คํธ ๋ฐ์ดํฐ๊ฐ๋ค ๊ฐ์ ์ต์ํ ํ ๋ฒ์ฉ์ ์กฐํฉํ๋ ๋ฐฉ์์ด๋ฉฐ, ์ด๋ ์ปค๋ฒํด์ผ ํ ๊ธฐ๋ฅ์ ๋ฒ์๋ฅผ ๋ชจ๋ ์กฐํฉ์ ๋นํด์๋์ ์ผ๋ก ์ ์ ์์ ํ
์คํธ ์ธํธ๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ํ
์คํธ ๊ธฐ๋ฒ
Error Guessing Testing(์ค๋ฅ ์์ธก ๊ฒ์ฌ) :
๊ณผ๊ฑฐ์ ๊ฒฝํ์ด๋ ํ์ธ์์ ๊ฐ๊ฐ์ผ๋ก ํ
์คํธํ๋ ๊ธฐ๋ฒ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ๋ฒํ ์ ์๋ ์ค์๋ฅผ ์ถ์ ํ๊ณ ์ด์ ๋ฐ๋ฅธ ๊ฒฐํจ์ด ๊ฒ์ถ๋๋๋ก ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณํ์ฌ ํ
์คํธํ๋ ๊ธฐ๋ฒ
Comparison Testing(๋น๊ต ๊ฒ์ฌ) :
์ฌ๋ฌ ๋ฒ์ ์ ํ๋ก๊ทธ๋จ์ ๋์ผํ ํ
์คํธ ์๋ฃ๋ฅผ ์ ๊ณตํ์ฌ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋์ง ํ
์คํธํ๋ ๊ธฐ๋ฒ
์ฐธ๊ณ ,
๊ธธ๋ฒ์์ค๋. ใ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋จ๊ธฐ์์ฑใ. ๊ธธ๋ฒ. 2023.