소프트웨어공학_14

김경민·2024년 12월 4일

3학년 2학기

목록 보기
27/29
post-thumbnail

📌CM/QA

CM Configuration Management

  • 정의 및 목적
  • 핵심 활동
  • 변경 관리 프로세스
  • 버전관리와 릴리스

QA Quality Assurance

  • 정의 및 목적
  • 핵심 활동

RTM - Requirement Traceability Matrix


📌 CM - 정의 및 목적

  • CM의 정의
    소프트웨어 시스템의 모든 구성요소를 체계적으로 정의하고, 관리하고, 변경을 기록항, 개발과정의 일관성을 보장하는 활동
  • CM의 목적
    변경 사항 추적
    재현 가능성 유지
    효율적인 협업 환경 조성

📌 CM - 핵심 활동

  • 식별(Idenification)
    모든 산출물(코드, 문서, 요구사항 등)고유하게 식별
    식별 체계 예 : 버전 번호 체계 (1.0.0, 1.1.0 등)

  • 통제(Control)
    변경 요청을 관리하고 승인된 변경만 반영
    변경 요청 프로세스

    변경 요청 생성 -> 영향 분석 -> 승인/거부 -> 적용

  • 상태기록(Status Accounting)
    모든 구성요소의 현재 상태를 기록하고 유지
    예 : "모듈 A는 1.2 버전이며, 테스트 상태 완료

  • 검증(Auditing)
    CM 프로세스가 올바르게 실행되었는지 확인
    예 : 특정 구성요소가 올바른 버전으로 배포되었는지 검증


CM - 변경관리 프로세스

  • 변경 요청 생성단계
    모든 변경 요청은 기록으로 관리
    문서화 내용 : 변경의 이유, 영향, 대안, 예상 결과
  • 변경 승인 단계
    변경관리위원회(Change Control Board)와 같은 검토 단위 구성
  • 적용 및 검증 단계
    변경 후 반드시 검증 테스트를 수행

CM - 버전관리와 릴리스

- 버전 관리의 기본 원칙

버전 번호 체계

  • 메이저(주요 변경), 마이너(기능 추가), 패치(버그 수정)의 구분
  • 분리된 환경 유지
    • 개발 환겨, 테스트 환경, 운영 환경 분리
  • 롤백 전략
    • "이전 상태로 되돌릴 수 있는 시스템" 설계해야함

- 릴리스 관리

  • 릴리스 계획 수립
    • 주요 기능, 품질 목표, 일정에 따른 릴리스 로드맵 작성
  • 변경 사항 요약
    • 모든 릴리스마ㅏ 변경 사항과 새로운 위혐 요소 문서화

📌 QA - 정의 및 목적

  • 정의
    품질을 보장하기 위한 계획적이고 체계적인 활동
  • 목적
    결함 없는 소프트웨어를 제공하며, 고객의 요구를 충족시키는 것

📌 QA - 핵심 활동

  • 프로젝트 정의 및 개선
    개발 표준, 코드 리뷰 규칙, 테스트 전략 정의
  • 예방 줌심 활동
    테스트 설계와 요구사항 문석으로 초기 결함 예방
  • 품질 매트릭스 관리
    결함 밀도, 테스트 커버리지, 평균 수명 시간 측정

💻 핵심 활동 사례 - 테스트전략 설계

  • 테스트 계획 작성
    무엇을 테스트할 것인가? (테스트 대상 정의)
    테스트 범위 : 기능 테스트, 비기능 테스트(성능, 보안 등)
    우선순위 결정 : 위험도에 따라 테스트 순위 지정
  • 테스트 실행 기준
    테스트 시작/종료 기준
    • 시작 : 개발 80% 이상 완료, 테스트 환경 준비 완료 상태
    • 종료 : 주요 결함 수정 완료, 요구사항 충족률 95% 이상 상태

테스트케이스 설계

  • 테스트 시나리오
    사용자의 실제 동작을 기반으로 설계
    예 : 사용자가 로그인 후, 비밀번호를 변경할 떄의 모든 경로 테스트
  • 경계값 분석
    입려값의 최속밧, 최대값, 중간값 테스트
    예 : 입력 필드에 "최대 100자 허용" 이면 99, 100, 101자를 테스트

QA평가 및 보고

  • 결함 보고서 작성
    결함 설명, 재현 절차, 기대 결과, 실제 결과
  • 품질 목표와 성과 평가
    목표 : 결함 밀도 >= 0.5개/1000라인, 테스트 커버리지 >= 90%

📌 QA – CM과 QA의 관계

CM과 QA의 관계

  • 변경 사항이 품질에 미치는 영향 추적
    • QA 활동에서 발견된 결함 → CM 기록에 반영
  • CM과 QA의 협력
    • QA는 변경 요청 단계에서 잠재적 품질 문제를 검토

품질 보장을 위한 통합된 프로세스

  • 변경 요청 → 영향 분석(QA 참여) → 구현 및 검증
  • CM과 QA 협력

📌 RTM – Requirement Traceability Matrix

정의

  • 고객 요구사항부터 설계, 개발, 테스트에 이르기까지 추적 가능한 매트릭스를 구축
    → 프로젝트의 품질 보증과 요구사항 충족을 보장하는 핵심 활동
  • RTM은 SDLC 각 단계에서 요구사항이 제대로 반영되고 테스트되었는지 확인할 수 있는 기능 제공

RTM – 구성 요소

  • 요구사항 ID: 요구사항을 고유하게 식별하는 ID
  • 고객 요구사항: 고객이 요청한 주요 기능 또는 성능 목표
  • 기능적 요구사항: 고객 요구 구현 위한 시스템 요구사항
  • 설계 요소: 요구사항을 반영한 설계 단계의 산출물
  • 테스트 케이스 ID: 요구사항 검증하는 테스트 케이스 식별자
  • 상태(Status): 요구사항 충족 여부

💻 RTM – 예시

사항 ID고객 요구사항기능적 요구사항설계 요소테스트 케이스 ID상태
RQ-01사용자는 로그인할 수 있어야 한다사용자는 이메일과 비밀번호로 로그인login_page.html, auth.jsTC-01, TC-02충족됨
RQ-02사용자는 비밀번호를 재설정할 수 있어야 한다비밀번호 재설정을 위한 이메일 링크 제공password_reset.html, reset.jsTC-03충족됨
RQ-03시스템은 2초 이내에 검색 결과를 반환해야 한다검색 기능 최적화search_algorithm.pyTC-04충족되지 않음
RQ-04관리자는 사용자 데이터를 내보낼 수 있어야 한다사용자 데이터를 CSV로 내보내기admin_export.html, export.jsTC-05, TC-06테스트 중

Sofrware Quality -> 얼마나 요구사항을 충족 시켰나?

profile
무지(無知)

0개의 댓글