pytest로 성능 테스트

Python 테스트 입문

Alexander Levin

Data Scientist

성능 테스트란

성능(Performance): 소프트웨어가 시스템 자원을 사용해 작업을 수행하는 효율성입니다.

성능 테스트(Performance Testing): 소프트웨어 성능을 측정하는 테스트입니다.

Python 테스트 입문

성능 테스트가 중요한 때

자원:

  • 실행 시간
  • CPU
  • RAM
  • 기타 자원

사례:

  • 웹사이트 속도 최적화
  • 수백만 요청을 받는 앱
  • 로봇청소기 경로 계획
Python 테스트 입문

benchmark 픽스처

설치:

pip install pytest-benchmark
# Example_1.py
import time
def test_func(benchmark):
    benchmark(time.sleep, 1)

CLI 명령:

pytest Example_1.py
Python 테스트 입문

벤치마킹 결과

CLI 명령 실행 후 결과: pytest 명령 실행 후 벤치마킹 결과

time.sleep(1) 대신 time.sleep(3)인 경우: 1 대신 3초 sleep을 사용한 프로그램의 pytest 실행 후 벤치마킹 결과

Python 테스트 입문

benchmark 데코레이터

# Example_2.py
import time
def test_func(benchmark):
    @benchmark
    def sleep_for_1_sec():
        time.sleep(1)

CLI 명령:

pytest Example_2.py
Python 테스트 입문

요약

  • 성능 테스트: 소프트웨어의 성능을 측정하는 테스트입니다.
  • 자원은 보통 유한합니다.
  • 자원이 제한될 때 유용합니다.
  • pytest-benchmark 픽스처 사용 방법:
    • benchmark를 직접 호출
    • @benchmark 데코레이터 사용
  • 결과는 초 단위로 측정 실행 샘플을 설명합니다.
Python 테스트 입문

Ayo berlatih!

Python 테스트 입문

Preparing Video For Download...