소프트웨어 테스팅의 V-모델
V 모델
V 모델 각 개발 단계와 병행하여 테스트 단계를 수행하는 고도로 훈련된 SDLC 모델입니다. V 모델은 소프트웨어 개발 및 테스트가 순차적으로 실행되는 폭포 모델의 확장입니다. 이는 검증 또는 검증 모델로 알려져 있습니다.
주요 소프트웨어 엔지니어링 용어:
SDLC: SDLC는 소프트웨어 개발 수명주기입니다. 고품질 소프트웨어를 설계하고 개발하기 위해 개발자가 수행하는 일련의 활동입니다.
STLC: STLC는 소프트웨어 테스팅 수명주기입니다. 이는 소프트웨어 제품을 테스트하기 위해 테스터가 방법론적으로 수행하는 일련의 활동으로 구성됩니다.
폭포 모델: 폭포수 모델은 소프트웨어 개발 활동의 여러 단계로 구분된 순차적 모델입니다. 각 단계는 특정 활동을 수행하도록 설계되었습니다. 폭포 모델의 테스트 단계는 시스템 구현이 완료된 후에만 시작됩니다.
소프트웨어 엔지니어링의 V 모델을 이해하는 비디오
LINK 비디오에 접근할 수 없는 경우
V 모델을 이해하는 예
클라이언트를 위한 맞춤형 소프트웨어를 개발하는 작업이 귀하에게 할당되었다고 가정해 보겠습니다. 이제 기술적 배경에 관계없이 작업을 달성하기 위해 따라야 할 일련의 단계에 대해 지식에 근거한 추측을 시도해보세요.
올바른 순서일 것입니다.
소프트웨어 개발 단계 | 각 단계에서 수행되는 활동 |
---|---|
요구사항 수집 단계 | 클라이언트로부터 원하는 소프트웨어의 세부 사항 및 사양에 대한 정보를 최대한 많이 수집합니다. 이는 요구 사항 수집 단계에 불과합니다. |
디자인 단계 | 다음과 같은 프로그래밍 언어를 계획하십시오. Java, PHP, .그물; 같은 데이터베이스 Oracle, MySQL, 등등. 프로젝트에 적합할 만한 것들, 또한 몇 가지 고수준 기능 및 아키텍처. |
빌드 단계 | 설계 단계 이후에는 실제로 소프트웨어를 코딩하는 빌드 단계입니다. |
테스트 단계 | 다음으로 소프트웨어를 테스트하여 클라이언트가 제공한 사양에 따라 빌드되었는지 확인합니다. |
배포 단계 | 해당 환경에 애플리케이션 배포 |
유지보수 단계 | 시스템을 사용할 준비가 되면 나중에 고객 요청에 따라 코드를 변경해야 할 수도 있습니다. |
이 모든 레벨은 폭포수 방식 의 소프트웨어 개발 수명주기.
폭포 모델의 문제
당신이 관찰할 수 있듯이, 모델 테스트는 구현이 완료된 후에만 시작됩니다.
하지만 시스템이 복잡한 대규모 프로젝트에서 작업하는 경우 요구 사항 단계 자체에서 핵심 세부 사항을 놓치기 쉽습니다. 그런 경우 완전히 잘못된 제품이 고객에게 제공되고 프로젝트를 처음부터 다시 시작해야 할 수도 있고, 요구 사항을 올바르게 기록했지만 소프트웨어의 설계 및 아키텍처에서 심각한 실수를 저지른 경우 오류를 수정하기 위해 전체 소프트웨어를 다시 설계해야 합니다.
수천 개의 프로젝트를 평가한 결과 다음과 같은 사실이 나타났습니다. 요구 사항 및 설계 중에 발생한 결함은 전체 결함 수의 거의 절반을 차지합니다.
또한, 개발 수명주기 전반에 걸쳐 결함 수정 비용이 증가합니다. 수명 주기 초기에 결함이 발견될수록 이를 수정하는 비용이 더 저렴해집니다. "제때에 한 바늘이 아홉 바늘을 절약한다"라는 말이 있듯이요.
솔루션: V 모델
이 문제를 해결하기 위해 테스트의 V 모델 개발된 곳은 모든 단계마다 개발 수명주기에는 해당 테스트 단계가 있습니다.
- 모델의 왼쪽은 소프트웨어 개발 수명주기 – SDLC
- 모델의 오른쪽은 소프트웨어 테스트 라이프 사이클 – STLC
- 전체 그림이 V 모양이므로 이름이 V입니다. V – 모델
V 모델 외에도 개발이 단계적으로 수행되어 각 단계에서 소프트웨어에 기능을 추가하는 반복 개발 모델이 있습니다. 각 단계는 독립적인 개발 및 테스트 활동 세트로 구성됩니다.
반복적 방법을 따르는 개발 라이프사이클의 좋은 예로는 Rapid Application Development, Agile Development가 있습니다.
결론
수많은 개발 라이프사이클 모델이 있습니다. 프로젝트를 위해 선택된 개발 모델은 해당 프로젝트의 목적과 목표에 따라 다릅니다.
- 테스트는 독립적인 활동이 아니며 프로젝트를 위해 선택한 개발 모델에 적응해야 합니다.
- 모든 모델에서 테스트는 요구 사항부터 유지 관리까지 모든 수준에서 수행되어야 합니다.