소프트웨어 생명주기(Software Development Life Cycle, SDLC)의 각 단계에서 다양한 종류의 테스트가 수행됩니다. 테스트 종류는 단계에 따라 다를수 있지만, 일반적으로 다음과 같은 테스트가 각 단계에서 이루어집니다. Testing 조직은 요구 사항 입수 단게부터 참여 하여 요구사항을 분석하고, Test Design을 위한 Verification을 게 되며 전 단계에서 개발 단계의 산출물을 Verification 하게 됩니다. 개발자 또한 상세 설계, Coding 단계 리뷰들 다양한 Testing을 진행하게 되며 전 단계에서 개발자들도 Testing에 참여 하게 됩니다.
- 요구사항 분석 단계:
- 요구사항 검증 테스트: 수집된 요구사항이 명확하고 완전한지를 확인하는 테스트입니다.
- 요구사항 추적성 테스트: 요구사항이 설계 및 개발 단계에서 어떻게 구현되었는지 추적하는 테스트입니다.
- 시스템 설계 단계:
- 아키텍처 검증 테스트: 시스템의 아키텍처가 정상적으로 동작하는지, 성능과 확장성 요구사항을 충족시키는지를 확인하는 테스트입니다.
- 개발 단계:
- 단위 테스트: 개별적인 모듈 또는 구성 요소의 동작을 검증하는 테스트입니다.
- 통합 테스트: 다른 모듈 또는 구성 요소들 간의 상호작용과 통합을 검증하는 테스트입니다.
- 테스트 단계:
- 기능 테스트: 소프트웨어의 기능이 요구사항과 일치하는지 검증하는 테스트입니다.
- 성능 테스트: 소프트웨어의 성능, 응답 시간, 처리량 등을 측정하여 성능 요구사항을 충족하는지 확인하는 테스트입니다.
- 사용자 인터페이스 테스트: 사용자가 소프트웨어와 상호작용하는 인터페이스의 정확성과 사용 편의성을 검증하는 테스트입니다.
- 배포 단계:
- 인스톨레이션 테스트: 소프트웨어의 설치 과정을 테스트하여 정확하게 설치되는지 확인하는 테스트입니다.
- 호환성 테스트: 소프트웨어가 다른 시스템과의 호환성을 검증하는 테스트입니다.
- 유지보수 단계:
- 회귀 테스트: 소프트웨어에 변경 사항이 있을 때, 이전 기능이 영향을 받지 않았는지를 확인하는 테스트입니다.
- 버그 수정 테스트: 이전에 발견된 결함이 수정되었는지를 검증하는 테스트입니다.