logo

소프트웨어 테스팅 라이프사이클(STLC)

STLC(소프트웨어 테스팅 라이프 사이클)는 소프트웨어 애플리케이션을 테스트하여 요구 사항을 충족하고 결함이 없는지 확인하는 체계적인 접근 방식입니다. 이는 일련의 단계 또는 단계를 따르는 프로세스이며, 각 단계에는 특정 목표와 결과물이 있습니다. STLC는 소프트웨어의 품질이 높고 안정적이며 최종 사용자의 요구 사항을 충족하는지 확인하는 데 사용됩니다.

STLC의 주요 목표는 개발 프로세스에서 가능한 한 빨리 소프트웨어 애플리케이션의 결함이나 문제를 식별하고 문서화하는 것입니다. 이를 통해 소프트웨어가 대중에게 출시되기 전에 문제를 해결하고 해결할 수 있습니다.



STLC의 단계에는 테스트 계획, 테스트 분석, 테스트 설계, 테스트 환경 설정, 테스트 실행, 테스트 종료 및 결함 재테스트가 포함됩니다. 각 단계에는 소프트웨어가 철저하게 테스트되고 최종 사용자의 요구 사항을 충족하는지 확인하는 데 도움이 되는 특정 활동과 결과물이 포함됩니다.

전반적으로 STLC는 소프트웨어 애플리케이션의 품질을 보장하고 테스트에 대한 체계적인 접근 방식을 제공하는 중요한 프로세스입니다. 이를 통해 조직은 고객의 요구 사항을 충족하는 고품질 소프트웨어를 출시하여 궁극적으로 고객 만족과 비즈니스 성공으로 이어질 수 있습니다.

STLC의 특징

  • STLC는 소프트웨어 개발 수명주기(SDLC) 그러나 STLC는 테스트 단계로만 구성됩니다.
  • STLC는 요구사항이 정의되거나 소프트웨어 요구사항 문서가 이해관계자에 의해 공유되는 즉시 시작됩니다.
  • STLC는 고품질 소프트웨어를 보장하기 위한 단계별 프로세스를 제공합니다.

STLC의 초기 단계에서 소프트웨어 제품이나 애플리케이션이 개발되는 동안 테스트 팀은 테스트 범위, 시작 및 종료 기준, 테스트 사례를 분석하고 정의합니다. 이는 테스트 주기 시간을 단축하고 제품 품질을 향상시키는 데 도움이 됩니다. 개발 단계가 끝나면 테스트 팀은 테스트 케이스를 준비하고 실행을 시작합니다. 이는 초기 단계에서 버그를 찾는 데 도움이 됩니다.



STLC의 단계

1. 요구사항 분석 : 요구사항 분석은 소프트웨어 테스팅 라이프사이클(STLC)의 첫 번째 단계입니다. 이 단계에서 품질 보증 팀은 테스트 대상과 같은 요구 사항을 이해합니다. 누락되거나 이해할 수 없는 것이 있는 경우 품질 보증 팀은 요구 사항에 대한 자세한 지식을 더 잘 이해하기 위해 이해관계자와 회의를 갖습니다.

요구 사항 분석 단계에서 수행되는 활동은 다음과 같습니다.

  • 소프트웨어 요구사항 문서(SRD) 및 기타 관련 문서 검토
  • 추가 정보 수집을 위해 이해관계자 인터뷰
  • 요구사항의 모호함이나 불일치 식별
  • 누락되거나 불완전한 요구 사항 식별
  • 테스트 프로세스에 영향을 미칠 수 있는 잠재적인 위험이나 문제 식별

요구사항을 테스트 케이스에 매핑하기 위한 요구사항 추적성 매트릭스(RTM) 생성
이 단계가 끝나면 테스트 팀은 소프트웨어 요구 사항을 명확하게 이해하고 테스트 프로세스에 영향을 미칠 수 있는 잠재적인 문제를 식별해야 합니다. 이는 테스트 프로세스가 소프트웨어의 가장 중요한 영역에 집중되고 테스트 팀이 고품질 결과를 제공할 수 있도록 하는 데 도움이 됩니다.



2. 테스트 계획 : 테스트 계획은 모든 테스트 계획이 정의되는 소프트웨어 테스트 수명주기의 가장 효율적인 단계입니다. 이 테스트 단계 관리자에서 팀은 테스트 작업에 대한 예상 노력과 비용을 계산합니다. 이 단계는 요구 사항 수집 단계가 완료되면 시작됩니다.

테스트 계획 단계에서 수행되는 활동은 다음과 같습니다.

  • 테스트 목표 및 범위 식별
  • 테스트 전략 개발: 사용될 테스트 방법 및 기술 선택
  • 필요한 테스트 환경 및 리소스 식별
  • 실행될 테스트 케이스와 사용될 테스트 데이터 식별
  • 테스트에 필요한 시간과 비용 예측
  • 테스트 결과물 및 마일스톤 식별
  • 테스트 팀에 역할과 책임 할당
  • 테스트 계획 검토 및 승인

이 단계가 끝나면 테스트 팀은 수행할 테스트 활동에 대한 자세한 계획을 수립하고 테스트 목표, 범위 및 결과물을 명확하게 이해해야 합니다. 이는 테스트 프로세스가 잘 조직화되고 테스트 팀이 고품질 결과를 제공할 수 있도록 하는 데 도움이 됩니다.

삼. 테스트 케이스 개발 : 테스트 계획 단계가 완료되면 테스트 케이스 개발 단계가 시작됩니다. 이 단계에서 테스트 팀은 자세한 테스트 사례를 기록합니다. 테스트 팀은 테스트에 필요한 테스트 데이터도 준비합니다. 테스트 케이스가 준비되면 품질 보증 팀에서 검토합니다.

테스트 케이스 개발 단계에서 발생하는 활동은 다음과 같습니다.

  • 개발될 테스트 케이스 식별
  • 명확하고 간결하며 이해하기 쉬운 테스트 케이스 작성
  • 테스트 케이스에 사용될 테스트 데이터 및 테스트 시나리오 생성
  • 각 테스트 케이스에 대한 예상 결과 식별
  • 테스트 사례 검토 및 검증
  • 요구사항을 테스트 케이스에 매핑하기 위해 요구사항 추적성 매트릭스(RTM) 업데이트

이 단계가 끝나면 테스트 팀은 소프트웨어 또는 애플리케이션에 대한 적절한 적용 범위를 제공하는 포괄적이고 정확한 테스트 사례 세트를 보유해야 합니다. 이는 테스트 프로세스가 철저하고 소프트웨어가 출시되기 전에 잠재적인 문제를 식별하고 해결하는 데 도움이 됩니다.

stlc

소프트웨어 테스팅 수명주기

4. 테스트 환경 설정 : 테스트 환경 설정은 STLC의 중요한 부분입니다. 기본적으로 테스트 환경은 소프트웨어가 테스트되는 조건을 결정합니다. 이는 독립적인 활동이며 테스트 사례 개발과 함께 시작할 수 있습니다. 이 과정에는 테스트 팀이 참여하지 않습니다. 개발자나 고객이 테스트 환경을 만듭니다.

5. 테스트 실행 : 테스트 사례 개발 및 테스트 환경 설정 후 테스트 실행 단계가 시작됩니다. 이 단계에서 테스트 팀은 이전 단계에서 준비된 테스트 케이스를 기반으로 테스트 케이스를 실행하기 시작합니다.

소프트웨어 테스팅 라이프사이클(STLC)의 테스트 실행 단계에서 발생하는 활동은 다음과 같습니다.

  • 테스트 실행: 테스트 설계 단계에서 생성된 테스트 케이스와 스크립트는 소프트웨어 애플리케이션에 대해 실행되어 결함이나 문제를 식별합니다.
  • 결함 로깅: 테스트 실행 중에 발견된 모든 결함이나 문제는 문제의 심각도, 우선순위, 설명과 같은 세부 정보와 함께 결함 추적 시스템에 기록됩니다.
  • 테스트 데이터 준비: 테스트 실행을 위해 테스트 데이터가 준비되어 시스템에 로드됩니다.
  • 테스트 환경 설정: 테스트 실행을 위해 필요한 하드웨어, 소프트웨어 및 네트워크 구성이 설정됩니다.
  • 테스트 실행: 테스트 케이스와 스크립트가 실행되고, 결과가 수집 및 분석됩니다.
  • 테스트 결과 분석: 테스트 실행 결과를 분석하여 소프트웨어 성능을 판단하고 결함이나 문제를 식별합니다.
  • 결함 재테스트: 테스트 실행 중에 식별된 모든 결함은 올바르게 수정되었는지 확인하기 위해 다시 테스트됩니다.
  • 테스트 보고: 테스트 결과는 문서화되어 관련 이해관계자에게 보고됩니다.

테스트 실행은 반복적인 프로세스이므로 식별된 모든 결함이 수정되고 소프트웨어가 릴리스에 적합한 것으로 간주될 때까지 여러 번 반복해야 할 수도 있다는 점에 유의하는 것이 중요합니다.

6. 테스트 종료 : 테스트 종료는 모든 테스트 관련 활동이 완료되고 문서화되는 STLC(소프트웨어 테스트 수명 주기)의 마지막 단계입니다. 테스트 종료 단계의 주요 목적은 모든 테스트 관련 활동이 완료되었고 소프트웨어가 출시될 준비가 되었는지 확인하는 것입니다.

테스트 종료 단계가 끝나면 테스트 팀은 소프트웨어의 품질과 신뢰성을 명확하게 이해해야 하며 테스트 중에 확인된 결함이나 문제가 해결되어야 합니다. 테스트 종료 단계에는 테스트 프로세스와 학습한 교훈을 문서화하여 향후 테스트 프로세스를 개선하는 데 사용할 수도 있습니다.

테스트 종료는 모든 테스트 관련 활동이 완료되고 문서화되는 STLC(소프트웨어 테스트 수명 주기)의 마지막 단계입니다. 테스트 종료 단계에서 발생하는 주요 활동은 다음과 같습니다.

  • 테스트 요약 보고서: 실행된 테스트 사례 수, 발견된 결함 수, 전체 합격/불합격 비율을 포함하여 전체 테스트 프로세스를 요약한 보고서가 생성됩니다.
  • 결함 추적: 테스트 과정에서 발견된 모든 결함은 해결될 때까지 추적 및 관리됩니다.
  • 테스트 환경 정리: 테스트 환경이 정리되고 모든 테스트 데이터와 테스트 아티팩트가 보관됩니다.
  • 테스트 종료 보고서: 테스트 목표, 범위, 일정 및 사용된 리소스를 포함하여 발생한 모든 테스트 관련 활동을 문서화하는 보고서가 생성됩니다.
  • 지식 이전: 소프트웨어 및 테스트 프로세스에 대한 지식은 나머지 팀 구성원 및 향후 소프트웨어를 유지 관리하거나 지원해야 할 이해관계자와 공유됩니다.
  • 피드백 및 개선 사항: 테스트 프로세스의 피드백은 수집되어 향후 테스트 프로세스를 개선하는 데 사용됩니다.

테스트 종료는 테스트 프로세스를 문서화하는 것뿐만 아니라 모든 관련 정보를 공유하고 학습한 교훈을 나중에 참조할 수 있도록 캡처하는 것이기도 합니다. 테스트 종료의 목표는 소프트웨어가 출시될 준비가 되었는지 확인하고 테스트 프로세스가 체계적이고 효율적인 방식으로 수행되었는지 확인하는 것입니다.