[TIL] 2020-04-03 (금)

Jay Kim·2020년 4월 4일
0

Today I Learned

목록 보기
3/7

1. 테스트 주도 개발

작은 테스트들을 통해 현재의 코드를 확인하는 방법
유닛 테스트를 돕는 툴 - Test Framework

  • console.log 를 이용한 디버깅 방법에 익숙
  • 배열이나, 객체를 ===를 이용해 비교할 수 없다는 사실을 이해

디버깅: 문제 해결을 위한 방법

"버그를 잡는다"는 의미
예상치 못한 프로그램의 행동들에 원인을 분석하기 위한 기술

공학에서도 마찬가지로, 근거 없는 추측으로 문제를 파악하지 않는다.

이상한 결과가 나왔을 경우?

무엇이 문제인지 알아야 한다. - 단서 확보와 단서에 대한 분석
1) 에러 메시지 확인
2) 몇 번째 줄 오류인지 확인

로직에서 에러가 발생한 경우라면?

  • 문제가 발생했을 것이라고 생각되는 부분을 선정 (가설 선정)
  • 가설이 맞는지 틀린지 실험 (가설 검증) -> console.log

한 번에 여러 개의 가설을 세우지 않는다.
(만일 여러 개를 세우더라도) 서로 독립적인 가설을 세워야 한다.

유용한 테스트 방법

  • 경우의 수를 정리

경우의 수에 대해 하나씩 기대 값과 실제 값 비교

  • 이것을 유닛 테스트라고 부름
  • 이러한 개발 방법론을 테스트 주도 개발(TDD, Test-driven development)이라고 부름

TDD(Test-Driven Development)는 코드를 작성하기 전에 테스트를 쓰는 방법론

예를 들어, 탄탄한 프로그래밍 팀은 테스트를 포함하지 않은 코드에 대한 pull request 요청이 들어왔을 때, 정말 사소한 부분이 아니고서는 merge하기 않는다.

profile
minuzai

0개의 댓글