TDD (Test Driven Development)

효딩딩·2022년 10월 25일
0

TDD (Test Driven Development) 은 무엇인가?

  • 테스트 주도 개발(Test-driven development - TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나
  • 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성 후에 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링 하는 총 3가지 절차로 구성된 것

TDD 의 3가지 절차

실패

  • 첫번째 절차는 실패하는 테스트 케이스를 먼저 만드는것
  • 실패하는 테스트 케이스를 만들 때는 프로젝트의 전체 기능에 대하여 처음부터 모든 테스트 케이스를 작성하는 것이 아니라, 지금 가장 먼저 구현할 기능 하나씩 테스트 케이스를 작성함

성공

  • 두번째 절차로는 코드를 작성하여 테스트를 통과시키는 것

리팩토링

  • 세번째 절차로 구현한 코드에 중복되는 코드가 있거나, 혹은 더 개선시킬 방법이 있다면 리팩토링을 진행함
  • 리팩토링을 진행하고 나서도 테스트 케이스가 성공하는지 확인
  • 위 절차가 끝났다면, 다시 첫번째 절차로 돌아가서 다음 기능 구현을 위하여 새로운 실패하는 테스트 케이스를 작성

출처:
https://velog.io/@jkijki12/Java-TDD
https://velog.io/@velopert/TDD%EC%9D%98-%EC%86%8C%EA%B0%9C


(영문 해석)

What is Test Driven Development(TDD)?

  • Test Driven Development (TDD) is software development approach in which test cases are developed to specify and validate what the code will do.
  • In simple terms, test cases for each functionality are created and tested first and if the test fails then the new code is written in order to pass the test and making code simple and bug-free.

Test-Driven Development starts with designing and developing tests for every small functionality of an application. TDD framework instructs developers to write new code only if an automated test has failed. This avoids duplication of code. The TDD full form is Test-driven development.

Why it is important?

A. Requirements - Drive out requirement issues early (more focus on requirements in depth).
B. Rapid Feedback - Many small changes Vs. One significant change.
C. Values Refactoring - Refactor often to lower impact and risk.
D. Design to Test - Testing driving good design practice.
E. Tests as information - Documenting decisions and assumptions.

Source:
https://backend.turing.edu/module1/lessons/test_driven_development?ads_cmpid=6451354298&ads_adid=76255849919&ads_matchtype=&ads_network=g&ads_creative=517671727591&utm_term=&ads_targetid=dsa-19959388920&utm_campaign=&utm_source=adwords&utm_medium=ppc&ttv=2&gclid=CjwKCAjw79iaBhAJEiwAPYwoCNi0gbvrpLupSUh7687Oau8sKoCcjeTmXtpoWVTGgs1R0M4HdzONAxoC2KMQAvD_BwE
https://www.xenonstack.com/blog/test-driven-development
https://www.guru99.com/test-driven-development.html

profile
어제보다 나은 나의 코딩지식

0개의 댓글