V 모델과 W 모델에 대해 설명해봅니다.
SDLC에서의 전통적인 흐름은, 폭포수 개발방식이라고 할 수 있을 것 입니다.
폭포수 모델(waterfall model)은 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여졌다.
이 폭포수 모델의 흐름은 소프트웨어 요구사항 분석 단계에서 시작하여, 소프트웨어 설계, 소프트웨어 구현, 소프트웨어 시험, 소프트웨어 통합 단계 등을 거쳐, 소프트웨어 유지보수 단계에까지 이른다.https://ko.wikipedia.org/wiki/%ED%8F%AD%ED%8F%AC%EC%88%98_%EB%AA%A8%EB%8D%B8
위에서부터 아래로 가는 흐름으로 표현하여 폭포수라고 하는데요, 폭포수 모델의 큰 특징은, 이전단계가 완료되지 않으면 다음 단계를 진행하지 않는다 라고 할 수 있습니다. 즉 이전 단계에서의 산출물이 아직 작성중이거나, 작성되지 않았다면, 이전 단계에서의 산출물을 기반으로 다음 단계가 진행되기 때문에 제대로 이루어질 수 없다는 것입니다.
이것은 거꾸로 올라갈 수 없는 폭포와 같은 형태입니다.
V모델은 폭포수 모델에 기반하고 있습니다. 좀 더 자세히 설명하자면, 폭포수 모델의 상세내용을 V자 형태로 접은 모양으로 표현한 것이라 할 수 있습니다.
V 모델(V-model)은 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나로 볼 수 있다. 아래 방향으로 선형적으로 내려가면서 진행되는 폭포수 모델과 달리, 이 프로세스는 오른쪽 그림과 같이 코딩 단계에서 위쪽으로 꺾여서 알파벳 V자 모양으로 진행된다. V 모델은 개발 생명주기의 각 단계와 그에 상응하는 소프트웨어 시험 각 단계의 관계를 보여준다.
V 모델은 소프트웨어 개발의 각 단계마다 상세한 문서화를 통해 작업을 진행하는 잘 짜인 방법을 사용한다. 또한 테스트 설계와 같은 테스트 활동을 코딩 이후가 아닌 프로젝트 시작 시에 함께 시작하여, 전체적으로 많은 양의 프로젝트 비용과 시간을 감소시킨다.
https://ko.wikipedia.org/wiki/V_%EB%AA%A8%EB%8D%B8
테스트 준비작업을, 코딩 이후의 프로덕트를 기반으로 진행하는 것이 아니라, 프로젝트의 초기 단계부터 테스트 계획, 테스트 설계, 테스트 케이스 작성등을 진행합니다.
V모델은 V&V
라고도 합니다. 왼쪽을 Verification
, 오른쪽을 Validation
단계라고 할 수 있습니다.
명세기반으로 기능을 제대로 구현되가고 있는지, 개발단계를 검증해나갑니다.
모든 설계를 마치면, 코딩작업에 들어갑니다.
각각의 단계에서 인수 테스트, 시스템 테스트, 통합 테스트, 단위 테스트에 대해 테스트 설계를 진행합니다.
각각의 상위 공정에서 설계한 내용에 맞게 제대로 구현되었는지 확인하는 작업입니다.
테스트 담당자들은 좀 더 상위 공정에서 테스트 대상의 분석 및 설계, 구현을 진행해야합니다.
https://shiftasia.com/column/difference-between-v-model-and-w-model-in-software-testing/
W Model은 V Model의 확장개념으로, 단순히 상위 Verification 단계에서 Test준비를 진행하는 것이 아닌, 상위 단계에서부터 Test를 진행
합니다.
각각의 단계에서의 산출물들을 대상으로 테스트를 진행합니다.
상위 공정에서 생성되는 문서 산출물에 대해 단순한 오탈자를 포함하여 해당 문서에 대해 Review를 진행하며 Feedback을 진행합니다. Feedback의 형태는 단순한 질문부터 지적까지 다양할 수 있습니다.
상위 공정에서의 Test활동을 통하여 설계/코딩 단계에서 잘못된 요구사항 정의나 작업자의 오인식으로 인하여 결함이 생기는 작업을 방지
합니다.
위 설명만 보면 매우 좋은 것 같습니다만, 이럴 경우 테스트 담당자의 작업량이 증가하여 전체적인 테스트활동에 코스트가 많이 소모될 수 있습니다.
ref