유닛 테스트란?
- 내가 작성한 코드의 가장 작은 단위인 함수를 테스트하는 메소드
- 내가 작성한 로직을 테스트하는 유닛테스트 코드를 짜서 테스트하게 된다.
- 유닛 테스트는 빠르고 비용이 저렴해서 개발할 때 필수적으로 작성해야 한다.
Testing Pyramid
Google Test Automation Conference에서 제안된 테스트 피라미드
시스템을 테스트 할 때 크게 3가지 방법으로 나눌 수 있다.
-
End-To-End(E2E) Testing
크롬 브라우저를 띄운 후 내가 만든 검색 페이지에 가서 검색을 해보고, 검색한 내용이 제대로 나오는지 화면상에서 확인하거나 직접 회원가입을 해보고 회원가입 후에 로그인 되는지 직접 브라우저 상에서 값을 입력해서 테스트 하는방법
-
Integration Testing
최소 두개 이상의 클래스 또는 서브 시스템의 결합을 테스트하는 방법
-
Unit Testing
Unit Testing이 가장 쉬우며 가장 효과가 좋다.
Unit Test 장점
- 유닛 테스트는 Ui Test, Integration Test보다 테스트 비용이 저렴하다. Ui Test는 백엔드 서버와 프론트를 연동하여 사람이 직접 테스트하지만, 유닛 테스트는 사람이 스크립트로 한꺼번에 자동으로 실행하기 때문이다.
- 유닛 테스트는 다른 테스트에 비해서 실행 속도가 매우 빠르다. 유닛테스트를 활용하면 개발 및 배포 속도에 중요한 영향을 주기 때문에 개발할 때 최대한 활용하는게 좋다.
- 새로운 기능을 구현할 때 유닛 테스트를 잘 작성해놓으면 유지 보수가 쉽다.
- 유닛 테스트를 잘 짜놓으면 버그를 방지할 수 있다.