스크린샷 2024-01-09 오후 1.11.40.png

통합 테스트

단위 테스트보다 큰 범위의 테스트를 의미하며 어플리케이션의 여러 부분들이 통합되어 제대로 상호작용 되는지 테스트합니다. 예를 들어서 단위 테스트는 하나의 함수를 테스트한다면 통합 테스트는 함수를 테스트하는데 그 함수 안에 다른 함수를 호출하는 함수를 테스트해서 의존성이 있는 테스트를 하게 됩니다.

구현 비용과 구현 시간을 고려했을 때 상대적으로 가장 효율이 좋고 가장 많이 작성하면 좋은 테스트입니다.

ex) React Testing Library, Jest, Enzyme

E2E(End to End) 테스트

E2E 테스트는 실제 사용자가 사용하는 것과 같은 조건에서 테스트를 진행하는 것을 말합니다. 실제 사용자의 시나리오를 가지고 테스트하는 것처럼 앱의 동작을 테스트합니다. ex) Cypress, Puppeteer

E2E 테스트는 단위 테스트나 통합 테스트와 비교했을 때 관리가 어렵고 속도가 느리고 수행 비용이 비싸기 때문에 정말 필요한 부분만 작성하는 게 좋습니다.

테스트를 작성할 때는 이 테스트가 필요한지와 이 테스트로 인한 비용을 고려하면서 작성하면 좋습니다.