품질보증(Quality Assurance)

I. 소프트웨어 산출물의 체계적인 확증, 품질보증

가. 소프트웨어 품질보증 (Quality Assurance, QA)의 개념

  • 고객의 요구사항과 개발된 산출물이 일치하는지 확인하기 위한 쳬계적인 행위

나. 소프트웨어 품질보증의 특징

  • 사용자 요구사항 최대 만족을 통한 생산성 향상
  • 개발과정에서 품질 문제 조기 발견 및 조치
  • 납기준수, 제품의 견고성
  • 비용 노력 절감, 생산성 향상, 재사용성 증가
  • 제품의 확장성

 

II. 소프트웨어 품질보증 기법 종류 및 비교

가. 소프트웨어 품질보증 기법 종류

구분 내용
Management
Review
진행상태를 점검하고 시정조치를 취하도록 함
스케줄과 계획의 진행상태를 확정
참석자: 경영자, 분야별 관련자
Technical
Review
명세서와 계획에 대한 적합성 평가, 변경의 무결성 보증
기술적 대안 제시
산출물: 기술검토보고서
Walkthrough소프트웨어 제품 평가
비공식적 검토
결함을 찾고 대안을 시험하고 학습수단으로도 활용
Inspection설계서, 코드 등의 중간 산출물을 검사하여 결함 발견 및 SW품질 개선과 비용절감을 위한 품질 보증기법
타인에 의한 Inspection은 수준 높은 디버깅이 가능함
공식적인 동료검토(통상 3 ~ 7명)
SW 에러, 규격, 표준에 맞지 않는 것들을 찾는 검토활동
Audit요구분석, 설계, 프로그램 품질 감사
전체 프로세스 준수 여부에 대한 적정성 검토

나. 소프트웨어 품질보증 기법간의 비교

구분Management ReviewTechnical ReviewSoftware InspectionWalkthrough
목적진행상태 점검 후 시정명세서와 계획의 적합성 평가 및 변경무결성 보증결함을 찾고 해결책을 검증결함을 찾고 대안을 시험하고 학습수단
참석자경영자, 분야별 관련자개발자공식적인 참석대상자개발자
리더쉽선임 관리자선임 엔지니어훈련된 중재자개발자 본인
자료량목적에 따라 많음목적에 따라 많음상대적으로 작음상대적으로 작음
산출물경영검토보고서기술검토보고서검사보고서와 결함목록검토회보고서

 

III. 소프트웨어 품질보증 절차 및 활동

가. 소프트웨어 품질보증 절차

나. 소프트웨어 품질보증 활동

품질보증 활동세부 내용
형상관리형상항목 식별, 변경사항 관리
문서관리문서관리 절차수립, 문서작성/보관/폐기
품질기록품질보증 계획/수행/결과를 기록
합동검토Milestone에 따라 프로젝트의 진행상황을 공동검토
검증 및 확인단계별 검증 및 테스트
시정조치해결방안 수립 및 조치
위험관리예상위험 발견/평가/통제
쟁점관리고객 요구사항 변경 등의 쟁점분석, 대안설정 및 실행

 

IV. 소프트웨어 생명주기(SDLC) 별 품질보증 활동

단계준비 활동시행 활동완료 활동
요구
분석
업무범위 이해,
사용자 확인
표준 및 절차 확인
Comm. 능력 분석자
요구분석 체크리스트
요구분석 방법
유사프로젝트 경험
템플릿 활용
모델링 및 도구 활용
체크리스트 활용
요구분석 산출물 확인
사용자 요구목록 관리
철저한 Review 실시
사용자의 요구분석 산출물 검토
기본
설계
요구분석 산출물 검토
시스템 적용활동 이해
제약조건 파악
시스템환경 기술자확보
표준 및 절차 수립
유사 프로젝트 경험
템플릿 활용
설계기법 및 도구활용
설계 목표 달성
설계원리 준수(추상화등)
기본설계 산출물 확인
철저한 Review 실시
기본설계서 분석자의 검토여부 확인
상세
설계
기본설계서 검토
상세설계 제약조건파악
필요 도구준비
표준 및 절차 수립
유사 프로젝트 경험
템플릿 활용
설계 기법 및 도구 활용
구조적 프로그래밍 설계
객체지향
상세설계 산출물확인
철저한 Review 실시
상세설계서 작성
상세설계서 분석자의 검토여부 확인
구현상세설계서 검토
코딩 및 절차 준비
공통, 재활용 모듈 준비
표준 및 절차 수립
표준 코딩 방법론 적용
4GL, CASE 도구 활용
단위 시험용 절차서
데이터활용 단위테스트
상세설계 대비 개발
소스 누락여부 확인
프로그램목록 작성
단위시험 체크리스트
개발소스에 대한 상세 설계자 검토
통합
시험
기본설계서 검토
통합시험 시나리오
통합시험 환경검토
통합시험 도구 준비
시험과정의 기록
설계담당자참석통합시험
모듈간 인터페이스 시험
통합시험 결과 기록
시스템 필요모듈 확인
철저한 Review 실시
인수
시험
요구분석서 검토
인수시험 시나리오
사용자 입회여부 검토
사용자 직접 시험
실적용 환경에서 테스트
시험 과정 및 결과 기록
과정 및 결과 확인
인수시험 결과에 대한 사용자의 직접 확인

 

V. 소프트웨어 품질보증의 문제점 및 발전방향

가. 소프트웨어 품질보증의 문제점

  • 품질에 대한 인식 부족
  • 품질 보증 요원 부족
  • 표준제도 절차확립 결핍
  • 개발시간 적 압박으로 품질보증 관련 업무 소홀

나. 소프트웨어 품질보증 발전방향

  • 소프트웨어 제품 자체보다 프로세스 품질활동에 초점
  • 품질정착, 문화, 환경의 조성
  • 경영자의 품질에 대한 의지와 동기부여, 교육, 훈련
  • 지속적이고 발전적인 품질보증활동 개선, 수용자 간 상호 이해

댓글을 남겨주시면 감사드려요~*^^*