ISO9126 소프트웨어 품질 모델과 품질 측정 관점

ISO9126 소프트웨어 품질 모델의 특성과 부특성, 내부·외부·사용 품질의 측정 관점을 정리한다.

2026-08-14 · 최초 발행 2026-04-17

품질을 측정 가능한 언어로 바꾸는 ISO9126

소프트웨어 제품 품질은 정성적 성격이 강해 평가 기준을 합의하기 어렵다. ISO9126은 품질 특성을 계층적으로 정리하고 측정 가능한 지표로 연결하기 위한 프레임워크다.

이 표준은 개발 과정의 내부 메트릭, 실행 중 확인하는 외부 메트릭, 최종 사용자가 경험하는 사용 품질까지 다룬다. 현재는 ISO/IEC 25010(SQuaRE)으로 발전했지만, ISO9126의 품질 모델은 여전히 실무에서 중요한 참조 모델이다.

품질 모델과 메트릭을 나눈 표준 구성

ISO9126은 품질 모델을 정의하는 부분과 각 관점의 품질을 측정하는 메트릭으로 구성된다.

구분 명칭 주요 내용
ISO9126-1 품질 모델(Quality Model) 6개의 주특성과 21개의 부특성을 정의한 핵심 프레임워크
ISO9126-2 외부 메트릭(External Metrics) 소프트웨어 실행 중에 측정되는 동적 품질 지표
ISO9126-3 내부 메트릭(Internal Metrics) 소스 코드나 설계서 등 정적 분석을 통해 측정되는 지표
ISO9126-4 사용 품질(Quality in Use) 사용자가 특정 맥락에서 목표를 달성하는 효율과 만족도

제품 품질을 보는 특성과 부특성

ISO9126-1의 품질 모델은 6개의 주특성(Characteristics)과 그 아래의 부특성(Sub-characteristics)으로 구성된다.

ISO9126 품질 모델기능성적합성정확성상호호환성보안성유연성신뢰성성숙성오류허용성회복성사용성이해성습득성운용성효율성실행효율성자원효율성유지보수성해석성변경성안정성시험성이식성환경적응성이식작업성일치성치환성

요구사항을 충족하는 기능성

기능성(Functionality)은 사용자의 명시적·묵시적 요구사항을 만족하는 기능을 제공하는 능력이다. 지정된 작업에 맞는 기능 집합을 제공하는 적합성, 올바른 결과를 정밀하게 내는 정확성, 다른 시스템과 정보를 교환하고 상호작용하는 상호호환성을 포함한다. 권한 없는 접근을 차단하고 정보를 보호하는 보안성, 관련 표준이나 관례를 준수하는 유연성도 여기에 속한다.

조건이 바뀌어도 성능을 유지하는 신뢰성

신뢰성(Reliability)은 규정된 조건에서 의도한 성능 수준을 유지하는 능력이다. 결함으로 인한 고장을 회피하는 성숙성, 오류가 발생해도 일정 성능을 유지하는 오류허용성, 고장 뒤 데이터를 복구하고 정상 상태로 돌아오는 회복성으로 살핀다.

사용자가 이해하고 제어할 수 있는 사용성

사용성(Usability)은 사용자가 소프트웨어를 이해하고 학습하며 사용하는 데 드는 노력과 관련된다. 논리적 구조와 개념을 파악하기 쉬운 이해성, 사용법을 익히는 데 걸리는 시간이 짧은 습득성, 운영 중 사용자가 제어하기 편리한 운용성이 대상이다.

자원과 시간에 대한 효율성

효율성(Efficiency)은 사용하는 자원에 비해 제공되는 성능의 정도다. 응답 시간과 처리 속도가 적절한지 보는 실행효율성(Time Behavior), 메모리·CPU·네트워크 등의 자원을 얼마나 최적화해 쓰는지 보는 자원효율성(Resource Utilization)으로 나뉜다.

변경을 감당하는 유지보수성

유지보수성(Maintainability)은 환경 변화나 요구사항 변경에 따라 소프트웨어를 수정하는 데 드는 노력이다. 결함 원인과 변경 부위를 찾기 쉬운 해석성, 수정이 용이하고 부작용이 적은 변경성, 수정 뒤 예기치 않은 결과가 발생하지 않는 안정성, 변경 내용을 검증하기 쉬운 시험성을 포함한다.

다른 환경으로 옮기는 이식성

이식성(Portability)은 소프트웨어를 다른 환경으로 옮기기 쉬운 능력이다. 다양한 하드웨어나 운영체제 환경에 적응하는 환경적응성, 설치가 쉬운 이식작업성, 다른 소프트웨어와 공존하며 자원을 공유하는 일치성, 다른 소프트웨어를 대신해 사용할 수 있는 치환성으로 평가한다.

개발부터 사용자 경험까지 이어지는 품질 관점

품질은 측정 시점에 따라 내부 품질, 외부 품질, 사용 품질로 구분된다.

최종 사용자 단계테스트/운영 단계개발 단계영향을영향을내부 품질 (Internal)외부 품질 (External)사용 품질 (Quality in Use)

내부 품질(Internal Quality)은 코드 복잡도나 모듈화 정도처럼 정적 분석으로 측정하며, 개발 팀이 직접 관리한다. 외부 품질(External Quality)은 시스템을 실행하면서 응답 시간과 오류 발생률 등을 측정하는 관점으로, 테스트 단계에서 검증한다.

사용 품질(Quality in Use)은 실제 업무 환경에서 사용자가 느끼는 효과성, 생산성, 안전성, 만족도를 대상으로 한다. 이는 비즈니스 관점의 품질이다.

프로젝트 목적에 따라 달라지는 품질의 우선순위

ISO9126을 적용할 때는 프로젝트 성격에 따라 어떤 품질 특성을 우선할지 정해야 한다. 금융 시스템에서는 신뢰성과 보안성이 우선일 수 있고, 모바일 앱에서는 사용성과 효율성이 더 중요할 수 있다.

특성 간 상충 관계도 고려 대상이다. 보안성을 높이면 사용성이 낮아질 수 있으며, 효율성을 극대화하려는 코드 최적화는 유지보수성을 떨어뜨릴 수 있다. 비즈니스 목표에 맞춰 이 균형을 정하는 일이 품질 전략의 핵심이다.

ISO9126은 추상적인 소프트웨어 품질을 특성과 메트릭으로 구조화해 관리할 수 있게 한다. 내부·외부·사용 품질과 6대 주특성을 함께 관리하면 개발 초기부터 운영 이후까지 소프트웨어의 가치를 살필 기준을 마련할 수 있다.

Sources

  • ISO/IEC 9126:2001 Software engineering — Product quality
  • 소프트웨어 공학 지식 체계 (SWEBOK)
  • 정보관리기술사 기출 토픽 해설집
ISO9126소프트웨어 품질품질 모델품질 관리SW 테스트