ISTQB + (2) = 소프트웨어 개발 수명 주기에서의 테스팅

H4N2·2024년 12월 8일

테스트 이론

목록 보기
2/5
post-thumbnail

오늘의 블로그 포스팅 내용은 ISTQB 자격증 대비를 위한 중요한 주제 중 하나인 '소프트웨어 개발 모델과 테스팅' 이다.

1. SDLC 모델별 테스팅

1.1. 폭포수 모델 (Waterfall Model)

  • 설명
    • SDLC의 고전적인 접근 방식으로, 단계가 순차적으로 진행된다. 각 단계는 명확하게 구분되며, 이전 단계가 완료된 후에만 다음 단계로 진행한다.
    • 단계: 요구사항 분석 → 설계 → 구현 → 테스트 → 배포 → 유지보수
  • 테스팅 특징
    • 테스트는 주로 "테스트 단계"에서 집중적으로 수행된다.
    • 요구사항 분석과 설계 단계에서 결함을 미리 발견하지 못하면 테스트 단계에서 더 큰 비용과 시간이 소요된다.
  • 장단점
    • 장점: 각 단계가 명확히 정의되어 관리가 용이
    • 단점: 초기에 발견되지 않은 결함으로 인해 후속 단계에서 문제가 발생할 위험이 높음

시험 대비 포인트🎯
폭포수 모델에서 테스트는 주로 제품이 거의 완료된 시점에 수행되므로, 초기 결함 탐지의 중요성을 강조 !!



1.2. V-모델 (V-Model)

  • 설명
    • 폭포수 모델을 확장한 형태로, 각 개발 단계와 대응되는 테스트 단계가 병렬로 진행된다.
    • 왼쪽: 개발 단계 → 요구사항 분석, 시스템 설계, 모듈 설계
    • 오른쪽: 테스트 단계 → 인수 테스트, 시스템 테스트, 통합 테스트, 단위
  • 테스팅 특징
    • 단위 테스트(Unit Testing): 모듈 설계와 관련된 테스트
    • 통합 테스트(Integration Testing): 시스템 설계와 관련된 테스트
    • 시스템 테스트(System Testing): 시스템 요구사항과 관련된 테스트
    • 인수 테스트(Acceptance Testing): 사용자 요구사항과 관련된 테스트

시험 대비 포인트🎯
V-모델에서 각 테스트 단계가 개발 단계와 어떻게 매핑되는지 이해하기 !!



1.3. 애자일 모델 (Agile Model)

  • 설명
    • 점진적이고 반복적인 개발 방법론으로, 소프트웨어를 작고 자주 배포 가능한 단위로 개발한다.
  • 테스팅 특징

    • 테스트 주도 개발(TDD)

      • 테스트를 먼저 작성한 후 코드를 개발
      • "코드가 테스트를 통과할 수 있도록 작성"이라는 접근 방식
    • 행동 주도 개발(BDD)

      • 요구사항을 테스트 케이스로 변환하여 코드 구현
      • 일반 언어로 작성된 "Given-When-Then" 포맷 사용
    • 자동화 테스트와 지속적인 통합(Continuous Integration, CI)을 중시

시험 대비 포인트🎯
짧은 주기마다 반복적인 테스팅의 중요성과 애자일 테스팅의 자동화 도구 활용


2. 테스팅 유형과 적용

2.1. 정적 테스팅 (Static Testing)

  • 설명: 소프트웨어를 실행하지 않고 결함을 발견하는 방법.
    • 예: 코드 리뷰, 설계 문서 리뷰, 정적 분석 도구 사용.
  • 활용:
    • 폭포수 모델: 초기 요구사항 분석 및 설계 단계에서 효과적.
    • 애자일 모델: 매 스프린트마다 리뷰 활동을 병행.

정적 테스팅 자세히 알아보기

2.2. 동적 테스팅 (Dynamic Testing)

  • 설명: 소프트웨어를 실제로 실행하여 결함을 발견하는 방법
    • 예: 단위 테스트, 통합 테스트, 시스템 테스트, 회귀 테스트
  • 활용:
    • 모든 SDLC 모델에서 수행되며, 자동화 및 수동 테스트 방법으로 진행

3. 시험 대비 +α

1. 테스팅과 리스크 관리

각 SDLC 단계에서 발생할 수 있는 리스크를 식별하고, 리스크 기반 테스팅을 적용하는 방법

  • 리스크 기반 테스팅:
    • 고위험 영역(예: 복잡한 모듈, 사용자에 민감한 기능)에 우선순위를 둠
    • 테스팅 시간과 리소스가 제한적인 상황에서 효과적

2. 테스팅과 품질 보증(Quality Assurance)

  • 테스팅 활동이 품질 보증 프로세스의 일부로 어떻게 통합되는지 이해

3. 테스팅 역할과 책임

  • 개발자와 테스터의 책임 분담
  • 독립적인 테스팅의 중요성
profile
Quality Assurance !

3개의 댓글

comment-user-thumbnail
2024년 12월 9일

istqb 시험 대비에 도움이 되었어요~

1개의 답글
comment-user-thumbnail
2024년 12월 10일

ISTQB 저도 공부 하려고 하는데 같이 잘 도전해봐요!

답글 달기