X
STEN 회원이 되시면 테스팅에 관한 많은 정보와 자료를 공유할 수 있도록 저희가 돕겠습니다.
아이디
패스워드
자동로그인 사용
 
아직 회원이 아니십니까?    
아이디/패스워드를 잊으셨습니까?    

     
   
V 모델관련 하여 질문드립니다.
글쓴이 : 밥사줘 날짜 : 19-08-09 23:09 조회 : 720
안녕하십니까.

제가 이번에 뒤늦게 ISTQB 자격증을 준비하던 중 V 모델을 공부하는데 이해가 가지않는 부분이 있어 질문 드리려 합니다.

이번에 자격증을 준비하면서 내가 지금 QA업무를 하면서 어떤 일을 하고있고 어떤 단계를 수행중이구나 하는것을 알아가는 게 정말 재미가 있습니다.
그런데 어플단에서의 기능검증만 해오다 보니 SW개발이나 코딩 관련된 부분은 이해를 하는데 많은 어려움이 있습니다. 친절한 답변 주시면 정말 감사하겠습니다.

첫번째 질문 드릴 내용은, 제가 V모델을 아래처럼 이해하고 있는데 맞는지 궁금합니다.

SW 개발은 요구분석 > 아키텍쳐 설계 > 모듈 설계 > 구현 > 단위 테스트 > 통합 테스트 > 시스템 테스트 > 인수 테스트 순으로 진행한다.
구현 후 단위/통합/시스템 테스트 중 문제가 생길 경우, 요구분석 또는 아키텍쳐/모듈 설계를 다시 수행하여 해당 문제점을 수정 후 재구현하여 다시 테스트를 진행한다.


두번째 질문드릴 내용은 V 모델을 보면 요구 분석 단계에서 시스템 테스트를, 아키텍쳐 설계 단계에서 단위 테스트를, 그리고 모듈 설계 단계에서 모듈 테스트를 한다고 되어 있습니다.
아직 실제 구현을 하지도 않은 단계에서 어떤 테스트를 한다는건지 이해가 가지않아 질문 드립니다.

뜨거운 여름 무더위 조심하시고 항상 좋은일만 있으시길 바랍니다.

감사합니다.^^

복어수 19-08-12 13:37
첫번째 질문 답변
"구현 후 단위/통합/시스템 테스트 중 문제가 생길 경우, 요구분석 또는 아키텍쳐/모듈 설계를 다시 수행하여 해당 문제점을 수정 후 재구현하여 다시 테스트를 진행한다. "
-> 예 맞습니다. 프로젝트에서 이렇게 수행 하고 있습니다.

두번째
"두번째 질문드릴 내용은 V 모델을 보면 요구 분석 단계에서 시스템 테스트를, 아키텍쳐 설계 단계에서 단위 테스트를, 그리고 모듈 설계 단계에서 모듈 테스트를 한다고 되어 있습니다. "

ASPICE 기준으로 말씀 드립니다. SW 요구 사항을 가지고 하는 테스트가 SW qualification test이고
아키텍처 문서를 가지고 하는게 SW 통합 테스트, SW상세 설계서(sw detailed design)을 가지고 테스트 하는게 단우 테스트입니다.

자세한건 구글링 하면 나옵니다.
우유아빠™ 19-08-12 14:30
말로 설명하려니 길어지긴 할텐데
첫번째 두번째 질문을 모두 포함하여 설명드립니다.


일단 V-모델을 제대로 알려면, 워터풀(폭포수)모델에 대한 이해가 필요합니다.

폭포수 모델은 말그대로 폭포이기 때문에 이전 단계로의 이동이 불가능하지요.
따라서 각 단계마다 꼼꼼한 점검이 필요하고, 이와 동시에 테스트 단계에서 수행하는 활동을 개발활동에 접목시킴으로써 제품에 대한 이해를 높이고 기간을 단축하고자 한 것이 V모델이라고 보면 됩니다.

V모델 그림은 인터넷에서 찾아보시고..

그림의 왼쪽에는 요구분석, 시스템설계, 구조설계, 모듈설계가 있다고 가정하고 설명드립니다.

1) 요구분석단계
사용자가 원하는 사항을 요구정의서로 정리하고 나면
인수요건을 파악할 수 있겠죠?
그러면 이 내용을 가지고
- 인수테스트 계획, 분석, 설계를 미리 할 수 있겠네요.
- 요구사항정의서가 요구사항을  대한 정적테스트

2) 시스템설계
요구정의서의 내용을 기반으로 시스템(또는 서비스)의 기능, 비기능적인
정의를 파악할 수 있겠죠?
그러면 이 내용을 가지고
- 시스템 테스트 계획, 분석, 설계를 미리할 수 있겠네요.
- 시스템 설계에 이상이 없는지 요구사항은 제대로 반영하고 있는지 정적테스트가 가능하고요.

3) 구조설계
시스템 설계된 내용을 기반으로 하드웨어나, 소프트웨어적인 구조를 정의할 수 있겠죠?
각 기능 모듈(또는 서브시스템)간 인터페이스를 정의할 수 있겠고요.
그러면 이 내용을 가지고
- 통합 테스트 테스트 계획, 분석, 설계를 미리할 수 있겠네요.
- 구조 설계에 이상이 없는지 요구사항-시스템-구조간 추적성은 확보되고 각 내용이 제대로 반영하고 있는지 정적테스트가 가능하고요.


4) 모듈설계
구조 설계된 내용을 기반으로 각 모듈 별 기능을 정의할 수 있겠죠?
그러면 이 내용을 가지고
- 단위 테스트 테스트 계획, 분석, 설계를 미리할 수 있겠네요.
- 단위 모듈 기능에 이상이 없는지 요구사항-시스템-구조-모듈간 추적성은 확보되고 각 내용이 제대로 반영하고 있는지 정적테스트가 가능하고요.

V모델의 가운데 꼭지점에는 구현(코딩)이 있다고 가정하고
보통 이때는 정적분석이라는 테스트를 합니다

V모델의 우측으로가면 단위테스트, 통합테스트, 시스템테스트, 인수테스트가 있다고 가정하고
이제 본격적으로 동적테스트를 실행하게 됩니다.

단위테스트를 시작할 때 이미 모듈설계에서 단위테스트에 대한 계획, 분석, 설계를 진행했으니
바로 테스트에 착수할 수 있겠죠?
물론 실제로 실행하면서 조금씩 테스트 케이스가 변경될 수는 있지만
개발이 다 끝나고 나서 제품에 대한 분석부터 시작하는 것 보다는 상당한 시간을 절약할 수 있고
제품이 대한 이해도도 높아졌을 겁니다.

마찬가지로 통합테스트부터 인수테스트까지도 각 단계별로 사전에 테스트 계획과 분석, 설계를
해 두었으니 바로 착수할 수 있겠네요.

이렇게 구조화되어서 품질을 높이고자 만든것이 V모델이라고 보시면 됩니다.

즉, 각각의 개발단계에 테스트 활동이 접목되어 있고
개발단계 초기부터 테스트를 착수할 수 있도록 워터풀 모델을 개선한 것 이라고 이해하시면 되겠습니다.
키토산 19-08-12 14:46
V모델의 의미는 각 개발 단계마다 대응되는 테스팅 단계가 있다는게 제일 중요합니다.

모듈 테스팅이라는 용어가 V모델 내에 있었나요?  (단위, 통합, 시스템, 인수 - 4가지 입니다.)
변형된 V모델을 찾아보신것 같습니다.

V모델에서 테스팅 순서가 있다고 느끼셨나요? 화살표가 있는 그림을 보신것 같습니다.
화살표 순서 외에도 각 개발단계마다 요구사항, 설계, 코드 등을 리뷰하는 것도 테스팅에 포함됩니다. (정적 테스팅)
밥사줘 19-08-13 16:39
친절한 답변 감사드립니다.
위에 도움주신 내용을 바탕으로 정적분석과 동적분석을 대입해서 그림을 분석하니 이해가 되었습니다.
정말 감사합니다.^^
지니닷 19-11-06 17:59
V모델에서 2가지 핵심 관점 이 있는데요 이는 일관성과 추적성입니다.

일관성 관점에서.
시스템 요구사항을 통해 시스템 테스트 케이스가 도출되어 시스템 요구사항을 검증합니다.
아키텍처를 통해 통합 테스트 케이스가 도출되어 아키텍처를 검증합니다.
단위 설계 문서를 통해 유닛 테스트 케이스가 도출되어 단위 설계 문서를 검증합니다.

또한 각 단계별로 추적성을 유지하여 각 요구사항이 누락 되지 않는지 모니터링하여야 합니다.
지니닷 19-11-06 18:01
설계관점에서는

시스템 요구사항을 아키텍처로 녹이고 이를 또 설계 문서로 디자인 합니다.
시스템 요구사항 - 아키텍처 - 설계 문서 라는 일관성을 가진 설계를 해야 되구요.
각 요구사항이 단계별로 연결되어 누락없이 추적성을 갖도록 하여야 합니다.