12. 자동화 된 테스트가 없다면?
자체 버그 검출 능력 저하
- 모든 기능을 테스트 하기 어려움
소스 코드의 품질 저하
- 어디서 버그가 생길지 모르기 때문에 잘못
된 코드도 고치지 않으려 하는 현상
자체 테스트 비용의 증가
- 작은 수정에도 모든 기능을 다시 테스트 해
야 되는 문제
23. TDD의 장점
높은 소스코드 품질
- MS와 IBM사의 조사 결과
TDD 약 15~35% 정도의 개발시간 증가 결
함율(버그)은 약 40~90% 정도 줄어듬
- http://research.microsoft.com/en-us/
groups/ese/nagappan_tdd.pdf
재설계 시간의 절감
손쉬운 테스트 근거 산출 및 문서화 (test
coverage, performance)
디버깅 시간의 절감
29. 패턴 문화
Test Automation /TDD
AOP
Repository Pattern
MVC, MVP, MVVM
Dependency Injection
SOLID, DRY, KISS
ORM - Entity
Agile – XP/Scrum
CI
Pair programing
Git – code review
BDD/DDD
Daily Standup
User Story & Estimation
30. 결과 중심적 개발 프로세스
Project Manager
Software Engineer
Tester
요구사항
결과물
개발
31. 품질 중심적 개발 프로세스
① 요구사항
Project Manager
② 분석/설계 전달
Architect /
Lead developer
개발
Software Engineers
결과물
③ 코드리뷰 요청
(pull request)
Architect /
Lead developer
Tester
테스트 요청
결과물
피드백
코드 리뷰