나의 잡다한 노트 및 메모

회귀 테스트 본문

QA

회귀 테스트

peanutwalnut 2025. 4. 5. 23:08

회귀 테스트(Regression Testing)는 소프트웨어 변경 후 기존 기능들이 여전히 정상적으로 작동하는지를 확인하기 위한 테스트 절차이다. 

 

회귀 테스트의 정의

회귀 테스트는 소스 코드에 변경(버그 수정, 기능 추가, 개선 등)이 이루어진 후, 변경 사항이 기존에 잘 동작하던 기능에 의도치 않은 영향을 미치지 않았는지 검증하는 과정입니다.
즉, 코드 변경으로 인해 “회귀(regression)” 즉, 기존 기능에 문제가 발생하는 것을 방지하기 위해 수행됩니다.

 

 

회귀 테스트의 목적

  • 기존 기능 보장:
    변경 후에도 애플리케이션의 모든 주요 기능이 정상적으로 동작하는지 확인합니다.
  • 예기치 않은 오류 예방:
    수정된 부분이나 새로 추가된 기능이 기존 코드와 상호 작용할 때 발생할 수 있는 부작용을 조기에 발견합니다.
  • 품질 유지:
    소프트웨어의 안정성과 신뢰성을 유지하며, 사용자에게 지속적으로 높은 품질의 제품을 제공하기 위해 필요합니다.

 

회귀 테스트의 수행 시점

  • 버그 수정 후:
    특정 버그를 수정한 후, 그 수정이 다른 부분에 영향을 주지 않았는지 확인합니다.
  • 기능 추가/변경 후:
    새로운 기능을 추가하거나 기존 기능을 개선한 후, 기존의 기능들과 충돌이 없는지 검증합니다.
  • 정기적인 검증:
    주기적으로 또는 빌드가 완료될 때마다 자동화된 회귀 테스트 스위트를 실행하여 전체 시스템의 안정성을 확인합니다.

 

회귀 테스트의 특징

  • 포괄적 테스트:
    소프트웨어 전체 또는 주요 기능들을 대상으로 실시하여, 예상치 못한 결함이 없는지 점검합니다.
  • 자동화:
    반복적인 테스트 과정을 자동화 도구를 통해 수행함으로써, 테스트 효율성을 높이고 인적 오류를 줄입니다.
  • 비용 및 시간 고려:
    테스트 범위가 넓어질수록 시간이 많이 소요될 수 있으므로, 변경 사항의 규모와 중요도에 따라 테스트 범위를 선택적으로 수행하기도 합니다.

회귀 테스트의 전략

  • 전체 회귀 테스트:
    소프트웨어의 전체 기능을 대상으로 실행하여 모든 부분에서 문제가 없는지 확인합니다.
  • 선택적 회귀 테스트:
    변경된 부분과 그 영향이 예상되는 영역만을 집중적으로 테스트하여, 시간과 리소스를 절약합니다.
  • 자동화 테스트 스위트 활용:
    자주 변경되는 코드에 대해서는 테스트 자동화를 적용해 반복적으로 테스트를 실행할 수 있도록 합니다.

 

'QA' 카테고리의 다른 글

Sanity test와 Smoke test  (0) 2025.04.05
QA ( Quality Assurance )란?  (1) 2025.03.30
릴리즈 품질 기준안  (0) 2025.03.30
Full-TC와 탐색적 검증 (Exploratory Testing)  (0) 2025.03.30