[python] 테스트 커버리지(Test Coverage) 측정 방법

테스트 커버리지란 소프트웨어의 테스트 스위트가 얼마나 코드를 실행했는지를 나타내는 지표입니다. 이를 통해 코드의 얼마나 많은 부분이 테스트되었는지 알 수 있으며, 테스트의 품질과 완결성을 평가하는 데 사용됩니다.

테스트 커버리지를 측정하는 가장 일반적인 방법은 코드 커버리지 도구를 사용하는 것입니다. 파이썬의 경우, coverage.py와 같은 도구를 사용하여 테스트 커버리지를 측정할 수 있습니다.

coverage.py를 사용한 테스트 커버리지 측정 예시

coverage.py는 파이썬 프로그램의 테스트 커버리지를 측정하기 위한 도구입니다. 다음은 coverage.py를 사용하여 테스트 커버리지를 측정하는 간단한 예시입니다.

# test_coverage_example.py

def divide(x, y):
    return x / y

def test_divide():
    assert divide(4, 2) == 2
    assert divide(0, 1) == 0
    assert divide(5, 0) == float('inf')

위의 코드를 test_coverage_example.py로 저장하고, 다음 명령을 사용하여 coverage.py를 실행합니다.

$ coverage run test_coverage_example.py

테스트를 실행한 후, 다음 명령을 사용하여 테스트 커버리지 보고서를 생성합니다.

$ coverage report -m

이제 테스트 커버리지 보고서를 통해 코드의 어느 부분이 테스트되었는지, 그리고 어느 부분이 테스트되지 않았는지를 확인할 수 있습니다.

결론

테스트 커버리지는 소프트웨어의 품질과 안정성을 평가하는 중요한 지표입니다. coverage.py와 같은 도구를 사용하여 테스트 커버리지를 측정하고, 테스트 스위트를 향상시키는 것은 소프트웨어 개발 프로세스에서 중요한 과정입니다.

Reference: Coverage.py - https://coverage.readthedocs.io/en/coverage-5.5/