통합테스트와 단위테스트 개념 바로 알기
통합테스트와 단위테스트의 뜻과 개념에 대해서 먼저 아래 버튼을 통해서 내용을 바로 확인보세요.
통합테스트와 단위테스트 개념 세부 설명
통합테스트와 단위테스트 개념에 대해서 알아보아요.
통합테스트(Intergration Test)는 단위 테스트(Unit Test) 끝나고 난 다음에 진행하는 테스트로 전체적인 관점에서 모듈(Module)들간 상호 연계 관점에서 테스트를 하는 개념입니다. 통합테스트에서는 화면, 기능, 성능, 배치 영역별로 전체적인 관점에서 정상적으로 동작하는지를 확인하는 테스트가 진행됩니다.
단위테스트(Unit Test)의 경우는 개발자가 자신이 개발을 진행한 모듈에 대해서 단위테스트 시나리오에 맞춰서 테스트를 진행해보는 것입니다. 각 모듈(Module) 단위로 정상 작동 여부를 확인하는 것입니다. 만약 테스트 대상이 되는 모듈이 다른 모듈에 영향을 주거나 아니면 다른 모듈에 영향을 받는데 해당 영역이 개발이 안되어 있다면 별도 테스트 드라이버를 통해서 테스트를 진행하게 됩니다.
통합테스트는 시스템을 구성하는 복수의 모듈들에 대해서 서로 데이터를 주고 받으면서 연결되어 있는 상태에서 통합적으로 테스트해보는 것입니다. 통합테스트가 정상적으로 성공하면 사용자 인수 테스트가 진행됩니다.
통합테스트는 진행 방식에 따라서 빅뱅 방식의 통합 테스트와 점진적 방식의 통합테스트가 있습니다. 빅뱅 방식의 통합테스트는 단위테스트가 종료되고 나면 모든 모듈들을 한꺼번에 통합해서 테스트를 본격적으로 진행하는 방식입니다. 주로 전통적인 워터폴 방식의 프로젝트에서 진행하는 방식입니다.
워터폴 방식은 애자일 방식의 프로젝트와 대비되는 프로젝트 진행 방식입니다.
점진적 방식의 통합테스트는 모듈에 대한 통합을 한꺼번에 진행하기 보다는 점진적인 방식으로 진행하는 것입니다. 점진적으로 진행하는 방식도 방향에 따라 하향식과 상향식으로 분류됩니다. 하향식은 모듈의 계층적 구조에서 상위 모듈부터 시작하여 아래로 내려가는 방식이며 상향식은 거꾸로 가장 아래 모듈에서 부터 점진적으로 상위 계층의 모듈로 올라가는 방식입니다.
통합테스트를 진행할 때는 통합테스트 시나리오가 필수적입니다. 통합테스트 시나리오가 작성되고 테스터 들은 해당 테스트 시나리오에 맞춰서 테스트를 진행하게 되고 오류 발생시 이에 맞는 테스트 가이드라인에 맞춰서 오류 조치와 보고가 진행됩니다.
테스트의 순서는 단위테스트, 통합테스트, 사용자 인수테스트 순서로 진행되는데 프로젝트의 상황이나 회사의 특성에 맞게 관통테스트, 테마테스트, 회귀테스트, 값 검증 테스트 등 다양한 형태의 테스트가 추가될 수 있습니다.
하지만 가장 일반적으로는 모듈 단위의 테스트를 진행하는 단위테스트, 모듈들을 연계시켜서 테스트 하는 통합 테스트, 가장 마지막 비즈니스와 사용자 관점에서 진행하는 사용자 인수테스트 3가지로 구성하여 테스트가 진행됩니다.
프로제트의 규모에 따라서 단위테스트, 통합테스트, 사용자 인수테스트는 차수가 여러 단계로 쪼개질 수 있고 해당 차수 별로 통과를 위한 성공률 목표 수치와 지표가 있으며 해당 목표를 달성해야지만 다음 단계로 이동할 수 있게 됩니다.