본문 바로가기
웹개발 · IT 지식

[웹개발] 드림코딩 노트정리: Test와 TDD

by 메이플 🍁 2022. 11. 27.

⚠️ 이 포스팅은 드림코딩을 공부하고 정리한 블로그 포스팅입니다. ⚠️

 

포스팅에 해당하는 목차는 다음과 같습니다:

 


 

테스트(Test)란?

개발에서 테스트란 제품이 예상하는 대로 동작하는지 확인제품의 품질을 검증하는 과정으로 소프트웨어의 버그를 찾아내는 것을 말한다. 여기서 제품이란 함수, 특정 기능, UI, 성능, API 스펙등이 될 수 있다.

 

테스트의 종류

제품의 목표, 플랫폼, 환경이 무엇이냐에 따라서 다양한 테스트가 있다.

  • Unit Test
  • Functional Test
  • Integration Test
  • Component Test
  • Contract Test
  • E2E Test
  • Performance Test

 

테스트 과정

  1. 비즈니스 로직을 가지고 있는 코드 작성
  2. 그에 해당하는 테스트 코드도 함께 작성
  3. 테스트 코드는 비즈니스 로직을 가진 코드가 예상대로 동작하는지 검증해줌
    (함수가 어떻게 동작해야하는지, 특정한 기능이 어떻게 동작해야하는지 등)
  4. 테스트 실패하면 1번부터 반복

 

TDD(Test-Driven Development)란?

테스트 주도 개발개발전 테스트 코드를 먼저 작성하는 개발 방법론을 말한다.

 

TDD 방법으로 개발하기

테스트 작성 → 기능 구현 성공   반복  기능 구현 완료, 테스트 통과  리팩토링

특정 기능을 세분화해 딱 하나의 케이스에 대한 테스트 코드를 작성한 후 테스트를 통과할 수 있을만큼만 기능 구현한다.

 

TDD(테스트 주도 개발)의 장점

  1. 요구사항에 대한 분석 및 이해가 필요하기 때문에 제품이 원하는 모든 요구사항을 점검 할 수 있음
  2. 설계자의 관점에서 코드를 작성해나갈수 있음
  3. 사용자 입장에서 코드를 작성할 수 있음
  4. 구현보다는 인터페이스에 더 집중해서 코드를 작성할 수 있으므로 코드의 퀄리티와 시스템 전반적인 설계가 향상됨

댓글