
348
2
부
구현
9.29.2
테스트 범위 테스트 범위
『경험과 사례로 풀어내 성공하는 애자일』 (인사이트,
2012
)의 저자 마이크 콘
Mike
Cohn
은 어떤
유형의 자동화 테스트가 필요한지 설명하는 데 유용한 테스트 피라미드
test
pyramid
라는 모델을 소
개했다. 피라미드는 테스트 범위뿐만 아니라 목표로 삼아야 하는 다양한 테스트 유형의 비율도
생각할 수 있게 한다. 콘의 원시 모델은 자동화 테스트를 [그림
9
-
2
]와 같이 단위 테스트, 서비
스 테스트,
UI
테스트로 나눴다.
테스트 범위 증가
더 커진 확신
더 빠르다!
더 나은 격리
단위
서비스
UI
그림
9-2
마이크 콘의 테스트 피라미드 마이크 콘의 테스트 피라미드
피라미드를 읽을 때 주의해야 할 점은 피라미드의 중간으로 올라갈수록 테스트의 범위는 증가
하고 테스트 중인 기능이 작동한다는 확신도 커진다는 것이다. 반면에 테스트를 실행하는 데
오랜 시간이 걸리면 피드백 주기 시간이 늘어나고, 테스트가 실패하면 어떤 기능이 손상됐는지
확인하기가 더 어려워질 수 있다. 피라미드 아래로 내려가면 일반적으로 테스트가 훨씬 빨라지
므로 피드백 주기도 훨씬 짧아진다. 따라서 고장 난 기능을 더 빨리 발견하고, 지속적 통합 빌
드가 더 빨라지며, 고장 난 것을 발견하기 전에 새 작업으로 이동할 가능성이 줄어든다. 이러