ISO/IEC 9126으로 소프트웨어 품질을 측정하는 방법
ISO/IEC 9126 품질 모델의 품질 특성, 사용품질 지표, 정규화와 품질지수 산정 방식을 실무 관점에서 정리한다.
2026-08-14 · 최초 발행 2025-12-16
사용자 과업과 제품 속성을 함께 보는 품질 모델
ISO/IEC 9126은 소프트웨어 제품 품질을 구조화하고 측정하기 위한 품질 모델 및 측정 프레임워크다. 제품 품질은 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성으로 구분하며, 사용품질은 Effectiveness, Productivity, Safety, Satisfaction을 대상으로 한다.
이 구분은 코드와 시스템의 속성을 사용자 과업의 성과까지 연결하는 데 쓰인다. 내부 품질은 복잡도와 결합도 같은 정적 특성으로, 외부 품질은 성능과 오류 같은 동적 특성으로, 사용품질은 현장에서의 과업 성과로 측정한다. 목표값을 기준으로 정규화한 뒤 가중 합산하면 품질지수로 활용할 수 있다.
품질 특성은 다음 부특성으로 세분화된다.
- 기능성(Functionality): 적합성(Suitability), 정확성(Accuracy), 상호운용성(Interoperability), 보안(Security)
- 신뢰성(Reliability): 성숙성(Maturity), 결함허용성(Fault tolerance), 회복성(Recoverability)
- 사용성(Usability): 이해성(Understandability), 학습성(Learnability), 운용성(Operability), 매력성(Attractiveness)
- 효율성(Efficiency): 시간효율성(Time behaviour), 자원효율성(Resource utilization)
- 유지보수성(Maintainability): 분석성(Analyzability), 변경용이성(Changeability), 안정성(Stability), 시험성(Testability)
- 이식성(Portability): 적응성(Adaptability), 설치성(Installability), 공존성(Co-existence), 대체성(Replaceability)
각 상위 특성의 Compliance(규격 준거성)는 9126 원문에 존재하지만, 부특성 산정에서는 제외하는 관행이 많다.
요구사항부터 운영 지표까지 연결하기
이 모델의 핵심은 품질 요구를 설계, 테스트, 운영에서 끊기지 않게 추적하는 데 있다. 사용자 관점에서는 과업 성공률, 시간, 안전, 만족도를 사용품질 지표로 삼고, 제품 품질 지표와의 관계를 명시한다.
메트릭은 정의, 수집, 정규화, 가중 집계, 의사결정 순서로 다룬다. 내부·외부·사용품질을 분리해 측정하고, 릴리스 게이트와 SLO에 반영할 수 있다. 임계값 기반 정규화와 가중치 벡터를 적용하면 여러 특성을 하나의 품질지수로 비교할 수 있다.
SaaS 제품 로드맵에서는 사용성(SUS/과업 성공률), 효율성(p95 지연시간), 신뢰성(가용성)의 가중치를 높이고 분기별 품질지수(QI)를 OKR과 연동할 수 있다. 마이크로서비스 전환에서는 상호운용성과 공존성으로 통합 리스크를 관리하며, 계약 테스트 성공률과 통합 결함 누수율을 게이트로 설정한다.
모바일·임베디드 제품에서는 배터리 드레인과 메모리 같은 자원효율성, 설치 성공률 같은 설치성을 핵심 KPI로 둘 수 있다. OTA 업데이트 안정성도 이 범위에서 측정 대상이 된다. 공공 조달 RFP와 평가에서는 품질 특성별 측정 항목과 가중치를 명시하고, 수주 전 PoC에서 정량 지표로 비교 평가할 수 있다. DevOps 환경에서는 가용성, 변경 실패율, 복구시간을 신뢰성과 유지보수성에 매핑하고 에러버짓 기반 릴리스 정책으로 운용한다.
지표를 점수로 바꾸는 방식
| 품질 특성 | 대표 메트릭 | 정량식 예시 | 목표 예시 |
|---|---|---|---|
| 기능성 | 기능 커버리지, 보안 취약점 | 커버리지=구현/요구, 취약점 점수=CVSS 가중합 | 커버리지 ≥ 0.9, High CVE=0 |
| 신뢰성 | 가용성, MTBF/MTTR | 가용성=MTBF/(MTBF+MTTR) | 99.9% 이상 |
| 사용성 | 과업 성공률, SUS | 성공률=성공 태스크/전체, SUS 표준 설문 | 성공률 ≥ 0.95, SUS ≥ 80 |
| 효율성 | p95 지연시간, 자원/트랜잭션 | p95 ≤ T, CPU-sec/req | p95 ≤ 200ms |
| 유지보수성 | 변경 리드타임, 회귀 결함률 | LT=개발 시작→배포 중앙값, 회귀=릴리스후/전체 | LT ≤ 1일, 회귀 ≤ 2% |
| 이식성 | 설치 성공률, 플랫폼 커버리지 | 설치 성공/시도, 지원 OS 비율 | 설치 ≥ 99%, 주요 OS 3종 |
정규화 점수는 0~1 범위로 계산한다.
- 효용형(값↑ 좋음): S = clamp((A − L) / (T − L), 0, 1)
- 비용형(값↓ 좋음): S = clamp((U − A) / (U − T), 0, 1)
- A=실측, T=목표, L=최소 기대, U=최대 허용
집계식은 다음과 같다.
- 품질지수 QI = Σ wi · Si, Σ wi = 1
- 예: 기능성 0.2, 신뢰성 0.25, 사용성 0.2, 효율성 0.15, 유지보수성 0.1, 이식성 0.1
측정값의 품질도 별도로 관리해야 한다. 값이 누락되면 대체 지표를 사용하거나 결측 처리 후 커버리지를 보고하며, 측정 커버리지 ≥ 90%를 게이트로 둘 수 있다. 이상치를 탐지하면 재측정하고, 자동 수집이 실패한 경우에는 수동 샘플링 절차를 가동한다.
측정 결과가 릴리스 판단으로 이어지는 흐름
측정 체계를 운영할 때의 균형
목표, 임계값, 측정창을 명세로 관리하고 데이터 품질 검증과 이상치 완충(윈저라이징)을 적용한다. 사용자 여정에 맞춰 측정 지점을 배치하며, 제품 분석의 클라이언트·서버 데이터, APM, 로그에는 일관된 키를 사용한다. 품질지수 가중치는 분기별로 다시 평가하고 비즈니스 KPI와 상관분석한다.
특성 간에는 충돌도 있다. 공격적 캐싱과 지연 로딩은 효율성을 높일 수 있지만 초기 가시성을 떨어뜨려 사용성에 영향을 줄 수 있으므로 UX 테스트로 조정한다. 낮은 변경 실패율 목표는 릴리스 빈도를 낮출 수 있어 릴리스 전검증 자동화가 필요하다. 보안 정책을 엄격히 적용하면 상호운용성의 통합 비용이 높아질 수 있으므로 위험 기반 접근제어로 단계적으로 완화한다.
품질 관리 체계를 적용하면 변경 실패율은 3050% 감소하고 MTTR은 2040% 단축될 수 있다. p95 지연은 20% 개선되고 인프라 단가는 1015% 절감될 수 있으며, 과업 성공률은 510%p 상승하고 전환율은 3~7%p 개선될 수 있다. 또한 의사결정의 객관화와 부서 간 공통 언어 확보, 요구에서 운영까지의 추적 가능성 및 책임성 강화, 표준 기반 벤치마킹과 외부 심사 대응에 도움이 된다.
ISO/IEC 9126은 ISO/IEC 25010(SQuaRE)로 대체되었다. 기존 모델을 활용할 때도 최신 프레임워크와의 매핑을 병행하고 최신 정보 확인이 필요하다.