testing - 커버리지 - 자바스크립트 tdd




왜 테스트 주도 개발을 연습해야하며 어떻게 시작해야합니까? (3)

많은 사람들이 코드 작성을 시작하기 전에 코드에 대한 테스트 작성에 대해 이야기합니다. 이 관행은 일반적으로 테스트 중심 개발 또는 TDD라고합니다. 이런 식으로 소프트웨어를 작성하면 어떤 이점이 있습니까? 이 연습을 시작하려면 어떻게해야합니까?


내 의견으로는, 가장 큰 장점은 코드가 예상대로 작동하는지 명확하게 알 수 있다는 것입니다. 이것은 분명해 보일지 모르지만 과거에 알았 듯이 원래 목표를 잃어 버리는 것은 매우 쉽습니다.


많은 장점이 있습니다 :

  • 코드가 작동하는지 즉시 피드백을받을 수 있으므로 버그를 더 빨리 찾을 수 있습니다
  • 테스트가 빨간색에서 녹색으로 진행됨을 확인하면 작업 회귀 테스트와 작업 코드가 모두 있음을 알 수 있습니다
  • 기존 코드를 리팩토링 할 수 있다는 확신을 가지므로 코드가 손상 될 염려없이 코드를 정리할 수 있습니다.
  • 마지막으로 자동화 된 빌드 중에 실행할 수있는 회귀 테스트 세트가 있으므로 코드베이스가 확실하다는 확신을 가질 수 있습니다.

시작하는 가장 좋은 방법은 바로 시작하는 것입니다. Kent Beck의 Test Driven Development에 관한 훌륭한 이 있습니다. 새 코드로 시작하고 이전 코드에 대해 걱정하지 마십시오. 코드를 리팩터링하고 기존 기능에 대한 테스트를 작성한 다음 리팩터링하여 테스트가 녹색으로 유지되도록해야 할 때마다 걱정하지 마십시오. 또한 이 위대한 기사를 읽으십시오.


은혜

  1. 코드를 구획화하는 방법을 알아냅니다.
  2. 코드에서 원하는 것을 정확히 파악하십시오.
  3. 리팩토링으로 인해 문제가 발생하면 어떻게 행동해야하는지 알고
  4. 코드가 항상해야 할 일을 알고 있는지 확인하는 습관을들이십시오.

시작하기

그냥 해. 수행하려는 작업에 대한 테스트 사례를 작성한 다음 테스트를 통과해야하는 코드를 작성하십시오. 테스트를 통과하면 코드가 항상 실패하는 사례를 작성할 수 있습니다 (예 : 2 + 2는 5가 아니어야 함).

모든 테스트가 통과되면 실제 비즈니스 로직을 작성하여 원하는 작업을 수행하십시오.

처음부터 시작하는 경우 사용하기 쉬운 우수한 테스트 스위트를 찾으십시오. 나는 PHP를 좋아하므로 PHPUnit 또는 SimpleTest가 잘 작동합니다. 널리 사용되는 거의 모든 언어에는 테스트를 빌드하고 자동화하는 데 도움이되는 일부 xUnit 테스트 스위트가 있습니다.





tdd