TIL - Unit Test Session 0918

haileyself·2019년 9월 17일
0

유닛테스트는 중요하다
우리는 뭔가를 구현하는 것이 목적
구현이 됬는지 안됬는지에 대한 테스트를 안한다는 것은 개발을 안하는 것이다.

은우님 기준으로 개발 테스트의 비중 5:5 로 해야 함
버그는 지금 고쳐야지 빨리 고칠 수 있다..
우리나라 테스트 약간 비중 안둠
why?빨리 빨리 문화

Test의 3가지 종류

image.png

  1. E2E (UI test)
    : 끝에서 끝까지 다 테스트를 한다. from End to End
    UI테스트는 사용자 입장에서 테스트 하는 것이다.
    사용자처럼 입력해보고 클릭해보고 컴포넌트 제대로 나오는지 보고
    이게 다 UI test다. UI를 통해서 테스트 하고, 마지막 end user 처럼 테스트를 하기때문에 E2E test라고도 함.
    가장 확실하고 정확한 방법
    눈으로 확인하기때문에 빠르게 확인할 수 있다는 장점이 있다.
    눈으로 직접 봤기때문에 정확하게 알 수 있음.
  • 단점
    1)시스템 시동시키는 데 오래걸릴 수 있음
    (ex. 테스트 하기 위해서는 백엔드 서버 키고, 프론트 엔드 서버키고... 등등 배포하듯이 해야 함 )
    2) 직접해봐야되는 불편함
    3) 시간이 오래걸림 -> 비용이 높은 테스트
    4) 반복해서 확인하기 어려움
  • UI테스트 중 버그가 생기면 어떻게 확인할까? 어떤 문제로 인해서 발생하는 건지 파악하고, 고치고나서 retest 클릭부터 다하기~프론트엔드셋업에서 다시 풀땡기고...하나하나 다 확인하기
  • 스타트업이 많이 하는 실수 중 하나가 인력이 부족하니깐, 테스트를 할 때 1차는 다 하지만, 2차 수정하고 테스트할 때 1차때 했던 부분을 테스트 안하고 그냥 추가로 수정한 것만 테스트하는 경우가 많음. 이럴 때 꼭 버그가 생김 why? 테스트를 안했으니깐 (migration issue: 이런 때 발생한 이슈를 이렇게 부름) 내가 테스트안하면 user가 테스트한다... 테스트는 정말정말 중요함 !user가 발견하면 신뢰성이 하락~~~!!!
  1. Integraiton Test
    : E2E 처럼 내가 직접하는 것이 맞는데, 내가 만든 내 서버만 확인해보는 것! 그게 바로 E2E와의 차이.
    비용이 E2E보다 싸다. 왜 ? 내가 직접 해보고 백엔드단만 확인해볼 수 있으니깐
  2. Unit test
    : 가장 빠르게 편하게 할 수 있는 테스트
    테스트 할 수 있는 최소 단위는 함수다 ! 그 함수를 테스트 하는 것이 unit test .
    함수를 어떻게 테스트하나 ?
    유닛테스트는 테스트를 하는 테스트코드를 만들기 위한 테스트.
    so,, 우리나라가 유닛테스트 잘안함 왜 ? 테스트 하기 위해서 또 코드쳐야되니깐...
  • 유닛테스트의 예

profile
Keep on my way ! :)

0개의 댓글