📘 품질 특성과 비기능 테스트
📌 개요
소프트웨어 품질은 단순한 기능 수행 여부뿐 아니라,
비기능적 속성과 사용자 만족까지 포함한 특성으로 평가된다.
비기능 테스트는 소프트웨어의 품질 특성을 검증하기 위한 체계적 활동이다.
📌 품질 특성과 테스트 방법
1️⃣ 기능 적합성 (Functional Suitability)
- 정의: 소프트웨어가 요구 기능을 올바르게 수행하는 정도
- 테스트 방법: 기능 적합성 테스트, 요구사항 기반 검증, 시나리오/테스트 케이스 수행
- 측정 지표: 결함 발견율, 기능 수행률, 요구사항 충족 비율
- 예시: 계산기 앱에서 덧셈, 뺄셈 기능이 요구대로 동작하는지 확인
- 정의: 처리 속도, 자원 사용, 반응 시간 등 시스템 효율성
- 테스트 방법:
- 부하 테스트 (Load Test): 예상 사용자/트랜잭션 수를 시뮬레이션
- 스트레스 테스트 (Stress Test): 한계치 이상 사용자/트랜잭션
- 스파이크 테스트 (Spike Test): 갑작스러운 트래픽 증가
- 내구성 테스트 (Endurance/Soak Test): 장시간 반복 트랜잭션
- Little’s Law 적용: 평균 처리 시간과 시스템 처리량 계산
- 측정 지표: 응답 시간, 처리량(Transactions/sec), 자원 사용률(CPU, Memory)
- 예시: 웹 서비스에 10,000명 동시 접속 시 응답 시간 측정
3️⃣ 호환성 (Compatibility)
- 정의: 다양한 환경(OS, 브라우저, 하드웨어)에서 정상 동작 여부
- 테스트 방법: 크로스 브라우징, OS/플랫폼별 설치 및 실행, 파일 형식 호환성 확인
- 측정 지표: 기능 정상 동작률, 환경별 오류 발생률
- 예시: 웹 앱이 Chrome, Firefox, Safari에서 동일 동작
4️⃣ 사용성 (Usability)
- 정의: 소프트웨어 사용이 쉽고 이해하기 편한 정도
- 테스트 방법: 사용성 테스트, 관찰/설문, 작업 완료 시간 측정
- 프레임워크/항목:
- 적합 인식성: 목적과 기능 이해 용이
- 학습 용이성: 신규 사용자 학습 속도
- 운영 용이성: 일상적 작업 수행 용이
- 사용자 오류 방지성: 오류 예방, 오류 메시지 확인
- UI 심미성: 디자인, 시각적 만족도
- 접근성: 장애인 접근성, 표준 준수
- 측정 지표: 오류율, 작업 완료 시간, 만족도 점수
- 예시: 신규 사용자가 10분 안에 회원가입 완료 여부
5️⃣ 신뢰성 (Reliability)
- 정의: 장애 없이 일정 기간 동작, 복구 능력
- 테스트 방법: 신뢰성 테스트, 장애 시 복구, 결함 허용성 검증
- 세부 항목:
- 성숙성 (Maturity): 결함 발생 빈도
- 가용성 (Availability): 정상 동작 가능 시간 비율
- 결함 허용성 (Fault Tolerance): 장애 발생 시 동작 지속
- 복구성 (Recoverability): 장애 후 시스템 복구 속도
- 측정 지표: 평균 고장 간격(MTBF), 복구 시간(MTTR)
- 예시: 서버 다운 후 5분 내 자동 복구 확인
6️⃣ 보안성 (Security)
- 정의: 데이터와 시스템 보호 정도
- 테스트 방법: 보안 테스트, 권한/인증/데이터 무결성 검증
- 세부 항목:
- 기밀성 (Confidentiality)
- 무결성 (Integrity)
- 부인 방지 (Non-repudiation)
- 책임 (Accountability)
- 인증성 (Authenticity)
- 측정 지표: 취약점 수, 침투 테스트 결과, 인증 실패율
- 예시: SQL Injection 방어 여부, 사용자 권한 검증
7️⃣ 유지보수성 (Maintainability)
- 정의: 시스템 수정, 개선, 장애 대응 용이성
- 테스트 방법:
- 기능 개선 및 추가 → 영향 분석 후 테스트
- 환경 적응 → 새로운 OS/플랫폼 적용 검증
- 결함 수정 → 수정 후 리그레션 테스트 수행
- 장애 예방 → 예방적 테스트 및 코드 개선
- 측정 지표: 수정 후 결함 수, 테스트 수행 시간, 코드 복잡도
- 예시: 버전 업그레이드 후 기존 기능 문제 없는지 검증
8️⃣ 이식성 (Portability)
- 정의: 다른 환경/플랫폼에서 설치 및 동작 가능 여부
- 테스트 방법: 크로스 브라우징, OS 이전, 설치/설정 검증
- 측정 지표: 설치 성공률, 환경별 기능 동작률
- 예시: 웹 앱이 Windows, Mac, 모바일 환경에서 동일하게 동작
🧠 핵심 요약
| 품질 특성 |
테스트 |
수행 방법 |
지표/예시 |
| 기능 적합성 |
기능 적합성 테스트 |
요구사항 기반 검증 |
결함 발견율, 기능 수행률 |
| 성능 효율성 |
부하/스트레스/스파이크/내구성 테스트 |
트래픽 시뮬레이션, Little’s Law 활용 |
응답 시간, 처리량, CPU/Memory |
| 호환성 |
호환성 테스트 |
OS/브라우저/환경별 검증 |
오류 발생률, 기능 정상 동작률 |
| 사용성 |
사용성 테스트 |
관찰, 설문, 작업 시간 측정 |
오류율, 작업 완료 시간, 만족도 |
| 신뢰성 |
신뢰성 테스트 |
장애/복구 검증, 결함 허용 |
MTBF, MTTR |
| 보안성 |
보안 테스트 |
권한, 인증, 데이터 무결성 검증 |
취약점 수, 침투 테스트 결과 |
| 유지보수성 |
유지보수성 테스트 |
리그레션 테스트, 환경 적응 |
수정 후 결함 수, 테스트 시간 |
| 이식성 |
이식성 테스트 |
크로스 브라우징, 환경 이동 |
설치 성공률, 환경별 기능 동작률 |
비기능 테스트는 단순 정의가 아니라, 실제 수행 방법과 측정 지표를 함께 이해해야 실무와 시험에서 활용 가능하다.