⏳
TDD 맛보기 - 테스트 종류
February 25, 2021
총 4가지 테스트에 대해서 간단히 다룰 것이다. 지금 우테코 LEVEL1에서 진행하고 있는 미션에서는 단위 테스트를 연습하는 TDD를 하고 있다. 내가 TDD를 할 줄이야..
유닛 테스트(Unit Test)
가장 작은 단위의 테스트로 메서드 레벨로 테스트를 한다. (현재 내가 진행중인 TDD 방식)
즉각적인 결과가 나와서, 해당 메소드에 대한 원하는 결과가 연산이 되는지에 대한 확인이 가능한 테스트이다.
테스트 하기 어려운 메소드들이 등장하곤 하는데 이때는 stub (더미 객체가 마치 실제로 동작하는 것처럼 보이도록 만든 객체) 을 사용하여서 테스트 하는데 비용을 따져서 판단하도록 한다. (비용 관점을 항상 고려해야한다!)
하나의 메소드가 원하는 방식으로 동작한다는 것을 확인할 수 있지만, 결합되었을 때, 잘 동작하는지에 대한 보장은 어렵다.
전 구간 테스트(End-To-End Test)
시스템 자체와 시스템을 구축하고 배포하는 프로세스를 모두 시험한다.
내부 기능들(클래스 및 메소드)를 테스트 할 필요는 없다. 단위 테스트의 영역으로 구분한다.
테스트 만들기가 쉽지 않고 신뢰하기도 어렵다ㅜㅜ
통합 테스트(Integration Test)
여러개를 통합하여 테스트 할 때 사용하는 테스트 기법이다.
변경할 수 없는 (외부 라이브러리 등) 부분 까지 묶어서 같이 테스트 할 때 주로 사용된다.
인수 테스트(Acceptance Test)
인수 테스트의 초점은 기술 보다는 비즈니스 쪽이라고 할 수 있다.
구현하고자 하는 기능에 대한 테스트인데, 주로 전 구간 테스트를 사용하여 기능을 테스트하곤 한다.