품질보증
태그 :
- 개념
- - 설정된 요구사항과 SW 제품과의 일치성 확인작업 - 모든 산출물들을 사용하는데 필요한 적절한 확증을 준비하는 체계적인 행위
1. Sw 산출물의 체계적인 확증 행위, QA(Quality Assurance)의 개요
가. 소프트웨어 품질보증(Quality Assurance)의 정의
- 설정된 요구사항과 SW 제품과의 일치성 확인작업
- 모든 산출물들을 사용하는데 필요한 적절한 확증을 준비하는 체계적인 행위
나. 소프트웨어 품질보증의 필요성
- 사용자 요구사항 최대 만족을 통한 생산성 향상
- 개발과정에서 품질 문제점 조기 발견 및 조치
- 납기준수, 제품의 견고성,
다. 제품의 확장성
- 비용 노력 절감, 생산성 향상, 재사용성 증가
2. 소프트웨어 품질보증 기법
가. 리뷰(Review)
- 부적절한 정보, 누락되거나 관련이 없는 정보의 발견, 요구사항 명세서와 일치성 검토
- 시스템 개발요원, 관리자, 사용자, 외부전문가 참여
나. 인스펙션(Inspection)
- 소프트웨어 구성요소들의 정확한 평가
- Review 보다 엄격, 정형화됨, Check List등 사용
다. Walk-Through
- 비공식적인 검토과정으로서 개발에 참여한 팀들로 구성
라. 소프트웨어 품질보증 기법간의 비교
구분 |
Management Review |
Technical Review |
Software Inspection |
Walkthrough |
목적 |
진행상태를 점검하고 시정조치를 취하도록 함 |
명세서와 계획에 대한 적합성 평가 및 변경의 무결성 보증 |
결함을 찾고 해결책을 검증 |
결함을 찾고 대안을 시험하고 학습수단으로도 활용 |
추천규모 |
2명이상 |
3명이상 |
3~6명 |
2~7명 |
참석자 |
경영자, 분야별 관련자 |
개발자 |
문서화된 공식적인 참석대상자 |
개발자 |
리더쉽 |
선임 관리자 |
선임 엔지니어 |
훈련된 중재자 |
개발자 본인 |
자료량 |
목적에 따라 많음 |
목적에 따라 많음 |
상대적으로 작음 |
상대적으로 작음 |
산출물 |
경영검토보고서 |
기술검토보고서 |
검사보고서와 결함목록 |
검토회보고서 |
3. 소프트웨어 품질보증의 절차 및 활동
가. 소프트웨어 품질보증의 절차
절차 |
설명 |
. 품질보증 활동계획 수립 및 평가대상 산출물 선정 . 품질보증 프로세스와 기준선 설정 |
|
. 개발활동에 대한 검토 . 산출물을 생산하기 위한 프로세스들의 운용 검토 |
|
. 품질목표에 따라 실제 품질평가 및 측정 . 소프트웨어 감리 및 감사와 연관 |
|
. 품질평가에 대한 문서기록 |
|
. 문서화된 평가결과 승인 . 품질보증 활동에 대한 최고결정권자의 승인 |
|
. 승인된 품질평가의 결과를 개발활동에 반영 . 관련조직 및 관련인원에게 통보 |
나. 소프트웨어 품질보증 활동
품질보증 활동 |
세부 내용 |
형상관리 |
형상항목 식별, 변경사항 관리 |
문서관리 |
문서관리 절차수립, 문서작성/보관/폐기 |
품질기록 |
품질보증 계획/수행/결과를 기록 |
합동검토 |
Milestone애 따라 프로젝트의 진행상황을 공동검토 |
검증 및 확인 |
단계별 검증 및 테스트 |
시정조치 |
해결방안 수립 및 조치 |
위험관리 |
예상위험 발견/평가/통제 |
쟁점관리 |
고객 요구사항 변경 등의 쟁점분석, 대안설정 및 실행 |
4. 소프트웨어 생멸주기별 품질보증활동
5. 인스펙션
가. 인스펙션 절차
- 모든 인스펙션 과정의 책임과 권한은 인스펙션 주재자(moderator) 에게있다.
나. 인스펙션 종류
1) 시스템 설계 인스펙션
-목적 : 모듈의 전반적인 설계나 기능을 점검
-주관심사 : 소프트웨어 요구, 성능 명세 관련 사항과 인터페이스
2) 상세설계 인스펙션
-목적: 시스템 전체 설계의 목적을 반영하도록 각 모듈의 설계가 잘 되었는가 검사
-설계 목표와 설계 작업의 관계
3) 코드 인스펙션
-전제 : 새로 작성된 프로그램이나 다른 시스템에서 개발되었으나 수정된 것, 컴파일 오류가 없는 것이 확인된 프로그램만이 코드 인스펙션 가능
-인스펙션의 목적
· 코드가 요구 명세와 설계 명세 및 인터페이스 명세에 적합한지 검사하기 위해
· 설계가 정확히 프로그래밍 언어로 바뀌었는지 점검하기 위하여
· 코드의 품질을 동료가 점검하기 위하여
· 코드가 모듈 사이의 인터페이스 요구를 만족하는지 검사하기 위하여
· 모듈 테스트 명세를 미리 검토하기 위하여
· 적당한 테스트 도구와 환경이 있는지 확인하기 위하여
· 모듈 테스트를 착수할 수 있는지 확인하기 위하여
· 소프트웨어 Product가 계약이나 국제 표준 또는 규칙에 맞는지 점검하기 위하여
6. 소프트웨어 품질보증의 문제점 및 발전방향
가. 소프트웨어 품질보증의 문제점
품질에 대한 인식 부족
품질보증요원 부족
표준제도 절차확립 결핍
개발 시간적 압박으로 인한 품질보증 관련 업무의 소홀
나. 소프트웨어 품질보증의 발전방향
소프트웨어 제품 자체보다 소프트웨어 프로세스 품질활동에 초점을 맞춤
품질정책, 문화, 환경의 조성
경영자의 품질에 대한 의지와 품질에 대한 동기부여, 교육, 훈련
지속적이고 발전적인 품질보증활동 개선, 수용자간의 상호이해 필요