회사에 정신 없는 일들이 들이닥쳐서 바쁘다는 핑계로 포스팅에 뜸했다.
오늘은 그동안 정리하고 싶었던 리그레션 테스팅(Regression Testing)에 대해 이야기해보겠다.
소프트웨어에 변경 사항이 발생했을 때,
기존 기능이 제대로 작동하는지를 확인하는 테스트 과정이다. 리그레션 테스트는 버그 수정, 기능 추가, 코드 리팩토링 등의 작업 이후, 예상치 못한 오류가 발생하지 않았는지 확인하는 데 초점을 둔다.
즉, 한국어로 해석하면 회귀 테스트이며 주로 다음과 같은 경우에 사용된다.
1. 버그 수정 후: 수정된 코드가 새로운 문제를 만들지 않았는지 확인
2. 새로운 기능 추가 후: 기존 기능이 의도대로 작동하는지 보장
3. 코드 리팩토링 후: 구조 변경이 동작에 영향을 미치지 않는지 확인
새로운 변경 사항이 기존 기능을 망가뜨리지 않았음을 확인
제품의 안정성을 보장하여 사용자 신뢰를 유지
변경 사항으로 인해 발생할 수 있는 결함을 초기 단계에서 발견
기능 테스트(Functionality Testing)
새로운 기능이 기존 기능과 상호 작용할 때 오류가 없는지 확인
결합 테스트(Integration Testing)
모듈 간 통합에 따른 문제 발생 여부 점검
UI/UX 테스트
변경된 UI 요소가 사용성에 미치는 영향을 점검
성능 테스트(Performance Testing)
변경 사항이 성능 저하를 유발하지 않았는지 확인
반복 테스트 작업은 자동화하여 시간과 비용을 절약한다.
변경 사항이 전체 시스템에 미치는 영향을 평가하고, 충분한 테스트 케이스를 작성한다.
CI/CD 파이프라인에 리그레션 테스트를 포함하여 문제를 조기에 발견한다.
적절한 테스트 데이터를 유지하고, 실제 환경과 유사한 조건을 구성한다.
리그레션 테스팅은 소프트웨어 품질 보장을 위한 핵심 프로세스이다. QA 엔지니어는 이를 통해 사용자 경험을 개선하고 제품의 안정성을 유지할 수 있다. 또한, 효율적인 테스트 자동화와 체계적인 접근법을 통해 리그레션 테스팅의 가치를 극대화할 수 있으니 자동화 공부를 열심히 해보자 :)
리그레션 테스트에 대해 알아갑니다~.~