ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL.83 Unit Test
    TIL 2020. 12. 30. 14:03
    728x90

    개발한 시스템이 정상적으로 동작하는지 확인하는 TEST

    그 방법 중 가장 활용성이 높은 Unit Test를 알아보자

     

    먼저, Test 방법 중 메뉴얼 테스트라는 방법을 우선 알아보자 

    장점 :

    직관적으로 모든 기능을 테스트하기 때문에 코드를 모르는 사람도 이해하기 쉽다.

    단점 :

    1. 테스트 실행 속도가 굉장히 느리다.

    2. 인력 소모가 크고

    3. 불안정성이 높고

    4. 많은 비용이 발생한다.

     

    따라서 자동화된 Test가 매우 중요하다

    메뉴얼 테스트보다는 테스트를 자동화해야한다.

    (실제로는 메뉴얼 테스트를 실행하는 회사가 많다고 한다!)


    개발 프로세스에서의 테스트 비율

    1. End To End Test -> cypress (E2E 자동화 Tool)

    장점 :

    사용자의 실제 시스템 환경에서 동일한 테스트가 가능하다. 실제 사용자의 속도보다 훨씬 빠르게 동작한다.

    단점 :

    시스템 전체를 테스트하기 때문에 프론트/백 모두 연결한 상태로 테스트하기 때문에 테스트 시점이 마지막에 해당된다.

     

    2. Integration Testing -> postman, httpie (서버 테스트 Tool)

    서버를 로컬에서 실행시켜 테스트하는 전형적인 방법

    장점 :

    1번의 UI test 보다 작은 개념이다.

    UI적 요소가 전부 제외되고 서버의 API와 같이 더 작은 단위를 테스트한다는 장점이 있다.

    독립적인 테스트가 가능하다(테스트 시 에러가 있을경우 온전히 백엔드 문제임을 알 수 있다)

    단점:

    클라이언트 툴을 사용해 직접 보내야하는점

    데이터베이스 서버를 항상 돌려야 한다.

    이 테스트를 자동화하기는 굉장히 어렵다.

     

    3.Unit Test

    테스트 할 수 있는 가장 작은단위

    GET, POST 와 같은 메서드가 테스트할 수 있는 가장 단위이다.

    즉, 테스트 할 수 있는 가장 작은단위를 테스트 해나감으로써 개발 단계 중간중간 가장 작은단위의 함수가

    개발자의 의도대로 정확하게 작동하는지 검증해나가며 개발의 안정성을 높일 수 있다.

     

    테스트 관점에서 보자면

    테스트 코드를 보고서 어떤 과정을 테스트하고자 하는지 제 3자가 보고 바로 이해할 수 있도록 잘 작성된 테스트 코드 작성이 중요하며

    따라서 테스트 코드의 기반이라 할 수 있는 "코드" 또한 효율적으로 구성하여야 할 것이다.

     

    결론, 효율적인 로직의 코드와 효율적인 테스트 코드가 함께 동반되어야 한다는 것이다.

    거의 대부분의 개발자들은 개발함과 동시에 고려해야할 "효율적" 이라는 단어를 항상 생각한다.

    이는 가장 어려우면서도 가장 중요한 부분이라 다시금 깨닫게 되었다

     

     

     

    728x90

    'TIL' 카테고리의 다른 글

    TIL.85 Unit_test_실습_2  (0) 2021.01.01
    TIL.84 Unit Test_실습  (0) 2020.12.31
    TIL.82 Git rebase  (0) 2020.12.30
    TIL.81 Git Flow  (0) 2020.12.29
    TIL.80 AWS_실습2_EC2 & RDS 연동 및 배포  (0) 2020.12.28
Designed by Tistory.