소프트웨어 개발 프로세스의 기본 개념 중 하나는 소프트웨어 개발 수명 주기 모델을 의미하는 SDLC 모델이다.
SDLC는 프로젝트가 시작순간부터 시작되는 연속적인 프로세스로, 개발에서 완전히 제거되는 순간부터 종료된다.
여러개의 개발방법에 따라 SDLC 모델에서 진화하였는데 그 중 장 오래된 폭포수모델(Waterfall Model)에서부터 최근 애자일 모델(Agile Model)까지 다양하다. 어떤 종류의 모델을 선택했든지 간에, 각각의 모델은 모든 소프트웨어 개발 회사에서 사용하는 기본 단계를 가지고 있다. 각각의 SDLC 모델과 차이를 이해하는 것이 중요하므로 각 모델별로 확인해보자.
폭포수 모델
폭포수 처럼 위에서 아래로 떨어지는 모습을 연상시킨 모델로써,
프로세스 절차는 요구사항 분석, 설계, 구현, 테스트, 배포, 유지보수로 이동하는 폭포수 형태의 SDLC 모델이다.
폭포수 모델은 모든 단계를 점진적인 형태로 소프트웨어 개발 수명주기 모델의 모든 단계에 예상되는 특징으로 엄격하게 문서화 및 사전 정의된다
반복적-점증적 개발모델
반복적-점진적인 개발은 요구사항, 설계, 시스템 구현 및 테스트를 짧게 연속적으로 반복진행하는 방식이다.
이 과정은 반복적이기 때문에 매 사이클마다 새로운 버전의 제품을 만들 수 있다.
모든 반복(2주에서 6주까지 지속)에는 시스템의 별도 구성요소의 개발이 포함되며, 그 후에 이 구성요소는 이전에 개발한 기능에 추가된다.
수학 용어로 말하면, 반복 모델은 순차적 근사 방법을 실현하는 것으로, 계획된 최종 제품 형태에 점진적으로 근접하는 것을 의미한다.
나선형 모델
나선형 모델은, 단계별로 건축과 프로토타이핑을 결합한다. 리스크 분석에 상당한 억양이 있는 Iterative와 Waterfall SDLC 모델의 조합이다. Spiral(나선형) 모델의 주요 이슈는 다음 단계로 진입할 적절한 순간을 정의하는 것이다. 이 문제에 대한 해결책으로 예비 설정 시간 프레임을 추천한다. 전단계 작업이 아직 끝나지 않았더라도 다음 단계로의 전환은 계획에 따라 이뤄진다. 이 계획은 개인 개발자의 경험에서 조차 이전 프로젝트 동안 받은 통계 자료를 기초로 도입되었다.
V-모델
V-모델은 폭포수 모델의 확장판이며 모든 개발 단계에 대한 테스트 단계를 기반으로 한다.
일반적인 유형의 V-모델은 4단계의 테스트 레벨로 구성되어 있다.
다만, 고정된 단계가 아니기에 일반적인 프로젝트나 소프트웨어 특성에 따라 개발단계나 테스트 레벨이 변동될 수 있다.
-
컴포넌트(단위) 테스팅
-
통합 테스팅
-
시스템 테스팅
-
인수 테스팅
애자일 모델
개발 반복 후 민첩한 방법론에서 고객은 결과를 보고 만족하는지 그렇지 않은지를 이해할 수 있다. 이는 민첩한 소프트웨어 개발 수명주기 모델의 장점 중 하나이다. 그것의 단점 중 하나는 규정된 요구사항이 없기 때문에 자원과 개발 비용을 추정하기 어렵다는 것이다. 익스트림 프로그래밍은 민첩한 모델의 실용적인 사용 중 하나이다. 그러한 모델의 기본은 스크럼 접근법의 일부인 스프린트라는 짧은 주간 회의로 구성된다.
'QA > 2. 소포트웨어 수명주기와 테스팅' 카테고리의 다른 글
2.4 유지보수 테스팅 (0) | 2019.02.18 |
---|---|
2.3 테스트 유형 (0) | 2019.02.15 |
2.2 테스트레벨 (0) | 2019.02.13 |