나의 잡다한 노트 및 메모
회귀 테스트 본문
회귀 테스트(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 |