제6장 소프트웨어 생명 주기 모델과 테스트
- 소프트웨어 생명 주기 : 소프트웨어를 개발하는 체계에 관한 추상적 표현. 순차적 또는 병렬적인 일련의 단계로 구성
6.1 순차적 개발 모델
[폭포수 모델]
- 개발 중심 모델로, 테스트를 하나의 개발단계로만 간주
- 요구사항 분석 : 개발하고자 하는 소프트웨어에 대한 요구사항을 수집하고 문제를 이해 및 분석하여 명세화하는 단계. 주요 산출물로는 요구사항 명세
- 구조 설계 단계 : 소프트웨어의 전체적인 구조를 결정하는 단계. 주요 산출물로는 설계 명세
- 상세 설계 단계 : 각 모듈의 알고리즘 세부 사항, 구체적인 데이터 표현, 루탄과 데이터 간의 인터페이스 결정. 주요 산출물은 상세 설계 명세
- 코딩 : 프로그래밍 언어 등을 사용하여 실제 시계가 해독할 수 있는 형태로 변환하는 단계. 주요 산출물은 프로그램
- 테스팅 : 완성된 시스템의 결함을 검출하기 위체 테스트를 수행하는 단계
[V-모델]
- 개발이 시작됨과 동시에 테스트 계획 및 설계에 필요한 활동이 시작
- 개발 산출물에 대한 정적 테스트도 수행
6.2 진화적 개발 모델
[진화적 개발 모델]
- 이터레이션과 점진적 개발 원칙에 바탕을 둠
- 시스템의 구성요소 중 핵심 부분을 개발한 후, 각 구성요소와 추가 요구사항을 여러 이터레이션을 통해 개선 발전시켜 최종 완성품 개발
[나선형 모델]
- 요구사항이 개발 초기에 완전하게 정의되어 있지 않고 부분적으로 정의된 경우에 반복적으로 요구사항을 정제하고 확장하는 과정을 사용자가 받아들일 수 있는 완전한 시트메이 개발될 때까지 반복
6.3 애자일 개발 모델
[애자일 선언]
- 사람 및 상호 의사 교환이 프로세스나 도구보다 우선한다.
- 동작하는 소프트웨어가 포괄적인 문서보다 우선한다.
- 고객과의 협력이 계약 협상보다 우선한다.
- 변화에 반응하는 것이 계획을 따르는 것보다 우선한다.
-반복적이면서 점진적인 개발 접근 방식(IDD) : 반복적이면서 점진적인 개발 접근 방식
- 테스트 주도 개발 (TDD) : 프로그램에 대한 테스트 케이스를 먼저 작성하고, 코드를 나중에 작성
- 리팩토링 : 기능을 변경하지 않고 코드의 내부 구조를 개선하는 작업
- 지속적 통합 : TDD와 더불어 애자일 개발에서 중요한 실천 규칙. 지속적으로 통합을 수행하는 것
- 통합 지연에 따른 비용 증가를 막을 수 있다.
- 빠른 결함 발견으로 비용을 감소 할 수 있다.
- 항상 빌드 가능한 소프트웨어 버전이 있기 때문에 소프트웨어 품질에 대한 확신이 있다.
'자격증 > CSTS' 카테고리의 다른 글
Part02. 테스트 설계기법(제8장 정적 테스트) (1) | 2023.08.18 |
---|---|
Part01. 테스트 개요(제7장 테스트 자동화) (0) | 2023.08.12 |
Part01. 테스트 개요(제5장 위험 기반 테스트) (0) | 2023.08.12 |
Part01. 테스트 개요(제4장 품질 특성과 비기능 테스트) (0) | 2023.08.11 |
Part01. 테스트 개요(제3장 소프트웨어 개발 단계와 테스트) (0) | 2023.08.06 |