테스트는 그 수행 주체와 목적, 환경 등에 따라 크게 4단계의 레벨로 구분한다. 물론 각 조직이나 회사, 프로젝트의 성격, 환경 등에 따라 더 세분화 되는 경우도 있고 축소되기도 하지만 기본적으로 테스트 레벨은 단위 테스팅 통합 테스팅 시스템 테스팅 인수 테스팅 로 나뉘어 진다. 각 테스트 레벨에 대한 자세한 설명은 다른 곳을 참조하시고.. 내가 하고 싶은 말은 다른 것이다. 이러한 테스트 레벨은 원래 V-모델이라 불리는 모델에서 나온 것이다. V-모델은 폭포수 모델의 변형 모델로 폭포수 모델에 테스트 수행에 대한 활동을 강화한 모델이라고 이해해도 무방하다. 즉, 폭포수 모델의 각 개발 단계와 대응되는 테스트의 활동을 도식화 한것이 V-모델이다. 그말은 이 테스트 레벨도 폭포수 모델의 컨셉을 그대로 물려받고 있다는 것이다. 무슨 의미냐 하면 단위 테스팅이 끝나야 통합 테스팅을 할 수 있고 통합 테스팅이 끝나야 시스템 테스팅을 할 수 있다는 것이다. 그래서 테스트 계획 문서에는 시작 조건과 완료 조건 추가로 지연 조건이나 재개 조건과 같은 시작과 끝점에 대한 항목을 협의하여 명시하도록 권고하고 있다. 이러한 테스트 레벨은 테스트 수행 활동을 체계적으로 이해하고 개발 단계와 테스트 단계의 대치점에 대한 이해를 하기에는 좋지만 한가지 취약한 점이 있다. 조금 추상적이긴 하지만.. 품질이라는 관점에서 살펴보도록 하자.. 우리는 각 연예인들의 가장 이쁜 부분 또는 가장 호감이 가는 부분만을 모아서 몽타쥬를 만들었을 경우 완성된 모습이 우리가 꿈꾸던 모습과는 사뭇 거리가 있다는 것을 익히 들어서 알고 있다. 중요한 것은 조화이다. 아무리 아름다운 것을 모아 놓는다고 해서 그 전체가 아름답지는 않다. 하지만 우리는 아주 자주 이러한 사실을 잊어버린다. 그것은 우리가 1+1=2라는 논리적이고 수리적인 사고 방식에 아주 익숙해져 있기 때문이다. 하지만 이것이 언제나 참이라고는 죽어도 확신할 수는 없다. 1+1=2가 아닐 수도 있다. 그런 예는 언제 어디서나 차고도 넘치도록 찾...