소프트웨어 테스트에서 테스트코드가 실제 애플리케이션 코드를 얼마나 실행했는지를 측정하는 지표
테스트가 전체 코드 중 어느 정도를 검사했는지 확인하는 방법!
```java if ( i > 0 ) {- i>0 일 때와 아닐 경우가 모두 테스트되어야 100% 커버리지코드 커버리지는 자동화 도구를 사용해 측정할 수 있음
| 언어 | 코드 커버리지 도구 |
|---|---|
| Java | JaCoCo, Cobertura |
| Python | Coverage.py |
| JavaScript | Istanbul(nyc), Jest |
| C/C++ | gcov, LCOV |
| C# | Visual Studio Code Coverage, Coverlet |
코드 커버리지가 높다고 해서 완벽한 테스트라고는 볼 수 없다.
커버리지는 단순히 코드가 실행되었는지 확인하는 것으로, 올바른 결과를 검증하는 것과는 별개이다.
높은 커버리지는 코드의 안정성과 신뢰를 높이나, 모든 버그를 찾아낼 수는 없다.
모든 엣지 케이스를 고려해서 테스트하는 것이 중요하다.
자원의 한계가 있으나 모든 케이스틑 테스트 할 수도 없으니 상황에 따라 적절히 판단하여 실행하는 것이 중요한 것 같다.