프로젝트 수행 시 단계별 테스트 프로세스에서 각 테스트 단계는 그 단계에 맞는 특정한 목적을 가지고 있으며 함께 조직되고 관리되는 테스트 활동의 그룹이다.

테스트 단계로는 정적 테스트, 단위 테스트, 통합 테스트, 시스템 테스트(성능/보안성 점검 등), 사용자 인수 테스트로 구성되며, 프로젝트 테스트 계획 단계에서 수행할 테스트의 단계를 정의한다. 이제 각 테스트에 대한 정의에 대해 살펴보겠다.

 

 

1. 개발 단계 별 테스트 생명주기 활동 정의

모든 개발 활동은 테스트 활동과 대응 가능하고, 해당 테스트 단계에 맞는 테스트의 계획과 설계는 대응되는 개발 활동 동안에 시작한다.

이를 적용 시 조기에 결함을 발견하고 예방함으로써 전체 개발 비용 절감 및 시간 단축의 효과를 가질 수 있다.

테스트 생명주기 활동이란 테스트의 목적과 목표 달성을 위하여 테스트의 계획부터, 설계, 실행, 리포팅 및 마감에 이르는 일련의 체계적인 활동을 말한다.

테스트 프로세스의 생명주기 활동은 논리적으로는 순차적이지만, 각 프로세스 안에서 활동들은 중복되거나 동시에 발생할 수 있다.

또한 생명주기 활동들은 각 테스트 단계마다 매번 수행되는 것이 원칙이다.

프로젝트 테스트 수행 시에는 이러한 일련의 활동을 거쳐 테스트 계획서, 각 단계별 산출물 그리고 종료보고서 등을 작성하게 된다.

요구사항 정의 사용자 인수 테스트 계획/설계 요구사항 리뷰가 끝나면 사용자 인수 테스트 계획/설계 활동을 시작한다.
분석 시스템 테스트 계획/설계 분석서 리뷰가 끝나면 시스템 테스트 계획/설계 활동을 시작한다. (비기능 요소에 대한 테스트 준비: 성능, 보안성 등 점검 계획 수립)
구조 설계 통합 테스트 계획/설계 구조 설계서 리뷰가 끝나면 통합 테스트 계획/설계 활동을 시작한다.
상세 설계 단위테스트 계획/설계 상세 설계서 리뷰가 끝나면 단위 테스트 계획/설계 활동을 시작한다.
구현/단위 테스트 단위 테스트 구현 및 실행 구현이 완료되면 단위 테스트를 수행한다.
통합테스트 통합 테스트 구현 및 실행 단위 테스트 종료 후 통합 테스트를 수행한다.
시스템 테스트 시스템 테스트 구현 및 실행 단위 테스트 이후 단계(시스템이 어느정도 구축되어 있는 이후 상태)에 시스템 테스트 계획 일정에 맞게 테스트를 수행한다.
사용자인수 테스트 사용자인수 테스트 구현 및 실행 시스템 테스트 종료 후 사용자 인수 테스트를 수행한다.

*경우에 따라 각 테스트 단계를 동시에 진행되거나 순서를 바꿀 수 있다.

 

2. 정적 테스트(산출물 검토: Optional)

개발 프로세스의 소스 코딩 전 요구사항 분석 단계부터 실시하는 문서위주의 검토로 프로젝트의 규모에 따라서 프로젝트 내 QA가 수행하거나, 당사 품질혁신팀의 의뢰를 통해 수행하도록 품질보증계획을 수립하여 시행한다.


3. 단위 테스트

단위테스트는 구현된 테스트 대상 단위가 사전에 명세된 요구사항(즉 단위 관련 기능, 비기능, 기타 특성들)을 만족 하는지 검증하는 단계로서, 구체적인 계획 수립과, 계획에 따른 테스트케이스 설계 및 도출, 테스트케이스 실행, 테스트 완료 보고의 과정을 거치는 체계적인 테스트 활동이다.


4. 통합 테스트

단위테스트에서 개별적으로 테스트 된 모듈들은 통합되는데, 이때 단위테스트를 거친 프로그램 및 모듈을 시스템 환경과 함께 점진적으로 통합하여 테스트 하는 활동이다.

 

 

5. 시스템 테스트 - 비기능 테스트: 성능, 보안성 등

시스템 테스트는 모든 요구사항과 분석서, 설계서에 기술된 비기능 요소들이 최종 시스템에 적절하게 반영되어 있는지를 검증하기 위한 테스트이다.

단위, 통합테스트의 목적이 결함 발견에 있다면, 시스템 테스트는 이전에 발생한 결함들이 적절하게 조치 되었음을 확인하고 시스템의 실제 운영 가능성에 확신을 가질 수 있도록 하는데 주 목적이 있다.


6. 사용자 인수 테스트

사용자 인수 테스트는 개발된 시스템에 대하여 운영 환경으로 전환하기 위한 준비를 완료하고, 운영 환경 또는 운영 환경과 가장 유사한 환경에서 당초 사용자가 요구한 사항을 시스템이 전체적으로 만족시키는 지를 사용자 주도로 평가하게 하여 그 테스트 결과에 대하여 인수 승인 여부를 결정하도록 하는 테스트이다.

프로젝트의 규모, 기간에 따라 수행할 수 있는 테스트 단계를 정의하고 각 테스트 단계 별 구체적인 목적과 수행일정을 수립한다.

각 단계별 테스트 절차는 크게 관리영역(계획, 모니터링 및 제어, 완료), 수행영역(설계, 환경구축, 실행)의 6단계로 구성된다.

각 영역별 세부 프로세스 및 활동은 프로젝트 테스트 관리 프로세스와 프로젝트 테스트 수행 프로세스를 참고한다.

 

지금까지 프로젝트 단계별 테스트 프로세스에 대해 알아보았다. 프로젝트를 성공적으로 완수하기 위해 어렵지만 단계별 테스트를 잘 수행하면 완성도를 더욱 높일 수 있을 것이다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기