티스토리 뷰
유지보수에는 여러 범주가 있으며, 이는 환경 변화에 적응하거나 성능 또는 유지보수성을 개선하거나 결함을 수정하는 것일 수 있다(ISO/IEC 14764). 유지보수는 계획된 릴리스/배포와 비계획적 릴리스/배포(핫픽스)를 포함할 수 있다. 변경 사항이 시스템의 다른 영역에 미칠 잠재적 결과를 기반으로 변경 여부를 결정하기 위해, 변경이 이루어지기 전에 영향 분석을 수행할 수 있다. 운영 중인 시스템에 대한 변경 사항 테스트는 변경 구현의 성공 여부를 평가하고, 변경되지 않은 시스템 부분(대개 시스템의 대부분)에서 발생할 수 있는 회귀를 확인하는 것을 포함한다.
QA종사자라면 현업에서 가장 빈번하게, 그리고 기본적으로 수행하게 될 업무 중 하나이다.
1. 유지보수 테스트의 범위
유지보수 테스트의 범위는 일반적으로 다음 요소에 따라 결정된다.
- 변경 사항의 리스크 정도
- 기존 시스템의 규모
- 변경 사항의 규모
1-1. 유지보수와 유지보수 테스트의 트리거
유지보수와 유지보수 테스트의 트리거는 다음과 같이 분류할 수 있다.
- 수정: 계획된 기능 향상(릴리스 기반), 수정 변경 또는 핫픽스와 같은 경우.
- 업그레이드 또는 마이그레이션: 한 플랫폼에서 다른 플랫폼으로의 환경 전환과 같이, 새 환경과 변경된 소프트웨어와 관련된 테스트, 또는 다른 애플리케이션의 데이터를 유지보수 대상 시스템으로 마이그레이션할 때 데이터 변환 테스트가 요구되는 경우.
- 폐기: 애플리케이션이 수명을 다했을 때. 시스템이 폐기될 때는 데이터 보관이 요구될 경우 데이터를 보관하는 테스트가 필요할 수 있다. 데이터 보관 기간 중 특정 데이터가 필요할 경우, 보관 후 복구 및 검색 절차를 테스트하는 것도 요구될 수 있다.
1-2. 해외 유명 기업에서의 유지보수 테스트 사례
1-2-1. 마이크로소프트 보안 패치
준비 과정
- 패치의 변경 사항을 문서화하고, 영향을 받을 수 있는 시스템 목록을 작성한다.
- 다양한 하드웨어 및 소프트웨어 조합에서 테스트할 수 있도록 테스트 환경을 설정한다.
테스트 실행
- 패치를 적용한 후 시스템의 기능 테스트 및 보안 취약점을 점검한다.
- 자동화된 테스트 스크립트를 사용하여 반복적인 테스트를 수행한다.
결과 공유
- 테스트 결과를 팀 회의에서 발표하고, 문제 발생 시 즉각적인 피드백을 제공한다.
- 패치의 성공적인 적용 여부를 문서화하여 배포한다.
후속 조치
- 사용자 커뮤니티에서의 피드백을 모니터링하고, 필요 시 추가 패치를 배포한다.
- 보안 문제가 발생할 경우 긴급 대응 팀을 구성한다.
1-2-2. 애플 iOS 업데이트
준비 과정
- 업데이트의 변경 사항을 문서화하고, 영향을 받을 수 있는 기기 목록을 작성한다.
- 다양한 기기에서 테스트 환경을 설정한다.
테스트 실행
- 업데이트를 적용한 후, 다양한 기능을 테스트하여 성능 및 안정성을 확인한다.
- 사용자 인터페이스(UI) 및 사용자 경험(UX) 테스트를 포함한다.
결과 공유
- 내부 팀과의 회의를 통해 테스트 결과를 공유하고, 문제 발생 시 즉각적인 피드백을 제공한다.
- 사용자 피드백을 수집하여 업데이트에 반영한다.
후속 조치
- 업데이트 후 사용자 커뮤니티에서의 피드백을 모니터링하고, 필요 시 추가 패치를 배포한다.
- 지속적인 성능 모니터링을 통해 문제를 조기에 발견하고 해결한다.
1-3. 유지보수 테스트 미흡으로 인한 재앙적 사례
1-3-1. 테라노스
사건 개요
테라노스는 혈액 검사 기술을 개발하는 스타트업으로, 유지보수 테스트가 부족하여 제품 신뢰성을 잃었다. 이로 인해 잘못된 검사 결과가 나오고 환자들에게 심각한 건강 문제가 초래됐다.
재정적 손실
- 테라노스는 9억 달러 이상의 투자금을 잃었으며, 2018년에 파산했다.
신체적 피해
- 잘못된 검사 결과로 인해 환자들이 잘못된 치료를 받거나 필요한 치료를 받지 못하는 상황이 발생했다.
후속 결과
- CEO 엘리자베스 홈즈는 잘못된 정보를 제공한 혐의로 기소됐고, 2022년 11월에 11년 3개월의 징역형을 선고받았다.
- 이 사건은 실리콘밸리에서 큰 주목을 받았으며, 투자자들에게 8억 달러의 손해배상 청구가 있었다.
1-3-2. 보잉 737 맥스
사건 개요
보잉 737 맥스 항공기는 소프트웨어 결함으로 인해 두 차례의 치명적인 사고가 발생했다. 유지보수 테스트가 제대로 이루어지지 않아 결함이 발견되지 않았다.
재정적 손실
- 보잉은 이 사건으로 200억 달러 이상의 손실을 입었고, 항공기 생산이 중단됐다.
신체적 피해
- 두 사고로 인해 346명이 사망했다.
1-3-3. 마이크로소프트 윈도우 비스타
사건 개요
윈도우 비스타는 출시 후 여러 성능 문제와 보안 취약점이 발견됐다. 유지보수 테스트가 부족하여 이러한 문제가 발생했다.
재정적 손실
- 비스타의 실패로 인해 마이크로소프트는 수십억 달러의 손실을 입고 사용자 신뢰를 잃었다.
신체적 피해
- 보안 취약점으로 인해 해킹과 데이터 유출 사건이 발생했고, 사용자 데이터가 위험에 처했다.
후속 결과
- 마이크로소프트는 비스타 출시 후 성능 저하와 호환성 문제로 사용자 불만을 받았다.
- 문제를 해결하기 위해 2009년에 윈도우 7을 출시했고, 이는 비스타의 문제를 상당 부분 개선했다.
1-4. 유지보수 테스트의 중요성
위 사례들은 유지보수 테스트의 부족이 재정적 손실, 신체적 피해, 기업 이미지 손상으로 이어질 수 있음을 보여준다. 유지보수 테스트는 소프트웨어의 신뢰성과 안전성을 보장하기 위한 필수적인 과정이다.
'소프트웨어 테스팅' 카테고리의 다른 글
블랙박스 테스트 기법 (0) | 2025.01.13 |
---|---|
테스트 분석 및 설계 (0) | 2025.01.13 |
피드백과 리뷰 프로세스 (0) | 2025.01.13 |
정적 테스트 (0) | 2025.01.12 |
테스트 레벨과 테스트 유형 (0) | 2025.01.12 |
소프트웨어 개발 수명 주기 전반에서의 테스트 (0) | 2025.01.12 |
테스트에 필요한 기술과 좋은 테스터 (0) | 2025.01.12 |
테스트 활동과 테스트웨어, 테스터의 역할 (0) | 2025.01.12 |