자격증/CSTS

Part01. 테스트 개요(제4장 품질 특성과 비기능 테스트)

송윤슬 2023. 8. 11. 21:58

제4장 품질 특성과 비기능 테스트

4.1 개요

- 기능 적합성 : 제품 또는 시스템이 명시적 또는 묵시적 요구를 충족시키는 기능을 제공하는 정도

- 성능 효율성 : 명시된 조건하에서 사용된 자원의 양에 대한 성능의 정도

- 호환성 : 제품, 시스템 또는 구성 요소가 다른 제품, 시스템 또는 구성 요소와 정보를 교환하거나 필요한 하드웨어 또는 소프트웨어 환경을 공유하면서 필요한 기능을 수행할 수 있는 정도

- 사용성 : 특정한 사용자들이 주어진 사용 환경(특정 사용 컨텍스트)에서 특정한 목적을 달성하기 위해 제품이나 시스템을 사용할 때의 효율성, 효과성 및 만족도에 대한 정도

- 신뢰성 : 특정 조건에서 특정 기간 동안 오동작 없이 요구되는 기능을 수행하는 정도

- 보안성 : 시스템이 정보 및 데이터를 보호하는 정도

- 유지보수성 : 제품 또는 시스템이 유지보수 될 수 있는 효율성의 정도

- 이식성 : 다양한 플랫폼에서 운영될 수 있는 소프트웨어의 능력

주특성 부특성 설명
기능 적합성 기능 완전성 기능 집합이 모든 명시된 요구사항을 포괄하는 정도
기능 정확성 시스템이 정의된 정밀도로 정확한 결과를 제공하는 정도
기능 적설정 기능이 목적 달성에 도움을 주는 정도
성능 효율성 시간 반응성 기능 수행 시 시스템의 응답, 처리 시간 및 처리율이 요구사항을 충족시키는 정도
자원 효율성 기능 수행 시 시스템이 사용하는 자원이 요구 사항을 충족시키는 정도
수용성 시스템 매개 변수(동시 사용자 수, 통신 대역폭, 트랜잭션 처리량 양 등)의 최대 한계가 요구사항을 충족시키는 정도
호환성 공존성 다른 소프트웨어에 나쁜 영향을 미치지 않고 자원을 공유하면서 요구되는 기능을 효율적으로 수행할 수 있는 정도
상호운영성 둘 이상의 시스템 또는 구성 요소가 정보를 교환하고 교환된 정보를 사용할 수 있는 정도
사용성 적합 인식성 사용자가 자신의 필요에 시스템이 적합한지 여부를 인식할 수 있는 정도
학습 용이성 사용자가 소프트웨어의 사용법을 배워 명시된 목적을 달성할 수 있는 정도
운영 용이성 시스템이 쉽게 조작하고 제어할 수 있는 속성을 갖는 정도
사용자 오류 방지성 시스템이 사용자로 하여금 오류를 범하지 않게 하는 정도
사용자 인터페이스 심미성 사용자 인터페이스가 사용자에게 만족스러움을 주는 정도
접근성 사용자의 특성이나 능력(예 연령과 장애)에 관계없이 시스템을 사용할 수 있는 정도
신뢰성 성숙성 시스템 또는 구성 요소가 정상 작동 상태에서 신뢰성 요구를 충족시키는 정도
가용성 사용자가 시스템 또는 구성요소를 사용하고자 할 때 사용 및 접근이 가능한 정도
결함 허용성 하드웨어나 소프트웨어 결함이 있음에도 불가하고 시스템 또는 구성 요소가 의도한 대로 작동하는 정도
복구성 중단 또는 장애가 발생한 경우 시스템이 영향을 받은 데이터를 복구하고 상태를 재설정할 수 있는 정도
보안성 기밀성 접근 권한이 있는 사람에게만 데이터에 액세스할 수 있도록 하는 정도
무결성 시스템 또는 구성 요소가 컴퓨터 프로그램 또는 데이터에 무단으로 접근하거나 이의 변경을 방지하는 정도
부인 방지성 사건 및 행위 후에 부인하지 못하도록 행동 및 사건을 입증할 수 있는 정도
책임성 각 개인을 유일하게 식별하여 행위를 기록하고 필요 시 그 행위자를 추적할 수 있는 능력
인증성 사건 및 행동에 대해 실제 행위자임을 증명할 수 있는 정도
유지보수성 모듈성 하나의 구성 요소에 대한 변경이 다른 구성 요소에 미치는 영향이 최소화되도록 시스템 또는 컴퓨터 프로그램에 개별 구성요소로 구성된 정도
재사용성 시스템 자산이 하나 이상의 시스템에서 사용될 수 있는 정도, 또는 다른 자산을 구축할 수 있는 정도
분석성 부분에 의도된 변경이 전체 시스템에 미치는 영향을 평가하거나 결함 또는 결함 원인에 대해 제품을 진단하거나 수정될 부분을 식별할 수 있는 정도
변경 용이성 결함이나 품질 저하 없이 효과적이고 효율적으로 수정 될 수 있는 정도
테스트 용이성 테스트 수행을 용이하게 하는 정도
이식성 적응성 시스템이 다른 하드웨어, 소프트웨어 혹은 기타 사용 환경에 효ㅘ적이고 효율적으로 적용될 수 있는 정도
설치 용이성 특정 환경에서 시스템을 성공적으로 설치 및 제거할 수 있는 정도
대체 용이성 시스템이 동일한 환경에서 동일한 목적을 위해 다른 지정된 소프트웨어 제품으로 대체될 수 있는 정도

4.2 기능 적합성 테스트

- 기능 적합성 테스트 : 사용자의 요구사항을 시스템이 얼마나 만족하는지에 대한 정보를 제공

- 기능 완전성 : 사용자가 요구하는 기능을 얼마나 제공하는지. 명세 기반 테스트 방법으로 테스트

- 기능 정확성 : 시스템이 사용자가 기대하는 수준으로 얼마나 정확하게 동작하는지를 의미. 명세 기반이나 구조 기반 테스트 방법 모두 사용

- 기능 적절성 : 사용자의 사용 목적을 달성하는데 도움을 주는 정도


4.3 성능 효율성 테스트

- 고려 요소 : CPU 사이클, 디스크, 주기억공간 같은 자원의 사용, 주어진 시간 동안 처리할 수 있는 작업량, 자원이 할당되기를 기다리는 태스크의 수 등

- 벤치마크 테스트 : 실존하는 비교 대상을 두고 하드웨어나 소프트웨어의 성능을 비교 시험하고 평가하는 것

성능 테스팅 비교


4.4 호환성 테스트

- 공존성 : 다른 소프트웨어와 환경 및 자원을 공유하면서 요구된 기능을 효율적으로 수행하는 정도

- 상호운영성 : 여러 시스템이 정보를 교환하거나 교환된 정보를 성공적으로 사용할 수 있는 정도


4.5 사용성 테스트

- 사용성 평가 품질특성

품질 특성 설명
효과성 사용자가 특정 목표를 달성하는 정확성 및 완전성
효율성 사용자가 목표를 달성하는 정확성 및 완전성과 관련하여 소비되는 자원
만족도 지정된 사용 환경에서 사용자가 불편함이 없는 정도와 제품 사용에 대한 태도, 지정된 사용 환경에서 사용될 떄 사용자 요구가 충족되는 정도

- 적합 인식성 : 사용자가 자신의 필요에 시스템이 적합한지를 인식할 수 있는 정도

- 학습 용이성: 사용자가 소프트웨어 사용법을 배워 명시된 목적을 달성할 수 있는 정도

- 운영 용이성 : 시스템이 쉽게 조작하고 제어할 수 있는 속성을 갖는 정도

- 사용자 오류 방지성 : 시스템이 사용자로 하여금 오류를 범하지 않게 하는 정도

- 사용자 인터페이스 심미성 : 사용자 인터페이스가 사용자에게 만족스러움을 주는 정도

- 접근성 : 사용자의 특성이나 능력에 관계없이 시스템을 사용할 수 있는 정도

 

[사용성 평가를 위한 방법]

- 휴리스틱 평가 : 사용성 평가 전문가가가 제품과 관련된 사용성 원칙을 기준으로 체크리스트를 통해 사용성에 관한 문제점을 도출하는 방법

- FGI : 그룹 인터뷰 방법

- 인지적 워크쓰루 : 학습 용이성 분석에 중점을 둔 방법. 실제 사용자를 대상으로 사전설명 또는 안내 없이 제품을 사용하여 주어진 과제를 달성하도록 함.

- 시스템 개발의 전 주기에 걸쳐 진행되어야 함.


4.6 신뢰성 테스트

- 신뢰성 : 특정 조건에서 특정 기간 동안 시스템이 요구되는 서비스를 오동작 없이 제공하는 정도

- 성숙성 : 시스템 또는 구성 요소가 정상 작동 상태에서 신뢰성 요구를 충족시키는 정도

- 가용성 : 사용자가 시스템 또는 구성요소를 사용하고자 할 때 사용 및 접근이 가능한 정도

- 결함 허용성 : 하드웨어나 소프트웨어에 결함이 있는데도 시스템 또는 구성 요소가 의도한 대로 작동하는 정도

- 복구성 : 중단 또는 장애가 발생한 경우 시스템이 영향을 받은 데이터를 복구하고 상태를 재설정할 수 있는 정도

- MTTF : 시스템이 운영된 후 오류가 발생할 때까지 걸리는 평균 동작 시간

- 통계적 테스트 : 시스템이 실제로 사용자들이 쓰는 패턴인, 운영 프로파일을 사용하여 테스트 케이스 생성


4.7 보안성 테스트

- 보안성 : 시스템이 정보 및 데이터를 보호하는 정도

- 기밀성 : 접근 권한이 있는 사람에게만 데이터에 액세스할 수 있도록 하는 정도

- 무결성 : 시스템 또는 구성 요소가 컴퓨터 프로그램 또는 데이터에 무단으로 접근 또는 변경되는 것을 방지하는 정도

- 부인 방지성 : 사건 및 행위 후에 부인하지 못하도록 행동 및 사건에 관해 입증할 수 있는 정도

- 책임성 : 각 개인을 유일하게 식별하여 행위를 기록하고 필요시 그 행위자를 추적할 수 있는 능력

- 인증성 : 사건 및 행동에 관해 실제 행위자임을 증명할 수 있는 정도


4.8 유지보수성 테스트

- 유지보수성 : 시스템이 변경 요구를 만족시키는 능력

  • 기능 개선 및 추가
  • 변경된 환경에 적응
  • 오류 수정
  • 예상치 못한 장애 예방

- 모듈화 : 시스템을 여러 부분으로 분할하여 각 부분이 정의된 기능을 잘 수행하도록 하는 설계 기법

- fan-in : 얼마나 많은 모듈이 주어진 모듈을 호출하는가

- fan-out : 주어진 모듈이 호출하는 모듈 수

- 모듈의 응집도 : 개개의 모듈을 구성하는 요소들이 얼마나 서로 관련되어 있는가.(LCOM) 높을수록 좋음

- 순환 복잡도 : 모듈의 복잡도를 측정하는 대표적인 척도

- 테스트 용이성 : 프로그램을 얼마나 손쉽게 테스트할 수 있는지


4.9 이식성 테스트

- 이식성 : 서비스 이용자 단말기의 하드웨어 및 소프트웨어 환경이 달라도 동등한 서비스를 제공하는지 테스트하는 것