ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [프로세스 기반의 소프트웨어 품질] Part 2 - 소프트웨어 품질
    카테고리 없음 2025. 4. 22. 13:41
    고객 요구사항 만족
    • 품질이란 고객의 요구사항을 만족하는 것이다 (Customer Requirement Fitness, Conformance to Requirement, Fitness for use)
    • 고객이 원하는 것 이상을 제공하는 것이 좋은 품질은 아니다!!
    • 소프트웨어 품질: 요구사항을 만족시킬 수 있는 소프트웨어의 특성
    소프트웨어 버그
    소프트웨어의 잠재적 결함
    • 소프트웨어의 잠재적 결함은 실제 환경이 아니고서야 찾아내기 어렵다.
    • 하지만 테스트를 위해 실제 환경과 비슷하게 테스트 환경을 구축하는 것도 비용적인 문제때문에 어렵다.
    • 소프트웨어의 결함의 약 15%는 고객에게 전달된다.
    인위적 결함 주입
    • 결함주입방법 (Defect Injection Method), 오류심기기법 (Error Seeding Method): 소프트웨어 테스트 시 인위적인 오류를 만들어서 소프트웨어에 심어놓는 것
    • 살충제 패러독스: 동일한 테스트케이스를 반복하는 경우 더 이상 새로운 결함을 발견 할 수 없다
    데이터의 신뢰성과 무결성
    소프트웨어 품질 특성
    • ISO 국제 표준에 따른 세부적인 품질: 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 등
    소프트웨어 품질 영향 요인
    • 소프트웨어에 영향을 주는 3대 요인
      - 사람: 개발자, 고객
      - 프로세스: 개발 방법론, 프로젝트 관리 방법론
      - 기술: 개발도구, 관리도구, 테스트도구 등
    • 품질 이슈를 사전에 관리하기 위한 점진적인 개발 필요
      • 선도개발:  중복개발을 최소화하기 위한 공통 소프트웨어 개발
    품질관리 프로세스
    • 품질관리 프로세스 5단계
      1. 시작
      2. 계획 (품질계획단계): 품질 표준 정의 및 방법 결정, 품질 기준 수립, 품질에 영향을 줄 수 있는 위험 분석
      3. 실행 (품질보증단계)
            - 리뷰 (Review)
            - 팀 검토, 공식 검토 (Walkthrough, Formal Review)
            - 검사 (Inspection)
            - 테스트 및 감사 (Audit)
      4. 통제 (품질통제단계): 품질 보증의 성과와 결과가 품질계획의 표준과 목표에 부합하는지 분석
      5. 종료
    소프트웨어 지표와 측정
    • 품질 지표의 범위 3가지
      1. Defect (결함)
      2. Customer Problem (고객 문제점)
      3. Customer Satisfaction (사용자 만족도) - 기능성, 사용성, 신뢰성, 성능, 서비스 관점
    • 결과지표 뿐만 아니라 과정지표도 잘 관리해야 함
    품질 비용
    • 품질 비용: 제품, 서비스의 품질과 관련하여 발생하는 비용
    • 품질 비용의 3가지 범주:
      1. 예방 비용: 결함 방지에 요구되는 비용
      2. 평가 비용: 요구사항을 만족하는지 확인하는 비용 → 현대에는 낭비라고 여겨짐
      3. 실패 비용: 결함 관련 비용  → MVP (Minimum Value Product, 최소기능제품) 이론으로 제거됨
    소프트웨어 형상 관리
    • 소프트웨어의 무결성이 보장되어야 한다
    • 프로그램의 소스 뿐만 아니라, 설계도, 데이터 스키마 등도 형상 관리의 대상이다
    • 소프트웨어 변경 관리: 소프트웨어의 수정 및 변경사항을 체계적으로 관리하는 절차
    • 소프트웨어 버전 관리: 소프트웨어의 진화에 대한 이력
    소프트웨어 형상항목
    • 형상항목: 형상관리의 최소 항목으로, 서로 구별되고 식별되는 최소 단위. 소프트웨어 또는 하드웨어 요소의 집합으로 구성됨
    • 추적성: 요구사항과 소프트웨어, 산출물들의 관계를 관리하는 능력
    소프트웨어 동결과 베이스라인
    • 소프트웨어는 베이스라인부터 형상관리, 변경관리, 버전관리를 시작한다
    • 베이스라인을 만들기 위해서는 "동결" 이라는 의사결정이 필요하며, 동결이 선언되면 수정은 금지되고 베이스라인 작업을 수행함
    소프트웨어 배포
    형상통제 및 감사
    • 동결에 따라 설정된 형상항목 베이스라인에 대한 수정은 승인 절차를 필요로 한다
    • 형상통제 (변경통제, Change Control): 기준선이 된 형상항목에 대한 변경요청, 평가, 승인, 반려, 연기하는 절차를 기술하고 실행하는 활동
    • 형상감사 (Configuration Audit): 형상관리 계획서에 나와있는 변경관리 프로세스가 적용되어 적절한 변경이 이루어졌는가를 감독, 검사하는 활동
      • 절차에 대한 감사 / 형상항목에 대한 감사
    품질 시스템의 필요성
    • 품질 시스템: 표준화 기구에 의해 정의된 품질 관리 및 품질 보증에 대한 규격
    • ISO 9001
      • 자율적으로 품질 관리 프로세스를 만들어서 사용함
      • 기업의 품질 프로세스가 있는지, 그 절차를 준수하는지를 인증하는 체제
    • CMMi
      • 미국 주도의 소프트웨어 품질 인증 체계
      • Level 0 (가장 낮은 수준) ~ Level 5 (가장 높은 수준)
    • SPICE
      • ISO에서 지정한 소프트웨어 프로세스 심사 표준/인증 규격
      • CMMi, ISO 9001의 장점을 수용한 소프트웨어 프로세스 성숙도 평가에 특화된 모델
    품질계획서와 품질보증
    • 품질계획서: 품질 보증 활동을 위한 구체적인 지침을 제시함
    • 품질계획서의 구성: 목적, 전략, 품질목표, 품질 보증 계획 등
Designed by Tistory.