소프트웨어 품질은 명세와 요구사항에 맞는 정도, 요구된 속성의 조합을 갖춘 정도, 그리고 기대에 부응하는 정도로 설명된다. 따라서 품질은 소프트웨어가 무엇을 갖추었는지와 그 특성이 사용자의 요구에 얼마나 맞는지를 함께 살펴보는 개념이다.[7]

1. 개요

품질 평가는 소프트웨어 제품 자체뿐 아니라 개발 과정도 다룰 수 있다. 한 표준안은 제품 품질과 개발 과정의 품질을 객관적·계량적으로 기술하고 평가할 수 있도록 여섯 가지 품질 특성과 그 사용 방법을 제시했다.[4]

품질 특성과 평가 방법은 제품을 비교하고 개선할 기준을 제공한다. 실제 평가는 품질 모델에 따른 특성을 정하고, 이를 측정할 지표나 시험 절차를 마련하는 방식으로 구체화된다.[4][1]

2. 품질 모델과 평가 범위

KS X ISO/IEC 25010은 시스템 및 소프트웨어의 품질 모델을 정의하는 표준이다. 이 표준은 제품이 특정 상황에서 사용될 때의 상호작용 결과를 다루는 사용모델 품질과 소프트웨어 및 컴퓨터 시스템의 특성을 다루는 제품 품질 모델을 구분한다.[1]

사용모델 품질은 하위 특성으로 세분화되는 다섯 가지 특성으로 구성된다. 제품 품질 모델은 소프트웨어의 고정된 특성과 컴퓨터 시스템의 동적 특성을 다루는 여덟 가지 특성으로 구성되며, 두 모델은 컴퓨터 시스템과 소프트웨어 제품에 적용된다.[1]

이 구분은 품질을 제품 내부의 속성만으로 평가하지 않고, 실제 사용 상황과 상호작용의 결과까지 포함해 바라볼 수 있게 한다. 품질 특성은 제품과 시스템에 적용할 수 있는 비교 가능한 요구사항의 기준도 제공한다.[1][7]

3. 품질 특성의 측정과 메트릭

임베디드 소프트웨어에서는 개발 과정이 표준을 따르고 검증 활동이 수행되었는지를 확인하는 것만으로 품질을 충분히 측정하기 어렵다는 문제가 제기되어 왔다. 한 연구는 정량적 품질 측정의 어려움에 대응해 GQM 방법과 ISO 25010 품질 특성 모델을 바탕으로 프로젝트별 소프트웨어 메트릭을 개발했다.[3]

그 연구에서 제시한 메트릭에는 요구사항 시험 커버리지, 요구사항 변경율, 테스트 자동화율, 결함 해결율과 결함 밀도 등이 포함된다. 이 지표들은 요구사항이 시험으로 얼마나 다뤄지는지, 변경과 결함이 어떻게 관리되는지를 수치로 살펴보는 데 쓰인다.[3]

신뢰성 관련 지표로는 코딩 규칙 위반 건수, 정적 분석 결함, 코드 커버리지와 코드 리뷰 지표가 제시됐다. 이 연구는 프로젝트에 맞는 소프트웨어 메트릭을 개발하고, 품질 특성을 평가에 활용하는 방법을 다룬다.[3][4]

4. 품질 특성 평가와 시험 사례

ISO/IEC 25023의 품질 특성 평가를 활용한 시험자간 비교시험에서는 기능 완전성과 시간 효율성을 평가 항목으로 삼았다. 시험은 동일한 모바일 폰과 소프트웨어 애플리케이션을 대상으로, 시험자 세 명이 수행했다.[2]

기능 완전성 시험에서 세 시험자는 모두 12개 시험 단계를 통과해 만족으로 평가됐다. 시간 효율성은 시험자마다 10회 반복 측정했으며, 평균 결과는 시험자 간 통계적으로 유의한 차이가 없었다.[2]

이 연구는 ISO/IEC 17043 숙련도 시험 요구사항과 ISO/IEC 25023의 소프트웨어 품질 특성 평가를 적용해 시험자 간 결과를 비교한 사례를 제시했다. 동일한 모바일 기기와 애플리케이션을 대상으로 한 시험에서 세 시험자는 기능 완전성 시험의 12개 단계를 모두 통과했다. 시간 효율성 측정 결과도 통계적으로 유의한 차이가 없었으며, 연구는 이 사례에서 시험자들의 숙련도가 동등하고 해당 시험기관 시험 결과의 신뢰성을 확인했다고 보고했다.[2]

5. 품질 결함의 영향과 인증 적용

RFC 9225는 소프트웨어 결함이 네트워킹 산업의 주요 비용 요인 중 하나라고 설명하며, 결함 도입을 억제하기 위한 모범 관행을 다룬다. 문서에 인용된 사례에서는 표현 가능한 범위를 넘는 수를 64비트 부동소수점에서 16비트 부호 있는 정수로 변환하는 오류가 무인 로켓의 파괴로 이어졌다.[5]

또 다른 사례에서는 우주선의 고장 보호 소프트웨어 오류가 컴퓨터의 반복 재부팅을 일으켜 우주선이 작동 불능 상태가 됐다. 현장에 엔지니어가 없었고 이동도 현실적으로 어려워 임무 통제팀이 오류 상태를 복구하지 못했다.[5]

KTR의 AI 품질 인증은 AI 기술이 적용된 소프트웨어와 제품을 시험·평가한 뒤 일정 수준의 품질을 갖춘 경우 인증을 부여하는 제도다. 제시된 평가 항목에는 AI 성능 지표와 사용성, 보안성 등이 있으며, 관련 표준으로 ISO/IEC 25059의 AI 시스템 품질 모델과 ISO/IEC 25058의 품질 평가 지침이 소개되어 있다.[6]

6. 관련 문서

  • IEC 25010
  • IEC 25023
  • IEC 25059
  • IEC 25058

7. 인용 및 각주

[1] Sstandard.go.kr(새 탭에서 열림)

[2] Sscienceon.kisti.re.kr(새 탭에서 열림)

[3] Ddcollection.korea.ac.kr(새 탭에서 열림)

[4] Sscienceon.kisti.re.kr(새 탭에서 열림)

[5] Wwww.rfc-editor.org(새 탭에서 열림)

[6] Mm.ktr.or.kr(새 탭에서 열림)

[7] Tterms.tta.or.kr(새 탭에서 열림)