단기 목표 뿌수기/클린코드
[노개북 - 12] 8장. 경계 / 9장. 단위 테스트
전고흐
2022. 3. 6. 22:26
728x90
TIL (Today I Learned)
2022.03.05
오늘 읽은 범위
8장. 경계
9장. 단위 테스트
책에서 기억하고 싶은 내용을 써보세요.
- 학습 테스트를 이용한 학습이 필요하든 그렇지 않든, 실제 코드와 동일한 방식으로 인터페이스를 사용하는 테스트 케이스가 필요하다. 이런 경계 테스트가 있다면 패키지의 새 버전으로 이전하기 쉬워진다. (p.150)
- 테스트 코드를 깨끗하게 유지하지 않으면 결국은 잃어버린다. 그리고 테스트 케이스가 없으면 실제 코드를 유연하게 만드는 버팀목도 사라진다. (p.157)
- 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. 이유는 단순하다. 테스트 케이스가 있으면 변경이 두렵지 않으니까! 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다. (p.157)
- F.I.R.S.T. (p.167)
Fast 빠르게 : 테스트는 빨라야 한다.
Independent 독립적으로 : 각 테스트는 서로 의존하면 안 된다.
Repeatable 반복가능하게 : 테스트는 어떤 환경에서도 반복 가능해야 한다.
Self-Validating 자가검증하는 : 테스트는 bool 값으로 결과를 내야 한다.
Timely 적시에 : 테스트틑 적시에 작성해야 한다. - 테스트 코드는 지속적으로 깨끗하게 관리하자. 표현력을 높이고 간결하게 정리하자. 테스트 API를 구현해 도메인 특화 언어(DSL)를 만들자. 그러면 그만큼 테스트 코드를 짜기가 쉬워진다. (p.168)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- TDD 방법을 알고만 있었지, 테스트 케이스를 먼저 만들고 개발을 진행해 본 경험은 없다. 테스트 케이스가 기능만을 확인하는 것으로 알고 있었는데, 버전 업 등을 위한다면 소프트웨어 운영에 더욱 효율적일 것 같다는 생각을 했다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
728x90