Learning
토픽 62 / 192·소프트웨어 테스트

테스트 자동화 (Test Automation)

테스트 자동화 (Test Automation)

테스트 실행, 결과 비교, 보고를 소프트웨어 도구를 사용하여 자동으로 수행하는 것

목적: 반복 작업 감소, 회귀 테스트 효율화, 빠른 피드백

자동화 대상

  • 적합: 반복 실행, 회귀 테스트, 데이터 기반 테스트, CI/CD
  • 부적합: 1회성, 탐색적 테스트, UI 빈번 변경

테스트 피라미드

  • 단위 테스트(많이): 빠름, 저비용
  • 통합/서비스 테스트(중간)
  • UI/E2E 테스트(적게): 느림, 고비용

자동화 도구

  • 단위: JUnit, pytest, Jest
  • API: Postman, RestAssured
  • UI: Selenium, Cypress, Playwright
  • 성능: JMeter, k6, Gatling
  • BDD: Cucumber, SpecFlow

성공 요인: 유지보수 가능한 테스트 코드, 적절한 범위 선정

비교: 자동화(반복/회귀) vs 수동(탐색적/1회성)

연관: CI/CD, DevOps, 테스트 피라미드