개발자 99% 커뮤니티에서 수다 떨어요!
🗓️ TIL (Today I Learned)
2024.02.08 ~ 2024.02.09
🔖 오늘 읽은 범위
9장. 단위 테스트
🤟 3줄 요약
- 테스트 먼저, 코드 나중에
- 테스트당 하나의 assert와 하나의 개념만 테스트
- F.I.R.S.T. 원칙 준수
👨💻 책에서 기억하고 싶은 내용.
TDD (Test Driven Development) 법칙 세 가지 (p155)
1. 테스트 먼저 작성: 실패하는 단위 테스트를 작성할 때 까지 실제 코드 작성 안함
2. 단위 테스트 작성: 실행이 실패하는 정도로만 단위 테스트 작성
3. 코드 작성: 테스트를 통과하는 데 필요한 최소한의 코드를 작성
깨끗한 테스트 코드 유지하기 (p156)
- 테스트 코드가 지저분할수록 실제 코드로 지저분해진다.
- 테스트는 유연성, 유지보수성, 재사용성을 제공한다.
깨끗한 테스트 코드 (p158)
- 테스트 코드는 최소의 표현으로 많은 것을 나타내야 하기에 명료성, 단순성, 풍부한 표현력이 필요하다.
- 이중성 : 실제 코드만큼 효율적일 필요는 없다.
- 테스트당 하나의 assert와 하나의 하나의 개념만 테스트한다.
F.I.R.S.T (p142)
- F - Fast (빠름)
테스트 코드는 빠르게 실행되어야 한다.
- I - Independent/Isolated (독립적/격리된)
각 테스트 코드는 서로 의존하면 안됨.
다른 테스트 코드의 결과나 상태에 영향을 받거나 영향을 주어서는 안됨
- R - Repeatable (반복 가능)
테스트 코드는 언제 어디서든 동일한 결과를 반환해야 한다.
- S - Self-validating (자체 검증 가능)
테스트는 부울(boool)값으로 결과를 내야 한다.
외부적인 검증 과정 없이 테스트 코드의 성공 또는 실패 여부를 판단할 수 있어야 한다.
- T - Timely (적시에)
테스트 하려는 실제코드를 구현하기 직전에 구현한다.
💭 오늘 읽은 소감은? 떠오르는 생각
- 지금까지 자체 테스트와 QA를 통한 수작업으로 테스트를 해왔는데, 그러다 보니 테스트하는 사람의 버그로 버그 아닌 버그들이 올라오곤 했다.
- 테스트가 잘 작성되어 있다면 수정에 두려움이 없다는 말에 테스트 자동화를 해보고 싶은 마음이 생긴다! 일단, 마음은…
🔗나의 최애 북틸
https://nomadcoders.co/community/thread/9269
궁금한 내용에서 추가적인 정보를 얻을 수 있습니다
https://nomadcoders.co/community/thread/9257
책을 읽으며 비슷한 경험과 생각에 공감합니다.
https://nomadcoders.co/community/thread/9236
필요한 주석에 대해서 잘 정리 해주셨습니다.