gTest에 대한 소개에 앞서 테스팅에 대해 간단히 정리해본다. 테스팅이란? 테스팅이란 소프트웨어나 시스템이 사용자가 요구하는 수준을 만족시키는지 확인하기 위한 행위로 결함을 발견하는 메커니즘이다. 즉, 소프트웨어를 실행하여 테스트를 수행하는 동적 테스팅(Dynamic Testing)뿐만아니라 개발초기에 요구분석이나 설계 단계의 산출물을 테스팅 관점에서 리뷰(Review)하고 구현단계의 코드를 인스펙션(Inspection) 하는 정적인 행위까지도 포함한다. 소프트웨어 개발 생명주기를 놓고볼 때, 우리가 기본적으로 인식하고 있는 동적 테스팅 영역에서 가장 처음 발생하는 테스팅이 단위테스트(혹은 유닛테스트)이다. 단위테스트는 테스트 가능한 최소 단위의 소프트웨어에서 기능을 검증하고 결함을 발견하는 행위이다...