1. 신뢰성 테스트(Reliability Test)의 개념 및 부특성
(1) 신뢰성 테스트의 개념
- 특정 조건에서 특정 기간 동안 시스템이 요구되는 서비스를 오동작 없이 제공하는 정도를 측정하는 소프트웨어 테스트 기법
(2) 신뢰성(Reliability)의 부특성
부특성 | 설명 |
---|---|
성숙성 (Maturity) | 시스템 또는 구성 요소가 정상 작동 상태에서 신뢰성 요구 충족 정도 |
가용성 (Availability) | 사용자가 시스템 또는 구성요소를 사용하고자 할 때 사용/접근 가능 정도 |
결함 허용성 (Fault tolerance) | 하드웨어나 소프트웨어에 결함이 있는데도 시스템 또는 구성 요소가 의도한 대로 작동하는 정도 |
복구성 (Recoverability) | 중단 또는 장애가 발생한 경우 시스템이 영향을 받은 데이터를 복구하고 상태를 재설정할 수 있는 정도 |
- ISO 25010에서 신뢰성은 상기 4개의 부특성으로 설명하고 있으며, 가용성의 경우 MTTF 등의 지표를 통해 정량적 측정 가능
2. 신뢰성 테스트 시 측정 지표 및 통계적 테스트 절차
(1) 신뢰성 테스트 시 측정 지표 (MTTD / MTTR / MTTF / MTBF)
지표 | 측정 기준 |
---|---|
MTTD | – Mean Time To Detect (평균 장애 인지 시간) – 장애 발생 시점 부터 장애 인지까지의 시간 |
MTTR | – Mean Time To Repair (평균 복구 시간) – 장애 인지 시점 부터 복구 완료까지의 시간 |
MTTF | – Mean Time To Failure (평균 가용 시간) – 복구 완료 시점 부터 다음 장애 발생까지의 시간 |
MTBF | – Mean Time Between Failure (평균 장애 발생 시간) – 장애 발생 시점 부터 다음 장애 발생까지의 시간 |
- 신뢰성 지표 기반 SLA 사례로, 연간 가용률 99.95%의 경우 연간 장애 허용 시간은 약 4시간 22분이고, 연간 가용률 99.99%의 경우 연간 장애 허용 시간은 약 52분임.
- 장애 인지가 불필요하거나 중요하지 않은 경우 MTTD를 MTTR에 포함하기도 함.
(2) 신뢰성 측정을 위한 통계적 테스트 절차
# | 테스트 절차 | 세부 활동 |
---|---|---|
① | 운영 프로파일 작성 | 가능한 입력들을 발생 확률로 구성하여 여러 개의 클래스로 분류 |
② | 테스트 케이스 생성 | 각 클래스의 발생 확률에 따라 테스트 케이스 생성 |
③ | 동작 시간 기록 | 여러 테스트를 통해 장애 발생 간격(MTBF) 시간 기록 |
④ | 신뢰성 추정 | 여러 번의 수집된 데이터와 신뢰성 추정 모델 기반 신뢰성 추정 |
- 일반적으로 신뢰성을 측정하기 위해 통계적 테스트(Statistical testing) 방법을 사용하며, 신뢰성 측정 지표를 통해 SLA 측면을 포함하여 시스템의 가용성(Availability)과 신뢰도를 측정
[참고]
- 한국정보통신기술협회(TTA), 소프트웨어테스트 전문가(CSTS) 가이드