제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 이식성 테스트
- 이식성 : 서비스 이용자 단말기의 하드웨어 및 소프트웨어 환경이 달라도 동등한 서비스를 제공하는지 테스트하는 것
'자격증 > CSTS' 카테고리의 다른 글
Part01. 테스트 개요(제6장 소프트웨어 생명 주기 모델과 테스트) (1) | 2023.08.12 |
---|---|
Part01. 테스트 개요(제5장 위험 기반 테스트) (0) | 2023.08.12 |
Part01. 테스트 개요(제3장 소프트웨어 개발 단계와 테스트) (0) | 2023.08.06 |
Part01. 테스트 개요(제2장 테스트 분류와 테스팅 방법) (1) | 2023.07.30 |
Part 01. 테스트 개요(제1장 테스트 개요) (1) | 2023.07.23 |