โญ๏ธ Application Testing 1๏ธโƒฃ

m_ngyeongยท2024๋…„ 4์›” 8์ผ
1
post-thumbnail

๐Ÿ Application Testing


Application Testing

Application Testing(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ž ์žฌ๋˜์–ด ์žˆ๋Š” ๊ฒฐํ•จ์„ ์ฐพ์•„๋‚ด๋Š” ์ผ๋ จ์˜ ํ–‰์œ„ ๋˜๋Š” ์ ˆ์ฐจ์ด๋‹ค.

  • ๊ฐœ๋ฐœ๋œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ณ ๊ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๋Š”์ง€ Validatrion(ํ™•์ธ)ํ•˜๊ณ  ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ธฐ๋Šฅ์„ ์ •ํ™•ํžˆ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ Verification(๊ฒ€์ฆ)ํ•œ๋‹ค.

Basic principles of Application Testing

  • Pareto Principle(ํŒŒ๋ ˆํ†  ๋ฒ•์น™) : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ 20%์— ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ์—์„œ ์ „์ฒด ๊ฒฐํ•จ์˜ 80%๊ฐ€ ๋ฐœ๊ฒฌ๋œ๋‹ค๋Š” ๋ฒ•์น™
  • Pesticide Paradox(์‚ด์ถฉ์ œ ํŒจ๋Ÿฌ๋…์Šค) : ๋™์ผํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๋™์ผํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ๋” ์ด์ƒ ๊ฒฐํ•จ์ด ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ
  • Absence of Errors Fallacy(์˜ค๋ฅ˜-๋ถ€์žฌ์˜ ๊ถค๋ณ€) : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒฐํ•จ์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•ด๋„ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•˜๋ฉด ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํ’ˆ์งˆ ์ด ๋†’๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ

Static Testing(์ •์  ํ…Œ์ŠคํŠธ)

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋ช…์„ธ์„œ๋‚˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ถ„์„ํ•˜๋Š” ํ…Œ์ŠคํŠธ์ด๋‹ค.

  • ์†Œ์Šค ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ฝ”๋”ฉ ํ‘œ์ค€, ์ฝ”๋”ฉ ์Šคํƒ€์ผ, ์ฝ”๋“œ ๋ณต์žก๋„, ๋‚จ์€ ๊ฒฐํ•จ ๋“ฑ์„ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • ์ข…๋ฅ˜ :
    • ๋™๋ฃŒ ๊ฒ€ํ† (Peer Review) : 2~3๋ช…์ด ์ง„ํ–‰ํ•˜๋Š” ๋ฆฌ๋ทฐ์˜ ํ˜•ํƒœ๋กœ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ์ž‘์„ฑ์ž๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ์ดํ•ด๊ด€๊ณ„์ž๋“ค์ด ์„ค๋ช…์„ ๋“ค์œผ๋ฉด์„œ ๊ฒฐํ•จ์„ ๋ฐœ๊ฒฌํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒ€ํ†  ๊ธฐ๋ฒ•
    • ์›Œํฌ์Šค๋ฃจ(Walk Throughts) : ๊ฒ€ํ†  ์ž๋ฃŒ๋ฅผ ํšŒ์˜ ์ „์— ๋ฐฐํฌํ•ด์„œ ์‚ฌ์ „ ๊ฒ€ํ† ํ•œ ํ›„ ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ฐ€์žฅ ๋น„ํ˜•์‹์ ์ธ ๊ฒ€ํ†  ๊ธฐ๋ฒ•
      ๊ด€๋ฆฌ์ž ์ง์ฑ…์„ ๋‹ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋ฉค๋ฒ„๋กœ ์ฐธ์—ฌ ๋ชปํ•จ
    • ์ธ์ŠคํŽ™์…˜(Inspection) : ์†Œํ”„ํŠธ์›จ์–ด ์ €์ž‘์ž ์™ธ์˜ ๋‹ค๋ฅธ ์ „๋ฌธ๊ฐ€ ๋˜๋Š” ํŒ€์ด ๊ฒ€์‚ฌํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๋ฌธ์ œ์— ๋Œ€ํ•œ ์˜ฌ๋ฐ˜๋ฅธ ํ•ด๊ฒฐ์„ ์ฐพ์•„๋‚ด๋А ํ˜•์‹์ ์ธ ๊ฒ€ํ†  ๊ธฐ๋ฒ•
      ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ๊ฒ€์‚ฌํ•ด์•ผ๋งŒ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ ์ž‘์—…๋ฌผ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Œ
    • ์ฝ”๋“œ ๊ฒ€์‚ฌ...

Dynamic Testing(๋™์  ํ…Œ์ŠคํŠธ)

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์ฐพ๋Š” ํ…Œ์ŠคํŠธ์ด๋‹ค.

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋ชจ๋“  ๋‹จ๊ณ„์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰
  • ์ข…๋ฅ˜ : ๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ, ํ™”์ดํŠธ๋ฐ•์Šค ํ…Œ์ŠคํŠธ

Testing with Purpose

  • Recovery(ํšŒ๋ณต) Test
  • Security(์•ˆ์ „) Test
  • Stress(๊ฐ•๋„) Test : ์‹œ์Šคํ…œ์— ๊ณผ๋„ํ•œ ์ •๋ณด๋Ÿ‰์ด๋‚˜ ๋นˆ๋„ ๋“ฑ์„ ๋ถ€๊ณผํ•˜์—ฌ ๊ณผ๋ถ€ํ•˜์‹œ์—๋„ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ
  • Performance(์„ฑ๋Šฅ) Test
  • Structure(๊ตฌ์กฐ) Test
  • Regression(ํšŒ๊ท€) Test : ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋กœ ์ธํ•ด ๋ณ€๊ฒฝ๋œ ๋ชจ์œจ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ์— ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ
    • ์ด๋ฏธ ํ…Œ์ŠคํŠธ๋œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ…Œ์ŠคํŒ…์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ
    • ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋Š” ์ˆ˜์ •ํ•œ ๋ชจ๋“ˆ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€, ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š์•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜์—ฌ ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ์„ ๋ณด์ฆํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต ํ…Œ์ŠคํŠธ๋ฅผ ํ•จ
  • Parallel(๋ณ‘ํ–‰) Test

WhiteBox Test

ํ™”์ดํŠธ๋ฐ•์Šค ํ…Œ์ŠคํŠธ(WhiteBox Test)๋Š” ๋ชจ๋“ˆ์˜ ์›์‹œ ์ฝ”๋“œ(source code)๋ฅผ ์˜คํ”ˆ์‹œํ‚จ ์ƒํƒœ์—์„œ ์›์‹œ ์ฝ”๋“œ์˜ ๋…ผ๋ฆฌ์ ์ธ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ํ…Œ์ŠคํŠธํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

  • Module ์•ˆ์˜ ์ž‘๋™์„ ์ง์ ‘ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Œ
  • ์›์‹œ ์ฝ”๋“œ์˜ ๋ชจ๋“  ๋ฌธ์žฅ์„ ํ•œ ๋ฒˆ ์ด์ƒ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ์ˆ˜ํ–‰ ๋จ

Types of WhiteBox Tests

  • Base Path Testing(๊ธฐ์ดˆ ๊ฒฝ๋กœ ๊ฒ€์‚ฌ) :
    ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„์ž๊ฐ€ ์ ˆ์ฐจ์  ์„ค๊ณ„์˜ ๋…ผ๋ฆฌ์  ๋ณต์žก์„ฑ์„ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ…Œ์ŠคํŠธ ๊ธฐ๋ฒ•
  • Condition Testing(์ œ์–ด ๊ตฌ์กฐ ๊ฒ€์‚ฌ) :
    • ์กฐ๊ฑด ๊ฒ€์‚ฌ : ํ”„๋กœ๊ทธ๋žจ ๋ชจ๋“ˆ ๋‚ด์— ์žˆ๋Š” ๋…ผ๋ฆฌ์  ์กฐ๊ฑด์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„ ๊ธฐ๋ฒ•
    • Loop Testing(๋ฃจํ”„ ๊ฒ€์‚ฌ) : ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฐ˜๋ณต ๊ตฌ์กฐ์— ์ดˆ์ ์„ ๋งž์ถฐ ์‹ค์‹œํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„ ๊ธฐ๋ฒ•
    • Data Flow Testing(๋ฐ์ดํ„ฐ ํ๋ฆ„ ๊ฒ€์‚ฌ) : ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ€์ˆ˜์˜ ์ •์˜์™€ ๋ณ€์ˆ˜ ์‚ฌ์šฉ์˜ ์œ„์น˜์— ์ดˆ์ ์„ ๋งž์ถฐ ์‹ค์‹œํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์„ค๊ณ„ ๊ธฐ๋ฒ•

WhiteBox Tests Coverage

  • 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

๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ(BlackBox Test)๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ˆ˜ํ–‰ํ•  ํŠน์ • ๊ธฐ๋Šฅ์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ ๊ฐ ๊ธฐ๋Šฅ์ด ์™„์ „ํžˆ ์ž‘๋™๋˜๋Š” ๊ฒƒ์„ ์ž…์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ๊ธฐ๋Šฅ ํ…Œ์Šค๋ผ๊ณ  ํ•œ๋‹ค.

  • ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ๋ฅผ ๋ณด๋ฉด์„œ ํ…Œ์ŠคํŠธ
  • ์ฃผ๋กœ ๊ตฌํ˜„๋œ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธ
  • ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์‹ค์‹œ

Types of BlackBox Tests

๋™ ๊ฒฝ ์› ๊ฒฐ ์ƒ ์œ  ๋ถ„ ํŽ˜ ์› ์˜ค ๋น„

  • 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.

profile
สšศ‰ษž

0๊ฐœ์˜ ๋Œ“๊ธ€