소프트웨어 테스팅 라이프 사이클(STLC)은 계획부터 시작하여 모든 것이 의도한 대로 작동하는지 확인하는 것으로 끝나는 소프트웨어 테스트 방법을 안내하는 로드맵과 같습니다. STLC의 세부 사항을 살펴보면서 STLC가 어떻게 발전했는지, 핵심 원칙, 다양한 단계, 오늘날의 소프트웨어 개발에서 차지하는 중요한 역할을 살펴보겠습니다.
목차
소프트웨어 테스팅을 자세히 배우고 싶다면, YouTube 채널에서 소프트웨어 테스팅 튜토리얼 과정을 확인하세요.
의 의미 소프트웨어 테스팅 라이프 사이클(STLC)
소프트웨어 품질에 대한 목표가 충족되었는지 확인하기 위해 테스트 프로세스 중에 일련의 구체적인 작업이 수행됩니다. 전체 테스트 프로세스를 소프트웨어 테스트 수명 주기(STLC)라고 합니다. 이 프로세스는 6단계로 나뉘며, 각 단계에는 특정 목표와 제공물이 있습니다.
소프트웨어 테스팅 과정을 찾고 계신가요? 여기 당신을 위한 황금의 기회가 있습니다: Top 소프트웨어 테스팅 과정!
소프트웨어 테스트 라이프 사이클의 단계
1. 요구 분석
이 단계에서 테스터는 소프트웨어 요구 사항 문서를 주의 깊게 검토합니다. 여기에는 소프트웨어의 예상 기능, 기능 및 제약을 이해하는 것이 포함됩니다.
요구 사항에 모호성이나 불확실성이 있는 경우, 테스트 케이스 요구 사항을 결정하기 위해 요구 사항 추적 매트릭스(RTM)가 만들어집니다. 이 단계를 요약하자면, 이 단계에서는 다음 활동이 수행된다고 말할 수 있습니다.
- 소프트웨어 요구 사항 문서(SRD) 검토
- 요구 사항의 문제점 또는 모호성 해결
- 필요한 테스트 케이스와 소프트웨어 테스트 도구 파악
2. 테스트 계획
요구 사항을 이해한 후, 테스트 팀은 테스트 수준(단위, 통합, 시스템 등), 테스트 유형(기능, 성능, 보안 등) 및 테스트 실행 접근 방식을 포함한 전반적인 테스트 전략을 정의합니다. 이 단계가 끝나면 테스트 전략 문서와 테스트 노력 추정 문서가 전달됩니다.
3. 테스트 케이스 개발
이 단계에서는 테스트 케이스 ID, 설명, 전제 조건, 테스트 단계, 예상 결과를 포함하는 테스트 문서가 테스트 팀에 의해 생성됩니다. 그런 다음 품질 보증 팀, 이해 관계자, 프로젝트 관리자, 때로는 개발 팀까지도 이러한 테스트 문서를 평가합니다.
신입사원을 위한 자동화 테스트 면접 질문을 놓치지 마세요. 면접에서 쉽게 승리하세요.
4. 테스트 환경 설정
이 단계는 테스트 케이스 개발 단계와 병행하여 시작하거나 완료 후에 시작할 수 있습니다. 이 단계에서는 테스트 케이스를 실행하는 데 필요한 인프라, 도구 및 조건이 구성됩니다. 여기에는 서버, 워크스테이션, 네트워크 구성, 운영 체제, 데이터베이스 및 테스트할 소프트웨어를 지원하는 데 필요한 모든 기타 구성 요소가 포함됩니다. 이 단계에는 프로덕션 환경의 보안 조건에 해당하는 테스트 환경에서 보안 조치를 구현하는 것도 포함됩니다.
5. 테스트 실행
테스트 실행 단계에서 발생하는 활동은 다음과 같습니다.
- 여기에는 정의된 테스트 단계를 따르고, 데이터를 입력하고, 실제 결과를 관찰하는 것이 포함됩니다. 테스트 사례의 특성에 따라 수동 및 자동 테스트 방법을 모두 사용할 수 있습니다.
- 실제 결과를 기록할 때, 예상 결과와 실제 결과 사이에 불일치가 발견되면 이를 결함이나 문제점으로 문서화합니다.
- 결함을 수정한 후에는 회귀 테스트를 수행하여 새로운 변경이나 수정으로 인해 새로운 결함이 생기지 않았는지, 기존 기능에 부정적인 영향을 미치지 않았는지 확인합니다.
- 성능 테스트가 테스트 범위에 포함되는 경우, 부하 테스트나 스트레스 테스트와 같은 다양한 성능 테스트를 이 단계에서 실행하여 다양한 조건에서 소프트웨어의 성능을 평가할 수 있습니다.
- 테스트 실행 보고서는 테스트 활동 결과에 대한 통찰력을 제공하기 위해 생성됩니다.
블로그를 확인하여 알아보세요 다양한 유형의 소프트웨어 테스트.
6. 테스트 종료
테스트 종료는 소프트웨어 테스트 라이프사이클(STLC)의 마지막 단계로, 테스트 활동이 공식적으로 완료되고 문서화됩니다. 테스트 팀은 제품 출시를 준비합니다. 이 단계에는 다음을 포함한 여러 활동이 포함됩니다.
- 테스트 목표 검토: 테스트 계획 단계에서 확립된 테스트 목표를 다시 검토하여 각 목표가 테스트 프로세스 동안 충족되었는지 확인합니다.
- 계획된 테스트 사례 실행: 모든 계획된 테스트 사례의 결과가 문서화되었는지 확인하십시오. 미완료 또는 건너뛴 테스트 사례는 정당화되어야 하며 설명되어야 합니다.
- 결함 상태 검토: 여기에는 어떤 결함이 수정되었는지, 어떤 결함이 아직 해결되지 않았는지, 어떤 결함이 이후 버전으로 연기되었는지 식별하는 것이 포함됩니다.
- 테스트 환경 릴리스: 테스트 환경이 별도로 설정된 경우 폐쇄 프로세스의 일부로 다른 목적으로 공개됩니다.
- 테스트 종료 문서 생성: 테스트 목표, 일정, 범위, 사용된 리소스 등 모든 테스트 종료 활동이 포함된 문서가 생성됩니다.
- 테스트 아티팩트 인계: 테스트 사례, 테스트 데이터 및 기타 관련 문서를 포함한 테스트 아티팩트는 프로젝트 팀에 전달되거나 향후 참조를 위해 보관됩니다.
- 피드백 수집: 테스트 프로세스, 사용된 도구, 팀 내 협업에 대한 피드백을 수집합니다. 프로세스 개선에 대한 제안은 문서화됩니다.
- 프로젝트의 공식 인계: 테스트 팀은 프로젝트를 SDLC의 다음 단계, 즉 배포 단계나 다른 릴리스 주기로 공식적으로 인계합니다.
Manual Testing 면접에서 성공할 준비가 되셨나요? Manual Testing 면접 질문에 대한 포괄적인 가이드에 액세스하세요.
소프트웨어 테스팅 라이프 사이클의 중요성
STLC는 다음과 같은 여러 가지 이유로 소프트웨어 애플리케이션의 품질을 보장하는 데 중요한 프로세스입니다.
- 소프트웨어 개발에서 결함을 조기에 식별하고 수정하는 데 도움이 됩니다. 구현 단계 중 또는 이후에 문제를 해결하는 데 드는 비용과 노력을 줄여줍니다.
- 이 프로세스 덕분에 소프트웨어 출시 중이나 출시 후에 발생하는 주요 문제의 발생 가능성이 낮아집니다.
- 이는 다양한 상황에서 소프트웨어가 요구 사항에 맞게 작동하는지 확인하는 데 도움이 됩니다.
- 수명 주기 동안 작성된 문서는 추적성을 높여서 이해 관계자가 테스트 프로세스와 각 테스트 활동의 상태를 이해하는 데 도움이 됩니다.
- 이는 소프트웨어가 ISO 표준이나 의료 또는 금융 분야의 규제 프레임워크와 같은 업계별 규정 및 표준을 준수하는지 확인하는 데 도움이 됩니다.
소프트웨어 테스트 접근 방식
소프트웨어 테스트 접근 방식은 소프트웨어 애플리케이션의 테스트 프로세스를 안내하는 원칙, 방법 및 절차의 집합입니다. 다양한 프로젝트는 프로젝트 요구 사항, 제약 조건 및 개발 방법론과 같은 요인에 따라 다양한 테스트 접근 방식을 채택할 수 있습니다. 일반적인 소프트웨어 테스트 접근 방식에는 다음이 포함됩니다.
1. 폭포수 테스트: 이 접근 방식은 어떤 레벨도 반복하지 않고 다양한 테스트 레벨을 차례로 수행하는 것을 포함합니다. 이 테스트는 개발 단계가 완료된 후에만 수행됩니다.
2. V-모델: 이 접근 방식은 폭포수 모델과 유사하지만 각 개발 단계의 테스트 프로세스에 초점을 맞춥니다. 순차적 경로를 따라 V자 모양을 형성하며 검증 및 검증 모델이라고도 합니다.
3. 애자일 테스트: 애자일 테스팅은 애자일 개발에 사용되는 테스팅 방법입니다. 협업, 짧은 주기, 그리고 작은 개선 사항을 지속적으로 제공하기 위해 변화에 빠르게 적응하는 데 중점을 둡니다.
4. 반복 테스트: 반복적 테스트는 소프트웨어 개발 프로세스 전반에 걸쳐 품질을 개선하고 향상시키기 위해 반복적인 테스트 주기를 수행하는 것으로, 다양한 방법론에 맞게 적용할 수 있습니다.
5. 증분 테스트: 이 테스트 방식에서는 시스템 기능이 더 작은 증분 또는 구성 요소로 나뉩니다. 각 증분은 전체 시스템에 통합되기 전에 독립적으로 테스트됩니다.
6. 연기 테스트: 스모크 테스트는 새로운 소프트웨어의 주요 부분이 제대로 작동하는지 확인하는 간단한 검사와 같습니다. 더 자세한 테스트를 하기 전에 소프트웨어가 안정적인지 확인하는 데 도움이 됩니다.
7. 회귀 테스트: 버그 수정이나 새로운 기능 추가 후에 자주 수행됩니다. 이 테스트 접근 방식은 새로운 코드 변경이 기존 기능에 부정적인 영향을 미치지 않도록 보장합니다.
8. 수용 테스트: 이 테스트는 소프트웨어가 지정된 요구 사항을 충족하고 출시할 준비가 되었는지 확인하는 것입니다. 여기에는 최종 사용자가 제품에 만족하는지 확인하기 위한 사용자 수용 테스트(UAT)가 포함됩니다.
테스트의 진입 및 종료 기준은 무엇입니까?
진입 기준: 소프트웨어 테스트의 진입 기준은 특정 단계 또는 테스트 수준에 대한 테스트를 시작하기 전에 충족해야 하는 조건 또는 전제 조건을 말합니다. 진입 기준은 프로젝트와 테스트 단계에 따라 다를 수 있지만, 몇 가지 일반적인 진입 기준은 다음과 같습니다.
- 테스트 중인 소프트웨어의 코드는 개발되어 테스트할 준비가 되어 있어야 합니다.
- 하드웨어, 소프트웨어, 네트워크 구성을 포함한 테스트 환경이 설정되어 준비되어 있어야 합니다.
- 테스트 케이스를 실행하는 데 필요한 테스트 데이터가 있어야 합니다.
- 테스트 계획 및 테스트 사례 생성을 포함한 테스트 계획 활동을 완료해야 합니다.
- 테스트 중에 참조할 수 있도록 세부적인 요구 사항 문서를 준비해야 합니다.
- 테스트 도구를 포함한 테스트 리소스를 할당하고 준비해야 합니다.
종료 기준: 이는 테스트가 완료된 것으로 간주되고 소프트웨어가 릴리스 준비가 된 것으로 간주되기 위해 충족해야 하는 조건입니다. 이 기준에 포함된 조건은 다음과 같습니다.
- 식별된 모든 테스트 사례를 실행해야 합니다.
- 모든 주요 오류는 확인하고 수정해야 합니다.
- 코드 커버리지 측정 항목은 사전 정의된 기준을 충족해야 합니다.
- 응답 시간, 처리량 등의 성능 테스트 기준을 충족해야 합니다.
- 회귀 테스트를 수행하여 새로운 변경 사항으로 인해 회귀가 발생하지 않았는지 확인해야 합니다.
- 사용자 수용 테스트(UAT)가 성공적으로 완료되어야 합니다.
- 프로젝트 관리자나 제품 소유자 등 관련 이해관계자로부터 공식적인 승인을 받아야 합니다.
- 테스트 활동, 결과, 소프트웨어의 출시 준비 상태를 요약한 포괄적인 종료 보고서를 준비해야 합니다.
소프트웨어 엔지니어 면접을 준비 중이신가요? 저희 블로그를 확인해 보세요. 최고의 소프트웨어 테스팅 인터뷰 질문과 답변.
STLC와 SDLC의 차이점
STLC와 SDLC의 주요 차이점은 아래 표에 나와 있습니다.
매개변수 | 소프트웨어 테스팅 라이프 사이클(STLC) | 소프트웨어 개발 수명 주기(SDLC) |
목적 | 소프트웨어가 출시되기 전에 철저히 테스트되었고 품질 기준을 충족하는지 확인합니다. | 지정된 요구사항을 충족하는 고품질 소프트웨어 제품을 정해진 기간 내에 제공 |
범위 | STLC는 SDLC의 하위 집합입니다. SDLC의 코딩 단계가 완료된 후 시작되어 소프트웨어가 릴리스될 준비가 될 때까지 계속됩니다. | SDLC는 초기 요구 사항 수집부터 최종 릴리스 및 유지 관리까지 전체 소프트웨어 개발 프로세스를 포괄합니다. |
단계 | STLC의 단계에는 요구 사항 분석, 테스트 계획, 테스트 설계, 테스트 실행 및 테스트 종료가 포함됩니다. | SDLC의 단계에는 요구 사항 수집, 설계, 코딩, 테스트, 배포 및 유지 관리가 포함됩니다. |
결론
요약하자면, 소프트웨어 테스팅 라이프 사이클(STLC)에는 다양한 테스팅 단계가 포함되어 있으며, 더 광범위한 소프트웨어 개발 라이프 사이클(SDLC) 내의 전문화된 단계입니다. 특히 소프트웨어 제품의 품질과 신뢰성을 보장하기 위한 테스팅 활동에 집중합니다. 특정 개발 단계가 완료된 후의 테스팅 요구 사항에 맞춰 지정된 타임라인 내에서 작동합니다.
Intellipaat에 가입하세요 소프트웨어 테스팅 커뮤니티 귀하의 문의사항을 해결해 드리겠습니다.