lcov, llvm-cov JSON, Cobertura, JaCoCo, Istanbul, SimpleCov, Clover, OpenCover, coverage.py, gcov, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover, dotCover 추적 파일을 읽어 하나의 정규 모델로 정규화하고, 실행 결과를 결정론적으로 병합해, 그 결과를 편집기 여백에서 바로 확인하세요 — VS Code에서, 그리고 모든 에디션의 Visual Studio 2022와 2026에서. 편집기를 떠나 따로 열어야 할 뷰어는 없습니다.
무료로 시작합니다. Fucini Coverage Studio는 14일 체험 기간 동안 모든 기능이 잠금 해제된 상태로 무료로 실행됩니다. 그 이후에도 사용을 막지 않고 무료 Community 등급으로 전환됩니다 — MC/DC를 제외한 모든 기능을 쓸 수 있으며, 그중 몇 가지에는 넉넉한 월간 한도가 적용됩니다. 제한 없는 기능 세트가 필요하면 언제든 업그레이드하거나, 상세한 사용 텔레메트리를 공유해 모든 기능을 무료로 잠금 해제할 수 있습니다. 요금제 보기 →
다음 예정: 이 모든 커버리지를 Azure DevOps에서, 무료 확장으로. Azure DevOps는 빌드의 커버리지를 자체 형식이 담는 만큼만 보여 줍니다 — 줄, 그리고 백분율로 된 분기. Fucini DevOps Studio는 Coverage Studio가 읽는 것 전부를 보여 줄 것입니다: 이 25가지 형식 모두를, 모든 언어에 대해, MC/DC, 조건, 종합 점수, 게이트와 함께, 그것을 만든 파이프라인의 Coverage 탭으로. 첫 릴리스 소식은 뉴스를 확인하세요.
Screenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).AI가 테스트를 작성했다면
언어 모델은 몇 초 만에 테스트 묶음을 써 주고, 읽기에도 그럴듯합니다. 하지만 그 테스트가 정말 중요한 곳에 닿는지는 알려 주지 못합니다. 줄 커버리지도 마찬가지입니다. 단언문이 하나도 없는 테스트라도 지나간 줄은 모두 켜지기 때문입니다.
MC/DC와 분기 커버리지는 줄에 도달했는지가 아니라 각 분기가 실제로 실행되었는지를 보여 줍니다. 생성된 테스트는 대개 정상 경로만 지나가고 모든 if의 반대편은 건드리지 않습니다. 줄 100%, 분기 50%로 나타나는 그 간격이 바로 발견입니다.
데드 코드 탐지는 어떤 테스트도 닿지 않은 함수를 나열합니다. 생성된 묶음은 테스트 제목에서 그 이름을 부르지만 실제로는 도달하지 않으며, 전부 초록인 실행에서는 보이지 않습니다.
디프 커버리지는 git 기준선 대비 바뀐 부분만 측정합니다. 그래서 "테스트가 통과한다"가 "방금 받아들인 코드가 테스트되었다"로 바뀝니다. 사람이 썼든 어시스턴트가 썼든 똑같이 작동합니다.
이 가운데 무엇도 테스트가 좋다는 것을 증명하지는 않습니다. 어떤 것도 증명할 수 없습니다. 다만 무엇이 한 번도 실행되지 않았는지를 줄 단위로 정확히 알려 줍니다. 리뷰어가 머릿속에 담아 둘 수 없고 어시스턴트가 먼저 말해 주지 않는 부분입니다. Vitest, Jest, nyc를 통해 TypeScript와 JavaScript를, 그리고 해당 툴체인이 이미 만들어 내는 트레이스 파일을 통해 C, C++, Java, Ruby를 지원합니다.
차별점
LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON 및 일반 텍스트, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover, dotCover — 자동으로 감지되며 기록된 출처와 함께 결정론적으로 병합됩니다.
라인, 브랜치, 함수 거터, 개요 눈금자, 탐색기 배지, 그리고 Covered Files 뷰.
llvm-cov 기반 Modified Condition/Decision Coverage, 리전 및 C++ 인스턴스화 커버리지를 호버 시 결정별 세부 정보와 함께 제공합니다.
모든 지표에 걸친 단일 가중 조화 평균으로, 가중치는 IEC 61508 / ISO 26262 / DO-178C 등급에 맞춰져 있습니다.
지표별 임계값과 strict, whm, both 또는 either 모드에 따른 COMPLIANT / NON-COMPLIANT 판정.
장식을 git 기준 참조 대비 변경된 라인으로만 제한합니다 — PR이 실제로 무엇을 커버했고 커버하지 않았는지 정확히 검토하는 데 이상적입니다.
Fucini Coverage: Run Tests with Coverage. vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit, ctest를 인식해 커버리지를 켠 채로 테스트를 실행하고, 기록된 결과를 불러옵니다. 이미 트레이스 파일이 있나요? Fucini Coverage: Pick Coverage File이 그 파일을 불러오고 기억합니다.VS Code 1.88 이상, 또는 Visual Studio 2022나 2026이 필요합니다 — Community, Professional, Enterprise 중 하나 — 그리고 프로젝트가 이미 만들어 내는 커버리지 추적 파일. Visual Studio 2022에서 기본 커버리지는 Enterprise 전용이지만, Visual Studio용 Coverage Studio는 빌드가 이미 써낸 파일로 Community와 Professional에서도 보여줍니다.
VS Code 자체와 여러 무료 확장도 커버리지를 보여 줍니다. 아래는 2026년 9월 기준으로 각 도구의 자체 문서가 설명하는 기능입니다. README에 언급이 없는 항목은 추측하지 않고 그대로 표시했습니다.
| Fucini Coverage Studio | VS Code 기본 기능 | Coverage Gutters | Code Coverage (markis) | Gcov Viewer | |
|---|---|---|---|---|---|
| 커버리지의 출처 | 25가지 트레이스 파일 형식, 그리고 PIT·Stryker 뮤테이션 보고서 | 커버리지를 보고하는 테스트 확장 | lcov 및 XML 파일 | lcov 파일 | GCC의 .gcda 파일(gcov 사용) |
| 편집기의 미커버 줄 | ✓ | ✓ | ✓ | ✓, Problems에도 표시 | ✓ |
| 분기 커버리지(분기별) | ✓ | 테스트 확장이 보고하는 경우 | 설명 없음 | 설명 없음 | 설명 없음 |
| MC/DC | ✓ (Pro) | — | 설명 없음 | 설명 없음 | 설명 없음 |
| 여러 트레이스 파일 병합과 각 줄을 어느 파일이 커버했는지 | ✓ | — | 여러 파일 지원 | 설명 없음 | 설명 없음 |
| 트레이스 파일이 바뀌면 다시 불러오기 | ✓ | 마지막 테스트 실행을 표시 | ✓ | 설명 없음 | 설명 없음 |
| 변경분 커버리지, 임계값, 기록 | ✓ | diff 편집기에 커버리지 표시 | 설명 없음 | 설명 없음 | 설명 없음 |
| HTML 보고서 | 생성, 자체 호스팅 | — | 기존 보고서 미리보기 | 설명 없음 | 설명 없음 |
| AI 에이전트를 위한 커버리지: 언어 모델 도구와 MCP 서버 | ✓ | 설명 없음 | 설명 없음 | 설명 없음 | 설명 없음 |
| 한 줄을 실행한 테스트와, 변경 사항의 영향을 받는 테스트 | ✓ | 테스트 확장이 보고하는 경우 테스트별 커버리지 | 설명 없음 | 설명 없음 | 설명 없음 |
| 편집기에서 보는 뮤테이션 테스트 결과 | ✓ (PIT, Stryker) | 설명 없음 | 설명 없음 | 설명 없음 | 설명 없음 |
| 새 코드에 대한 게이트 | ✓ | 설명 없음 | 설명 없음 | 설명 없음 | 설명 없음 |
| Visual Studio와 명령줄에서도 같은 숫자 | ✓ | — | 설명 없음 | 설명 없음 | 설명 없음 |
VS Code 자체 뷰와 둘 중 하나를 고를 필요는 없습니다. 불러올 때마다 테스트별 필터를 포함해 기본 Test Coverage 패널에도 게시됩니다. 오래된 내용이 있나요? 문의 페이지에서 알려 주세요.
| 포맷 | 일반적인 파일 |
|---|---|
| LCOV | lcov.info, *.info |
| llvm-cov JSON | llvm-cov export --format=json |
| Cobertura XML | coverage.xml |
| JaCoCo XML | jacoco.xml |
| Istanbul / nyc | coverage-final.json |
| SimpleCov (Ruby) | .resultset.json, coverage.json |
| Clover XML | clover.xml |
| OpenCover XML | coverage.opencover.xml |
| coverage.py JSON | coverage.json (coverage json) |
| gcov / gcovr JSON | gcov --json-format --stdout, gcovr --json |
| Go coverage profile | coverage.out |
| SonarQube generic | <coverage version="1"> XML |
| GNATcoverage XML (Ada) | gnatcov coverage --annotate=xml |
| BullseyeCoverage XML | covxml output |
| Visual Studio | .coveragexml (dotnet-coverage convert) |
| Coveralls JSON | coveralls.json |
| Xcode xccov JSON | xcrun xccov view --report --json |