- 개요
- 리그레션 테스트
- 소프트웨어 생명 주기 모델과 테스트
- 위험 기반 테스트
- 모델 기반 테스트
2.3.1 개요
현실적인 상황을 고려하여 실제 적용할 수 있는 대표적인 테스트 수행 방법
2.3.2 리그레션 테스트
유지보후 단계에서는 다양한 이유로 소프트웨어 변경이 발생
소프트웨어가 변경되었을 때 리그레션 테스트 진행
➡️ 변경이 의도하지 않게 결함을 만들지 않았는지
➡️ 시스템의 기존 요구사항을 만족하는지
각 레벨 테스트 순서대로 리크레션 테스트 수행
대표적인 방법
➡️ Retest-all 전략, 선택적 리그레션 테스트 전략, 테스트 최소화 전략, 테스트 우선 순위화 전략
2.3.3 소프트웨어 생명 주기 모델과 테스트
소프트웨어 생명 주기: 소프트웨어 개발 체계의 추상적 표현으로 순차적 또는 병렬적인 일련의 단계
테스트는 이러한 소프트웨어 생명 주기 모델의 특성을 고려하여 수행
폭포수 모델
구현이 완료된 후 테스트 시작
요구사항 명세부터 소스 코드까지 모든 자료 존재
검출된 결함을 해결하는 데 많은 비용과 시간이 소용될 수 있음
V모델
개발 시작과 함께 테스트도 시작
각 개발 단계에서 발생하는 결함을 검출할 수 있는 테스트 레벨이 존재
동적 테스트와 더불어 개발 산출물에 대한 정적 테스트도 수행
진화적 개발 모델
이터레이션과 점진적인 방식으로 개발 진행
핵심 부분 먼저 개발하고 각 구성 요소는 여러 이터레이션을 통해 개선하여 완성
각 이터레이션마다 테스트 수행
각 이터레이션은 순차적 모델처럼 진행되며 각 개발 단계에서 테스트 관련 프로세스 수행
애자일 개발 방법론
반복적이면서 점짐적인 개발 방식
일반적으로 테스트 주도 개발(Test-Driven Development, TDD)
➡️ 테스트 케이스를 먼저 작성하고 나중에 코드 작성
지속적 통합: 어느 한 시점에 통합하는 것이 아니라 계속해서 통합을 수행
2.3.4 위험 기반 테스트
테스트는 주어진 비용과 일정 내에서 수행되어야 함
테스트 범위를 결정할 때도 비용과 일정, 피처 등을 고려해 테스트 범위를 전체 시스템의 일부로 한정시킬 수 있음
이 경우, 테스트 미수행에 따른 위험 발생 가능성 있음
2.3.5 모델 기반 테스트
명세 기반 테스트는 테스트 대상에 대한 기대 동작을 표현하는 일종의 모델을 이용
➡️ 자연어로 표현된 형식, 시각적인 표현 방식, 표 형태 등
➡️ 수작업으로 테스트 입력 및 출력을 결정
모델 기반 테스트는 테스트 절차를 수행할 수 있는 정보가 자동으로 추출될 수 있을 정도로 정형화되고 상세한 모델을 바탕으로 함
테스트 계획에서 테스트 종료까지 대부분의 활동을 자동화 할 수 있음
모델 자체에 존재할 수 있는 다양한 유형의 문제점을 이른 시점에 식별하는 방법
장애가 발생했을 때 많은 비용이 유발되는 자동차, 의료 등 안전 필수 소프트웨어 대상으로 수행됨
테스트의 근간이 되는 모델, 정혀화되고 상세한 테스트 모델을 구축하는 비용이 추가되는 단점이 있음
의사결정표, UML 상태 다이어그램, UML 액티비이 다이어그램
'도서 및 강의 > 소프트웨어 테스트 전문가(CSTS) 가이드' 카테고리의 다른 글
| 3장 소프트웨어 개발 단계와 테스트 - 3.2 컴포넌트 테스트 (0) | 2025.11.25 |
|---|---|
| 3장 소프트웨어 개발 단계와 테스트 - 3.1 개요 (0) | 2025.11.25 |
| 2장 테스트 분류와 테스팅 방법 - 2.2 테스트 분류 (0) | 2025.11.24 |
| 2장 테스트 분류와 테스팅 방법 - 2.1 개요 (0) | 2025.11.24 |
| 1장 테스트 개요 - 1.5 테스트 기본 용어 (0) | 2025.11.24 |