λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“– Note

Codecov? λ­λ‹ˆ λ„ˆ.. μ½”λ“œ.. 컀버리지...λŠ” 또...OTL

PyPIμ—μ„œ 라이브러리λ₯Ό κ²€μƒ‰ν•˜κ³  μžˆλŠ”λ° 이런 ν‘œμ‹œλ₯Ό λ³΄μ•˜λ‹€.

 

 

μ½”λ“œκ°€ μ™„μ„±λ˜μ§€ μ•Šμ•˜λ‹€λŠ” λœ»μΈκ°€ ν•˜κ³  μƒκ°ν–ˆλ˜ λ¬΄μ§€ν•œ λ‚˜λŠ”..πŸ˜‚ Codecovκ°€ 무엇인지 μ°Ύμ•„λ³΄μ•˜κ³ 

μ € μ€ν–‰λ‚˜λ¬΄ 잎 ν‘œμ‹œκ°€ μ½”λ“œ 컀버리지λ₯Ό μΈ‘μ •ν•΄μ£ΌλŠ” 도ꡬ듀 쀑 ν•˜λ‚˜μΈ 것을 μ•Œμ•˜λ‹€.

PyPIμ—μ„œ μ € ν‘œμ‹œλ₯Ό λˆ„λ₯΄λ©΄ ν•΄λ‹Ή μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•˜λŠ”λ° μ‚¬μ΄νŠΈ 이름도 Codecov이닀.

μ½”λ“œ 컀버리지( Code Coverage )λž€?

μ†Œν”„νŠΈμ›¨μ–΄μ˜ ν…ŒμŠ€νŠΈκ°€ μ–Όλ§ˆλ‚˜ μ½”λ“œλ₯Ό 잘 μ»€λ²„ν•˜κ³  μžˆλŠ” κ°€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ§€ν‘œ 쀑 ν•˜λ‚˜, 

μ†Œν”„νŠΈμ›¨μ–΄μ˜ ν…ŒμŠ€νŠΈλ₯Ό λ…Όν•  λ•Œ μ–Όλ§ˆλ‚˜ ν…ŒμŠ€νŠΈκ°€ μΆ©λΆ„νžˆ λ˜μ—ˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ§€ν‘œ 쀑 ν•˜λ‚˜λΌκ³  ν•œλ‹€.

 

. . .πŸ™„;;

 

μ‰½κ²Œ λ§ν•΄μ„œ μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν–ˆμ„ λ•Œ μ½”λ“œ μžμ²΄κ°€ μ–Όλ§ˆλ‚˜ μ‹€ν–‰λ˜μ—ˆλƒλŠ” 것을 λ‚˜νƒ€λ‚΄λŠ” 것 μ΄λ‹€!

= μ†ŒμŠ€ μ½”λ“œκ°€ ν…ŒμŠ€νŠΈλœ 정도λ₯Ό λ‚˜νƒ€λ‚Έ 것

 

μ†ŒμŠ€μ½”λ“œ λ‚΄λΆ€λ₯Ό λ“€μ—¬λ‹€ 봐야 ν•¨μœΌλ‘œ ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŠΈμ— μ†ν•œλ‹€.

더보기

κ°„λ‹¨νžˆ μ•Œμ•„λ³΄λŠ” 짧은 상식 πŸ’¦

 

1. λΈ”λž™λ°•μŠ€ ν…ŒμŠ€νŠΈ( Black Box Test )

- ν…ŒμŠ€νŠΈ μ‹œ 객체 내뢀에 무엇이 λ“€μ–΄ μžˆλŠ”μ§€ μ•Œ 수 μ—†κ±°λ‚˜ μ•Œμ§€ μ•Šμ•„λ„ λœλ‹€λŠ” 것을 것을 κ°€μ •ν•˜μ—¬ ν…ŒμŠ€νŒ…ν•˜λŠ” 방법.

- 객체 λ‚΄λΆ€κ°€ λ³€ν•˜λŠ” 것에 상관없이 μž…λ ₯을 μ£Όμ—ˆμ„ λ•Œ μ›ν•˜λŠ” κ²°κ³Ό 값이 λ‚˜μ˜€λ©΄ ν…ŒμŠ€νŠΈ 톡과.

=> μ½”λ“œλ₯Ό ν™•μΈν•˜μ§€ μ•ŠμŒ, input λ„£μ–΄μ„œ μ›ν•˜λŠ” output λ‚˜μ˜€λ©΄ 톡과

 

2. ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŠΈ( White Box Test)

- 객체 λ‚΄λΆ€λ₯Ό ν™•μΈν•˜κ³  κ²€μ¦ν•˜λŠ” ν…ŒμŠ€νŒ… 방법.

- 쓰이지 μ•ŠλŠ” λ³€μˆ˜λŠ” μ—†λŠ”μ§€, νŠΉμ • λ²”μœ„λ§Œ λ°›λŠ” ν•¨μˆ˜κ°€ μžˆλŠ”μ§€ 등을 확인

=> μ½”λ“œλ₯Ό μƒμ„Ένžˆ ν•˜λ‚˜ν•˜λ‚˜ 확인함, μ½”λ“œκ°€ 효율적으둜 쓰이고 μžˆλŠ”μ§€ 확인함

 

μ½”λ“œμ˜ ꡬ쑰λ₯Ό μ΄λ£¨λŠ” 것은 크게 ꡬ문( Statement ), 쑰건 ( Condition ), κ²°μ • ( Decision ) μœΌλ‘œ λ‚˜λ‰˜λ©°,

μ΄λŸ¬ν•œ ꡬ쑰λ₯Ό μ–Όλ§ˆλ‚˜ μ»€λ²„ν–ˆλŠλƒμ— 따라 μ½”λ“œμ»€λ²„λ¦¬μ§€ μΈ‘μ • 기쀀이 λ‚˜λ‰˜κ²Œ λœλ‹€.

맛보기: λŒ€ν‘œμ μΈ μΈ‘μ •κΈ°μ€€ 3κ°€μ§€λ§Œ μ•Œμ•„λ³΄μž

    • ꡬ문 컀버리지: μ½”λ“œ ν•œ 쀄이 ν•œ 번 이상 μ‹€ν–‰λ˜λ©΄ μΆ©μ‘±λœλ‹€.
    • 쑰건 컀버리: 각 λ‚΄λΆ€ 쑰건이 μ°Έ ν˜Ήμ€ 거짓을 가지면 μΆ©μ‘±λœλ‹€.
    • κ²°μ • 컀버리지: 각 λΆ„κΈ°μ˜ λ‚΄λΆ€ 쑰건의 μ°Έ/거짓이 μ•„λ‹ˆλΌ μ½”λ“œ 전체적인 κ²°κ³Όκ°€ μ°Έ ν˜Ήμ€ 거짓이면 μΆ©μ‘± λœλ‹€.

 

 


Thanks for