Software Engineering
[소프트웨어공학] 제4장 소프트웨어 품질 (QA/QC)
iseop
2023. 5. 15. 20:05
1. 단원 요약
- SW 품질
- 생산자 시각: 요구사항 만족, 개발 표준 준수 여부
- 고객 시각: 사용 목적과 기대에 부합하는지 여부
- SW 품질의 분류
- 관점에 따른 분류: 사용자 관점, 개발자 관점, 프로젝트 관리자 관점
- 외부/내부 특성
- 외부 특성: 사용자 관점에서 신뢰성/사용성 등 실행되는 코드의 행위를 측정한다.
- 내부 특성: 개발자 관점에서 문서/코드에 대한 정적 평가를 수행한다.
- 제품/프로세스 특성
- 제품 특성: SW 제품 자체에 대한 품질을 평가한다.
- 프로세스 특성: SW 프로세스에 대한 품질을 평가한다. (일정, 비용, 위험관리 등)
- SW 제품 품질 표준: ISO/IEC 9126, 14598, 25000
- ISO/IEC 9126: 6가지 품질 특성과 그 부특성들을 정의
- 기능성: 적합성, 정확성, 상호운영성, 보안성, 준수성
- 신뢰성: 성숙성, 결함내구성, 복구성
- 사용성: 이해성, 학습성, 운영성, 매력성
- 효율성: 시간효율성, 자원효율성
- 유지보수성: 분석성, 변경성, 안정성, 시험성
- 이식성: 적응성, 설치성, 공존성, 대체성
- ISO/IEC 9126-2: 외부 메트릭(실행 중인 SW의 행위를 평가)을 정의
- ISO/IEC 9126-3: 내부 메트릭(SW 제품 자체를 평가)을 정의
- ISO/IEC 9126-4: 사용자가 느끼는 제품의 사용 효과, 즉 사용 품질을 정의
- 효율성, 생산성, 안전성, 만족성
- 맥 콜의 품질 특성: 11개의 사용자 관점 특성, 23개의 개발자 관점 특성
- ISO/IEC 9126: 6가지 품질 특성과 그 부특성들을 정의
- SW 개발 프로세스 품질 표준: ISO 9000, CMMI, ISO/IEC 15504 (SPICE), ISO/IEC 12207
- 프로세스 품질은 내부 품질에, 내부 품질은 외부 품질에, 외부 품질은 사용 품질에 영향을 미친다.
- ISO 9000 시리즈: "품질 경영" 인증
- 9000: "품질관리 시스템"에 대한 정의
- 9001: 품질관시 시스템 인증 요건에 관한 정의(인증 여/부)
- CMMI: ISO9001과 ISO/IEC 15504을 통합한 SW 개발 프로세스 성숙도 평가인증
- 범주 > 역량 영역 > 실무 영역(PA) > 실무 지침(Practices) 순으로 구성
- 연속적 모델 평가: 20여가지의 실무 영역을 대상으로 평가
- 1. 미실행
- 2. 초기
- 3. 관리됨
- 4. 정의됨
- 단계적 모델 평가: 조직 전체의 프로세스 능력을 단일 등급으로 평가
- 1. 초기
- 2. 관리됨: 일정/비용 등 기본적 관리
- 3. 정의됨: 표준 프로세스 존재
- 4. 양적으로 관리됨: 프로젝트가 정량적으로 관리됨
- 5. 최적화됨: 지속적 개선이 발생함
- SW 품질 보증(Quality Assurance)
- 품질 보증 계획: SQA(SW Quality Assurance) 수행을 위한 로드맵
- SQA 계획의 순서
- QA 조직 구성
- SW품질/프로세스품질 표준 선정
- 테스트 계획/절차/검토 방법 정의
- 형상관리/위험관리 방법 정의
- SQA 작업의 순서
- 소프트웨어 테스트
- 형상 관리(Configuration Management)
- 품질 제어(Quality Control) 활동
- SW 품질 제어(Quality Control)
- 품질 제어: 프로세스와 제품이 QA 계획에 따라 개발되는지 확인하는 활동
- 품질 제어는 결함 발견 및 수정에 관한 활동이다.
- 이에 비해, 품질 보증은 결함을 사전에 예방하는 활동이다.
- 품질 보증(QA)는 프로세스를, 품질 제어(QC)는 제품을 주 대상으로 한다.
- 확인과 검증(Verification & Validation)
- 확인(確認): 개발자가 제품과 명세가 일치하는지 확인(verify)하는 활동이다.
- 검증(檢證): 사용자가 제품이 기대에 부합하는지 검증(validate)하는 활동이다.
- 검토(Review)
- 코드 워크스루: 동료 개발자 등이 코드를 평가하는 과정
- 인스펙션: 동료 개발자 또는 전문가 등이 코드를 평가하는 과정
- 공식 기술 검토(FTR, Formal Technical Review): 표준과 지침을 준수하였는지 전체적으로 검토하는 과정
- 신뢰도
- MTTF (F=Failure)
- MTBF = MTTF + MTTR (R=Recovery)
- AVAIL = MTTF / (MTTF + MTTR)
- ROCOF(Rate of Occurrences of Failures): 고장 발생 비율
2. 연습문제 요약
- ISO 9001은 인증 여/부만을 부여하지만, CMMI는 수준에 따른 등급을 부여한다.