애자일 소프트웨어 개발생명주기(SDLC), 테스트생명주기(STLC)
애자일 개발 프로세스
- 스크럼 (Scrum)
- 칸반 (Kanban)
- 익스트림 프로그래밍 (Extreme Programming)
- Lean 개발 방법론
- 동적 시스템 개발 방법 (DSDM: Dynamic Systems Development Method)
스크럼 기반 프로세스
- 기획 > 디자인 > 개발 > 테스트 > 배포 > 회고
- 기획 단계에서 목표로 설정해둔 내용을 지속적으로 점검 및 테스트 진행
- 기획 단계
- 테스트 아이디에이션(ideation) 단계
- 정적 테스트 수행, 테스트 플래닝
- 목적
- 기획의 모호성, 미비한 점 감소
- 리스크를 파악하여 잠재적인 위험요소 공유
- 스프린트 안정성 증진
- key points
- 영향 범위 파악 (유저 시나리오)
- 리스크 분석 (복잡도/테스트 난이도)
- 우선 순위 선정
- 테스트 방법 파악, Testability
- 테스트 일정 산정
- 디자인 단계
- 정적 테스트 수행, 테스트 플래닝
- Testability 확보
- 테스트 데이터 생성
- 테스트 타당성 검토 (테스트 스크립트)
- 테스트 케이스, 테스트 스크립트 작성 시작
- key points
- 변경 사항 팔로우업
- 영향 범위
- 리스크 분석
- 우선 순위 재선정
- 테스트 일정 재산정
- 개발 단계
- 본격적인 테스트 케이스, 테스트 스크립트 작업
- 부분적인 기능 검증 실행
- API 테스트
- 테스트 드라이버, 스텁 활용
- 버그 리포트
- key points
- 테스트 단계
- 시스템 통합 테스트
- 피쳐 테스트
- 리그레션 테스트
- 버그 리포트
- 수정된 버그 확인 테스트 + 리그레션 테스트
- 테스트 진행상황 및 버그 상황 공유
- 완료 조건(Definition of Done) 만족 여부 확인
- 배포 단계
- 리뷰(회고) 단계
- 버그 회고 (Root Cause Analysis)
- 테스트 마무리

테스트 설계 : 테스트 케이스와 우선 순위
어떻게 테스트할 것인가?
- 테스트 케이스와 테스트 케이스 세트 설계 및 우선순위 선정