2024년 7월 22일
ISO/IEC 25010 (소프트웨어 품질 모델)
1. 소프트웨어 품질 모델 표준, ISO/IEC 25010의 개요
(1) ISO/IEC 25010의 개념
- 소프트웨어 제품의 품질특성을 정의하고, 품질을 평가하기 위한 기준(Metrics)을 정의한 표준
(2) ISO/IEC 9126과 ISO/IEC 25010 항목 비교
ISO/IEC 9126 | ISO/IEC 25010 | 차이점 |
---|---|---|
기능성 | 기능적합성 | – 보안성, 상호운영성 삭제 |
신뢰성 | 신뢰성 | – 가용성 추가 |
사용성 | 사용성 | – 인터페이스 호감성, 사용자 오류 허용성 추가 |
효율성 | 실행효율성 | – 자원활용 요소 활용, 기억용량으로 변경 |
유지보수성 | 유지보수성 | – 모듈화 정도, 재사용성 추가 |
이식성 | 이식성 | – 병행가능성 삭제 |
– | 호환성 | – 주특성으로 호환성 추가 |
– | 보안성 | – 기능성의 부특성이 주특성으로 변경 |
- 소프트웨어 품질 평가를 위한 ISO/IEC 9126 표준은 1991년 첫 발표 후 2001년 개정, 10년 뒤 2011년 IEEE/ISO/IEC 25010 표준으로 대체되어 ISO/IEC 25000의 품질모델 부분을 담당
2. ISO/IEC 25010의 소프트웨어 품질특성
(1) ISO/IEC 25010의 소프트웨어 품질특성 구성도
(2) ISO/IEC 25010의 소프트웨어 품질특성
주특성 | 부특성 | 세부 설명 |
---|---|---|
기능 적합성 | 기능성숙도 | 기능의 지정된 작업 및 사용자 목적 전체를 다루는 정도 |
기능정확성 | 제품 혹은 시스템이 정밀도의 필요 정도에 따라 정확한 결과를 제공하는 정도 | |
기능타당성 | 기능이 명시된 작업 및 목적의 완수를 용이하게 하는 정도 | |
신뢰성 | 성숙성 | 소프트웨어 구성요소가 표준적 환경에서 신뢰도 요구를 충족시키는 정도 |
결함수용성 | 시스템, 제품 및 구성요소가 하드웨어 혹은 소프트웨어에 결함이 존재하더라도 이를 극복하고 의도한대로 작동 | |
복구용이성 | 중단 및 실패 발생시, 제품 혹은 시스템이 데이터를 복구할 수 있는 정도 | |
가용성 | 사용자가 원하는 시간에 사용 및 접근이 가능한 정도 | |
사용성 | 이해용이성 | 사용자의 요구에 적절한 기능인지 식별할 수 있는 정도 |
학습성 | 사용자가 소프트웨어의 사용법을 배워 명시된 목적을 달성할 수 있는 정도 | |
운영성 | 제품 혹은 시스템이 작동 및 제어를 쉽게 할 수 있는 정도 | |
사용자 인터페이스 미학 | 사용자 인터페이스가 사용자에게 만족스러운 정도 | |
사용자 오류 보호 | 소프트웨어가 발생한 오류로부터 사용자를 보호하는 정도 | |
접근성 | 연령과 장애에 관계없이 사용될 수 있는 정도 | |
실행 효율성 | 시간효율성 | 기능 수행 시 응답, 처리시간과 처리율이 요구사항을 충족시키는 정도 |
자원활용성 | 기능 수행 시, 사용되는 자원의 유형 및 양이 요구사항을 만족시키는 정도 | |
기억용량 | 제품 혹은 시스템 파라미터(최근 사용자 수 등)의 최대 한계가 요구사항을 만족시키는 정도 | |
유지 보수성 | 분석성 | 시스템 변화에 대해 어떠한 영향을 받는지 평가 할 수 있는 보고서를 제공하는 정도 |
수정가능성 | 제품 혹은 시스템이 장애 없이 효과적이고 효율적으로 수정될 수 있는 정도 | |
시험가능성 | 제품 사용 전, 사용에 필요한 검증 기능 제공 여부 | |
모듈성 | 최소의 영향을 가진 개별 구성요소로 구성된 정도 | |
재사용성 | 자산이 하나 이상의 시스템에서 사용될 수 있고, 기타 자산을 구축할 수 있는 정도 | |
이식성 | 환경적응성 | 제품 혹은 시스템이 다른 하드웨어, 소프트웨어 혹은 기타 사용 환경에 효과적이고 효율적으로 적용될 수 있는 정도 |
설치용이성 | 제품 또는 시스템이 성공적으로 설치 및 제거 될 수 있는 정도 | |
치환성 | 제품이 동일한 환경에서 동일한 목적을 위해 다른 지정 소프트웨어 제품으로 대체 될 수 있는 정도 | |
호환성 | 상호공존성 | 다른 소프트웨어에 유해한 영향을 주지 않고 환경 및 자원을 공유하면서 요구된 기능을 효과적으로 수행하는 정도 |
상호운영성 | 둘 혹은 그 이상의 시스템, 제품 혹은 그 이상의 시스템, 제품 혹은 구성요소가 정보를 교환하거나 교환된 정보를 이상 없이 사용할 수 있는 정도 | |
보안성 | 기밀성 | 제품 혹은 시스템이 반드시 데이터가 접근할 수 있는 권한에만 접근이 가능 |
무결성 | 시스템, 제품 혹은 구성요소가 컴퓨터 프로그램 혹은 데이터에 대해 무단으로 접근 혹은 변경하는 것을 방지하는 정도 | |
부인방지 | 사건 및 행동이 이후에 부인할 수 없도록 행동 및 사건은 장소를 이동하는 것이 입증되는 정도 | |
책임성 | 독립체의 행동이 독특하게 독립체로 추정될 수 있는 정도 | |
인증성 | 주체 혹은 요소의 식별이 하나의 주장으로 증명될 수 있는 정도 |
- ISO/IEC 25010 기반 테스트 설계를 위해 기능 명세를 품질 특성 별로 분류하여 기능 명세 기반 테스트 케이스를 도출
3. ISO/IEC 25010의 소프트웨어 품질특성과 명세기반 테스트 설계 맵핑
- ISO/IEC 25010 기반 테스트 설계를 위해 상기 방법 외 품질 특성 별 체크리스트 기반으로 테스트 케이스 도출도 가능
[참고]
- 정보통신산업진흥원(NIPA), 소프트웨어 품질 특성 활용 가이드
- 한국 소프트웨어공학 학술대회, ISO 25000과 ISO 29119를 활용한 임베디드 소프트웨어 시험 평가 방법에 관한 연구, 2014