1.Test Code

이수현·2022년 11월 15일
0

TDD

목록 보기
1/2

Test Code란?

소프트웨어의 품질을 확인하거나 버그를 찾을 때 작성하는 코드를 의미합니다.

Test Code를 작성해야하는 이유

  1. 기능이 정상적으로 동작하는지 확인할 수 있다.
    -> 코드를 작성하고 실행해보며 기능을 확인하는 방식에서 테스트 코드를 작성해서 보다 편하게 기능이 정상적으로 동작하는지 확인 가능합니다.

  2. 결함을 사전에 발견할 수 있다.
    -> 여러 가지 기능에 대한 테스트 코드를 작성해놨다면, 기존 코드를 잘못 작성했을 때 오류가 생기므로 결함을 사전에 발견할 수 있습니다.

  3. 리팩토링에 대한 자신감이 생긴다.
    -> 기존의 코드를 다른 코드로 리팩토링 할 때 기존의 소스와 동일한 동작을 하는지에 대한 걱정을 하지 않아도 됩니다.

  4. 기능에 대한 레퍼런스로 사용할 수 있다.
    -> 코드 작성자의 의도, 사용법, 주의사항 등이 드러나게 되어 있어 레퍼런스로 사용할 수 있다.

Test Pyramid


위 사진은 개발자들이 프로젝트를 진행할 때 공통적으로 작성해야하는 테스트들을 도식화한 테스트 피라미드 입니다.

Unit Test

Unit Test는 다른 말로 단위 테스트라고도 부릅니다. 말 그대로 함수나 모듈 클래스와 같은 단위 딱 하나를 테스트하는 걸 의미합니다. 예를 들어, 자전거에서 바퀴 하나를 테스트한다면 단위 테스트입니다.

Integration Test

그 다음 진행할 테스트는 통합 테스트입니다. 하나의 Unit이 아닌 여러가지 Unit을 통합했을 때 서로 상호작용을 잘하는지 테스트하는 것을 의미합니다. 예를 들어, 자전거에서 바퀴와 체인을 연결하여 체인을 돌렸을 때 바퀴가 잘 돌아가는지와 같은 서로의 상호작응을 확인하는 것이 통합 테스트입니다.

User interface Test(E2E Test)

E2E(End-to-End) 테스트는 끝과 끝의 테스트라고 이해하면 됩니다. 실제로 사용자가 서비스를 이용했을 때 워크플로우를 테스트하는 것을 의미합니다. 다시 말해 바퀴나 체인과 같은 부분적인 상호작용이 아니라 자전거 핸들을 잡고 패달을 밟아가며 전체적으로 테스트하는 것을 의미합니다.

0개의 댓글