테스트의 종류 - 아름다운 이야기
Ship It 57 Page에 나오는 주옥같은 이야기 입니다.
단위 테스트(Unit Test)
단위 테스트는 개별 클래스나 객체를 테스트하기 위해 고안되었습니다 단위 테스트는 독립형이고 일반적으로 작동시키기 위해 다른 클래스나 객체가 필요하지 않습니다. 단위 테스트의 삶의 유일한 목적은 한 뭉치의 코드 내에 논리가 적절히 작동하는지 확인하는 것입니다.
기능 테스트(Functional Test)
기능 테스트는 제품 전체의 적절한 동작(또는 기능)을 테스트하기 위해 작성됩니다. 기능 테스트는 제품 전체 또는 한 제품 내의 주요 하부 시스템을 다룰 수 있습니다. 기능 테스트는 시스템 내에 많은 객체를 갖습니다.
성능 테스트(Performance Test)
제품이 (또는 중요 하부 시스템이) 얼마나 빨리 작동할 수 있는지 측정 합니다. 이런 테스트를 하지 않고선, 어떤 코드 변경이 제품의 반응속도를 향상 시켰는지, 퇴보 시켰는지 말할 수 없습니다.
부하 테스트(Load Test)
부하 테스트는 수많은 클라이언트나 파워 유저 집단이 큰 부하를 걸었을 때 제품이 어떻게 작동하는지 모의 실험 합니다. 성능 테스트와 마찬가지로, 이런 종류의 테스트를 하지 않고선 코드 베이스가 향상됐는지 퇴보됐는지 객관적으로 말할 수 없습니다.
스모크 테스트(Smoke Test)
스모크 테스트는 가벼운 테스트이고, 제품의 중요 부분을 작동 시키기 위해 조심스럽게 작성되어야 합니다. 빨리 실행되면서도 제품의 적합한 부분을 작동시키기 때문에 스모크 스트를 사용하게 됩니다. 그 기본적인 아이디어는 기본 기능을 호출했을때, “연기가 나는지”, 즉 실패하는지 알아보기 위해 제품을 돌려보는 것입니다. 스모크 테스트는 CI시스템과 함께 사용하기에 아주 좋습니다.
통합 테스트(Integration Test)
통합 테스트는 제품 라인의 다양한 부분이 서로 잘 협력하는지를 살펴 봅니다. … 통합 테스트는 데이터베이스와 같이 제품이 의존하는 컴포넌트의 새 버전을 검증하는데 흔히 쓰입니다.
가짜 클라이언트 테스트(Mock Client Test)
About Mock Objects, a technique for improving the design of code within Test-Driven Development 가짜 클라이언트 테스트는 클라이언트의 관점에서 테스트를 만들기 위해 사용됩니다.
Enjoy Reading This Article?
Here are some more articles you might like to read next: