55. 행복하려면 - 일정
상상해 봅시다.
외국 어느 SW 회사에 입사.
빵빵한 테스트 케이스.
다운받아 작업 전에 실행해보니 전체 성공.
테스트 케이스로 타 모듈 사용 방법 파악.
기능 추가 후 새 테스트 케이스 추가.
전체 실행하니, 저쪽에서 실패.
직관적으로 원인 깨닫고 보완.
56. 행복하려면 - 일정
현실은
국내 어느 SW 회사에 입사.
테스트 케이스 전무.
다운받아 작업 전에… 실행해 볼것 없고.
빈약한 문서에 코드 보며 타 모듈 파악에 헉헉.
기능 추가 후 동작확인을 눈으로 확인.
3달 후 버그 리포팅.
재현, 분석, 삽질로 처리.
57. 행복하려면 - 일정
비용?
상상 : 테스트 케이스 작성 비용
+ 순간적 버그 픽스 비용(~=0)
현실 : 0
+ 추후 버그 픽스 비용
+ more, more
86. 기타
테스트 케이스는
본 코드의 사용 샘플이다.
코드작성자에게로의
첫 셀프 피드백이다.
87. 기타
테스트 케이스의 효과
- 수정 시의 생산성 향상
- 버그잡기가 빨라진다.
- 시스템 구조가 좋아진다.
- 리펙토링이 가능해 진다.
- 전체 시스템의 이해 없이 부분의 수정이 가능하다.
- 샘플로 활용된다.
- 코드 리뷰 시의 부담이 준다.
- 설계와 구현을 분리할 수 있다.
88. 기타
Kent Beck
“나는 훌륭한 프로그래머는 아니다.
그냥 훌륭한 습관을 가지고 있는
좋은 프로그래머이다.”