3.5 리그레션 테스트
유지보수 단계에서 소프트웨어 수정 하는 이유
- 결함 수정 작업: 소프트웨어를 사용하는 도중 발견된 결함을 수정 / 21%
- 기능 보강 작업: 기능을 추가하거나 성능을 개선 / 50%
- 적응 작업: 새로운 운영환경에 적응시기위위한 유지보수 / 25%
- 예방 작업: 더 나은 유지보수를 위한 유지보수 / 4%
유지보수 활동에는 소프트웨어 수정이 수반되기 때문에 변경 작업 후 결함이 있는지 확인 = 리그레션 테스트
개발 단계에서 사용한 테스트 케이스 사용하여 수정 전후 차이를 비교
동일한지, 동일하지 않다면 의도한 것인지 확인
시간 및 비용이 한정적이기 때문에 테스트 케이스의 규모를 잘 고려해야 함

Retest-All
기존에 개발된 모든 테스트 케이스를 사용하는 방식
복잡한 테스트 절차를 요구하지 않지만 많은 시간과 자원이 필요
선택적 리그레션 테스트
기존의 테스트 케이스 중에서 일부만 선정
슬라이싱 기법, 자료 흐름 분석 기법과 같은 변경 영향 분석을 통해 수정 전후 다른 결과를 출력한 가능성이 있는 테스트 케이스 식별
테스트 최소화 방식
중복된 테스트 케이스를 제거하어 테스트 케이스의 수를 줄이는 방식
중복 테스트 케이스를 식별하기 위해 커버리지 개념 사용
실제 테스트 케이스가 제거되기 때문에 변경되는 부분과 관련된 테스트 케이스가 제거될 위험이 있어 주의 필요
테스트 우선순위화 방식
테스트 케이스에 우선순위를 두어 우선순위가 높은 테스트 케이스만을 활용하는 방식
많은 결함을 검출할 수 있도록 테스트 케이스의 실행 순서를 결정
우선순위와 효과성을 평가하기 위한 척도로 APFD를 사용
가능한 높은 APFD를 갖도록 테스트 케이스에 우선순위 등급을 부여
결함 검출률이 높은 테스트 케이스 선별은 어려운 일이라 여렁 ㅛ인들을 고려하여 우선순위 등급 설정
APFD
테스트 케이스의 실행 수 대비 검출된 결함의 비율을 측정
높은 APFD는 더 적은 수의 테스트 케이스를 실행하여 많은 결함을 빨리 검출

컴포넌트 테스트, 통합 테스트, 시스템 테스트를 비롯한 모든 단계에서 수행됨
테스트 유지보수 단계에서는 더 이상 필요 없는 테스트 케이스를 제거하는 과정 있음
요구사항이 변경되어 입출력 관계가 변했을 때도 테스트 케이스도 요구사항에 맞춰 변경
새로 추가된 테스트 케이스가 있다면 이 테스트 케이스를 자동화하는 작업도 추가될 수 있음
리그레션 테스트는 많은 테스트 케이스를 실행하기 때문에 가급적 자동화하는 편이 효율적
'도서 및 강의 > 소프트웨어 테스트 전문가(CSTS) 가이드' 카테고리의 다른 글
| 4장 품질 특성과 비기능 테스트 - 4.2 기능 적합성 테스트 (0) | 2025.11.26 |
|---|---|
| 4장 품질 특성과 비기능 테스트 - 4.1 개요 (0) | 2025.11.26 |
| 3장 소프트웨어 개발 단계와 테스트 - 3.4 시스템 테스트 및 인수 테스트 (0) | 2025.11.25 |
| 3장 소프트웨어 개발 단계와 테스트 - 3.통합 테스트 (0) | 2025.11.25 |
| 3장 소프트웨어 개발 단계와 테스트 - 3.2 컴포넌트 테스트 (0) | 2025.11.25 |