E D R , A S I H C RSS

Code Coverage

CodeCoverage λŠ” Testing 이 λͺ©ν‘œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ–Όλ§ŒνΌ μΆ©λΆ„νžˆ ν…ŒμŠ€νŠΈν•˜λŠ”κ°€μ— λŒ€ν•œ μΈ‘μ • μ§€ν‘œμ΄λ‹€.

μœ„ν‚€ νŒ¨λ””μ•„ μ—μ„œ μ •μ˜


CodeCoverage λŠ” Software Testing μ—μ„œ μ‚¬μš©ν•˜λŠ” μΈ‘μ • λ„κ΅¬μ€‘μ˜ ν•˜λ‚˜μ΄λ‹€. ν”„λ‘œκ·Έλž¨μ΄ ν…ŒμŠ€νŠΈλœ μ†ŒμŠ€ μ½”λ“œμ˜ μ •λ„λΌ κΈ°μˆ ν•œλ‹€. μ΄λŠ” λ‹€λ₯Έ λŒ€λ‹€μˆ˜μ˜ λ‹€λ₯Έ ν…ŒμŠ€νŠΈ λ©”μ†Œλ“œμ™€ λ‹€λ₯Έλ‹€. μ™œλƒν•˜λ©΄ CodeCoverage λŠ” μ†Œν”„νŠΈμ›¨μ–΄ κΈ°λŠ₯, Object interface κ³Ό 같은 λ‹€λ₯Έ μΈ‘μ • 방법에 λΉ„ν•˜μ—¬ source codeλΌ μ§μ ‘ 보기 ㅀㄸㅒㅀ문이닀.

λͺ‡κ°€μ§€ CodeCoverage 의 μΈ‘μ •μ˜ 방법이 μžˆλ‹€. 그쀑 쀑점적인것 λͺ‡κ°€μ§€λΌ 보면
  • StatementCoverage - 각 μ†ŒμŠ€ μ½”λ“œ 각 라인이 ν…ŒμŠ€νŠΈ μ‹œμ— μ‹€ν–‰λ˜λŠ”κ°€?
  • ConditionCoverage - 각 μΈ‘μ • μ‹œμ ( κ°€λ Ή true/false 선택 λ”°μœ„) 이 μ‹€ν–‰λ˜κ³  ν…ŒμŠ€νŠΈ λ˜λŠ”κ°€?
  • PathCoverage - 주어진 μ½”λ“œ λΆ€λΆ„μ˜ κ°€λŠ₯ν•œ λͺ¨λ“  κ²½λ‘œκ°€ μ‹€ν–‰λ˜κ³ , ν…ŒμŠ€νŠΈ λ˜λŠ”κ°€? (Note λ£¨ν”„μ•ˆμ— 가지(뢄기점)λΌ ν¬ν•¨ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ— λŒ€ν•˜μ—¬ μ½”λ“œμ— λŒ€ν•˜μ—¬ κ°€λŠ₯ν•œ λͺ¨λ“  κ²½λ‘œλΌ μ„ΈλŠ”κ²ƒμ€ 거의 λΆˆκ°€λŠ₯ν•˜λ‹€. See Also HaltingProblem링크 )

일반적으둜 μ†ŒμŠ€ μ½”λ“œλŠ” λͺ¨λ“ˆν™”λΌ 톡해 λ„κ΅¬μ²˜λŸΌ λ§Œλ“€μ–΄μ§€κ³ , νšŒκ·€(regression) ν…ŒμŠ€νŠΈλ“€μ„ 톡해 μ‹€ν–‰λ˜μ–΄ 진닀. κ²°κ³Ό 좜λ ₯은 싀행지 μ•Šμ€ μ½”λ“œλ“€μ„ 보고, μ΄λŸ¬ν•œ 뢀뢄에 λŒ€ν•œ ν…ŒμŠ€νŠΈλ“€μ΄ ν•„μš”ν•¨μ„ 뢄석해 λ‚Έλ‹€. λ‹€λ₯Έ κ΄€μ μ˜ CodeCoverage 방법듀과 ν˜Όμš©ν•˜λŠ” 것은 νšŒκ·€ ν…ŒμŠ€νŠΈλ“€μ˜ κ΄€λ¦¬ν•˜λŠ” νšŒκ·€ ν…ŒμŠ€νŠΈλ“€μ—κ²Œ μ€λ” μ—„κ²©ν•œ κ°œλ°œμ„ μ΄λŒμ–΄ λ‚Έλ‹€.

CodeCoverage λŠ” μ΅œμ’…μ μœΌλ‘œ νΌμ„ΌνŠΈλ‘œ ν‘œν˜„ν•œλ‹€. κ°€λ Ή μš°λ¦¬λŠ” 67% μ½”λ“œλΌ ν…ŒμŠ€νŠΈν•œλ‹€. 라고 말이닀. μ΄κ²ƒμ˜ 의λΈλŠ” 이용된 CodeCoverage 에 λŒ€ν•œ μ–Όλ§ˆλ§ŒνΌμ˜ μ˜μ‘΄μ„±μ„ κ°€μ§€λŠ”κ°€μ΄λ‹€. κ°€λ Ή 67%의 PathCoverageλŠ” 67%의 StatementCoverage 에 λΉ„ν•˜μ—¬ μ€λ” λ²”μœ„κ°€ λ„“λ‹€.

See also: RegressionTesting, StaticCodeAnalysis

Code Coverage Tool


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:54
Processing time 0.0340 sec