ISO 9126으로 소프트웨어 품질을 평가하는 기준
ISO 9126의 품질 모델과 측정 체계, 품질 특성별 부특성, 프로세스 개선 모델과의 활용 관계를 실무 관점에서 정리한다.
2026-08-14 · 최초 발행 2025-05-23
품질을 하나의 지표로 보지 않기 위한 모델
ISO 9126은 소프트웨어 품질을 평가하기 위한 국제 표준이다. 1991년에 처음 발표된 뒤 개정을 거쳤으며, 사용자 관점의 품질 특성을 체계적으로 다루는 기준으로 자리 잡았다.
이 표준은 제품 내부와 실행 결과, 실제 사용 환경에서 드러나는 품질을 모두 포괄한다. 현재는 ISO/IEC 25010으로 대체됐지만, 소프트웨어 품질을 분해하고 평가 항목을 정하는 기본 틀로 여전히 참조된다.
품질 모델과 측정 체계의 범위
ISO 9126은 다음 파트로 구성된다. 품질 모델은 6개 주요 품질 특성과 21개 부특성을 정의하며, 측정은 내부·외부·사용 품질로 나뉜다.
- ISO/IEC 9126-1: 품질 모델
- ISO/IEC 9126-2: 소프트웨어 실행 시 측정 가능한 외부 특성
- ISO/IEC 9126-3: 소스코드 등 소프트웨어 내부 특성
- ISO/IEC 9126-4: 사용자 환경에서의 효과성, 생산성 등을 다루는 품질 사용 측정 항목
요구사항 충족 여부는 기능성으로 본다
기능성은 소프트웨어가 필요한 기능을 제대로 제공하는지 평가한다. 사용자 요구사항을 충족하는 적합성, 정확한 결과를 내는 정확성, 다른 시스템과 연동하는 상호운용성, 정보와 데이터를 보호하는 보안성, 표준·법률·규제 요구사항을 따르는 준수성이 여기에 속한다.
장애 상황과 사용 경험도 품질의 일부다
신뢰성은 결함을 최소화하는 성숙성, 오류가 발생해도 지정된 수준의 기능을 유지하는 결함허용성, 오류 뒤 복구하는 회복성, 관련 표준과 규칙을 따르는 준수성으로 평가한다.
사용성은 사용자가 목적과 사용 방법을 파악할 수 있는 이해성, 익히기 쉬운 학습성, 운용하기 쉬운 운용성, 사용자에게 매력적으로 느껴지는 친밀성, 관련 표준과 규칙의 준수성을 포함한다.
효율성에서는 기능 수행에 필요한 시간반응성과 자원 효율성, 그리고 효율성 관련 준수성을 확인한다. 응답 시간만이 아니라 기능 수행에 자원을 적절히 쓰는지도 평가 대상이다.
변경과 배포 환경까지 평가 범위에 넣는다
유지보수성은 결함이나 변경 필요성을 진단하기 쉬운 분석성, 수정하기 쉬운 변경성, 수정 뒤 예상하지 못한 영향을 줄이는 안정성, 검증하기 쉬운 시험성, 관련 준수성으로 구성된다.
이식성은 다른 환경으로 옮기기 쉬운 적응성, 설치성, 다른 소프트웨어와 함께 작동하는 공존성, 같은 목적의 다른 소프트웨어로 바꾸기 쉬운 대체성, 관련 준수성을 다룬다.
내부·외부·사용 품질을 연결해 측정한다
내부 품질은 소스코드와 같은 내부 산출물에서 확인하고, 외부 품질은 실행 중인 소프트웨어의 동작으로 측정한다. 사용 품질은 실제 사용자 환경에서 효과성과 생산성 등을 통해 드러난다. 내부 측정 결과는 외부 품질에, 외부 품질은 사용 품질에 영향을 준다.
내부 품질 측정에서는 소스코드 분석을 통한 복잡도, 모듈화 수준, 주석의 비율과 품질, 코드 중복도를 본다. SonarQube, PMD 등의 정적 코드 분석 도구를 활용하는 방식이 사례가 된다.
외부 품질 측정은 결함 발견률과 심각도, 응답 시간과 처리량, 메모리 사용량을 대상으로 한다. JMeter, LoadRunner 등의 부하 테스트 도구로 성능을 측정할 수 있다.
사용 품질은 사용자 태스크 완료율, 사용자 만족도, 작업 완료 시간을 통해 확인한다. A/B 테스트로 사용자 인터페이스 개선 효과를 측정하는 사례가 여기에 해당한다.
제품 품질 목표와 프로세스 개선을 함께 다룬다
ISO 9126은 제품 품질에 초점을 둔다. 반면 CMM(Capability Maturity Model)과 SPICE(ISO/IEC 15504)는 프로세스 품질을 다룬다. 제품 품질 목표는 ISO 9126으로 설정하고, 그 목표를 달성하기 위한 프로세스 개선에는 CMM과 SPICE를 적용하는 방식으로 연결할 수 있다.
프로세스 능력의 개선은 최종 제품 품질을 높이는 접근과 맞닿아 있다. 품질 특성을 먼저 정하고, 이를 충족할 개발·검증·운영 프로세스를 갖추는 흐름이다.
시스템 성격에 따라 품질 우선순위가 달라진다
금융권 핵심 시스템은 기능성의 부특성인 보안성과 신뢰성에 높은 가중치를 둘 수 있다. ISO 9126 기반 품질 지표로 보안 취약점 수, 장애 발생률, 서비스 다운타임 등을 설정한 사례에서는 시스템 장애 발생률이 전년 대비 35% 감소하고 취약점 조기 발견률이 45% 향상됐다.
소비자 대상 모바일 애플리케이션에서는 사용성과 효율성이 중심이 된다. 사용자 인터페이스 개선에 ISO 9126의 사용성 평가 방법론을 적용한 사례에서 사용자 평점은 3.2→4.5점으로 상승했고, 앱 사용 시간은 27% 증가했으며 이탈률은 15% 감소했다.
의료 정보 시스템은 기능성의 부특성인 정확성과 신뢰성을 중시한다. ISO 9126 기반으로 테스트 케이스를 설계하고 적용한 사례에서는 데이터 오류율 0.01% 이하를 달성하고 시스템 안정성 99.99%를 확보했다.
애자일과 DevOps에서 품질 지표를 운영하는 방식
애자일 환경에서는 스프린트 단위의 품질 지표를 정할 때 ISO 9126을 활용할 수 있다. 스크럼 팀은 스프린트 계획 단계에서 품질 특성별 작업 항목을 분류하고 우선순위를 정할 수 있으며, CI/CD 파이프라인의 품질 게이트에도 해당 지표를 반영할 수 있다.
DevOps 환경에서는 운영 데이터로 품질 지표를 계속 모니터링하고, 지표 위반 시 자동 롤백 체계를 구성할 수 있다. 클라우드 네이티브 애플리케이션에서 응답시간과 리소스 사용량 같은 효율성 지표를 관찰해 자동 스케일링 정책에 반영하는 사례가 있다.
ISO/IEC 25010으로 이어진 품질 모델
ISO 9126은 2011년 ISO/IEC 25010으로 대체됐다. ISO/IEC 25010은 기존 6개 특성에서 8개 특성으로 확장했고, 보안성은 독립 특성으로 승격됐으며 호환성이 추가됐다. 클라우드, 모바일, IoT 같은 기술 환경을 더 잘 반영하기 위한 변화다.
ISO 9126의 기본 구조와 철학은 여전히 품질 관리의 기준점이다. 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성을 함께 바라보면 개발 전 과정에서 어떤 품질 목표를 관리해야 하는지 더 명확하게 정리할 수 있다.