이 경험에서 무언가를 배우 겠다는 태도를 갖는 데 도움이됩니다. 나는 당신이 확신합니다.
가장 먼저 배워야 할 것은 단위 테스트의 필요성은 당신이 얼마나 경험이 많은지와 관련이 없다는 것입니다 . 최고의 개발자는 최고의 단위 테스터 중 하나가 될 것입니다.
Bill Venners : 책 리팩토링 : "리팩토링하려는 경우 필수 전제 조건은 확실한 테스트를 수행하는 것입니다." 리팩토링하지 말아야 할 테스트가 없다면 의미합니까?
마틴 파울러 : 그물없이 줄타기를 걷는 것으로 생각해야합니다. 줄타기를 잘하는데 그다지 높지 않으면 시도해 볼 수 있습니다. 그러나 당신이 전에 줄타기를 한 번도가 본 적이 없으며 나이아가라 폭포를 넘어 서면 좋은 그물을 원할 것입니다.
에서 http://www.artima.com/intv/refactorP.html
단위 테스트없이 PHP를 작성했습니다. 그런 다음 수년간 Java로 단위 테스트를 수행 한 결과 단위 테스트없이 PHP에서 단일 페이지보다 훨씬 복잡한 작업을 수행 할 수 없다는 것을 알았습니다. 이유? 생산성 . 단위 테스트하지 않고, 나는 확신을 가지고 리팩토링 할 수 없었다 -이 중 하나를 의미 A) 내가 가지고있는 것은 아래 작업 다시 시작 또는 모든 것을 통해 더 많은 눈물 ) B , 내가 못생긴, 레거시 코드를 처리해야 할 것이다.
입찰 할 때 테스트 할 시간을 고려해야합니까? 예 . 더 많은 시간 이 걸리는 것이 직관적 으로 보입니까? 예, 다시 . 다른 답변이 대략적으로 추정 했듯이 단위 테스트가없는 것보다 50-100 % 더 큰 것으로 추정해야 할 것입니다.
하나!...
- 사양 구멍을 미리 파악하여 해결합니다.
- 더 깨끗하고 견고한 사양으로 개발할 것입니다.
- 사양 변경에 신속하고 자신있게 대응할 수 있습니다
- 버그가 줄어 듭니다.
- 버그가 더 빨리 잡히고 쉽게 고쳐질 것입니다
결과적으로 추정치 가 더 정확 해 집니다. 시간당 요금을 청구하면 고객에게 더 많은 감동을주고 요금을 인상 할 수 있습니다. 정액 요금을 부과하면 시간당 더 많은 돈을 벌 수 있습니다.
테스트를하지 않으면 추정치가 문제 일 가능성이 높습니다. 버그, 변경 순서 및 재정의는 모두 정확하게 예측하기에 끔찍합니다. 테스트는 세 가지 모두의 영향을 최소화하는 열쇠입니다!