테스트 코드란?

강연주·2024년 11월 8일

📚 TIL

목록 보기
88/186

테스트 코드

🛸 테스트 코드는 왜 만들까?

⛲ 프론트엔드 단위 테스트 Part.1 이론편

  • TDD(Test Driven Development)

  • 단위 테스트는 특정한 모듈 혹은 단위가 기능을 의도한 대로 올바르게 수행하고 있는지 확인하는 것으로, 테스트 중에서도 가장 기본이고 기저에 깔려 있어야 하는 테스트입니다.

  • Fast: 단위 테스트는 빨라야 한다.
    Isolated: 단위 테스트는 외부 요인에 종속적이지 않고 독립적으로 실행되어야 한다.
    Repeatable: 단위 테스트는 실행할 때마다 같은 결과를 만들어야 한다.
    Self-validating: 단위 테스트는 스스로 테스트를 통과했는지 아닌지 판단할 수 있어야 한다.
    Timely/Thorough – 2가지 해석이 존재

    • Timely: 단위 테스트는 프로덕션 코드가 테스트에 성공하기 전에 구현되어야 한다. TDD에 적합한 해석
    • Thorough: 단위 테스트는 성공적인 흐름뿐만 아니라 가능한 모든 에러나 비정상적인 흐름에 대해서도 대응해야 한다.
  • 테스트 코드에서는 DAMP(Descriptive And Meaningful Phrases)하게 작성하라고 이야기하는 글들이 많습니다. 한글로 풀어보면 서술적이고 의미 있게 작성하라는 이야기인데요.
    DAMP하게 코드를 작성하다 보면 DRY(Don’t Repeat Yourself) 원칙과 충돌할 때도 있습니다. 일반적인 코드라면 DRY 원칙에 따라 중복을 줄이려 노력할 것입니다. 하지만 테스트 코드는 중복이 다소 발생하더라도 직관적이고 명확하게 이해되도록 테스트 코드를 작성하는 쪽에 무게를 두고 작성하는 것이 좋습니다.

    Given-When-Then 구조는 BDD(Behavior Driven Development)의 중심인 사용자 행위를 기반으로 한 테스트 시나리오를 정의할 수 있도록 도와줍니다.

  • Given: 테스트를 하기 위해 세팅하는 주어진 환경
    When: 테스트를 하기 위한 조건으로 프론트엔드에선 사용자와의 상호작용인 경우도 많음
    Then: 예상 결과를 나타내며 의도대로 동작하는지 검증 및 확인할 수 있음

🚃프런트엔드 테스트 코드 시작하기 개념편


엣지케이스, 코너케이스

https://sonim1.com/ko/blog/edgecase-and-cornercase/

profile
아무튼, 개발자

0개의 댓글