오늘 TIL 3줄 요약
- 경계 살피고 익히기 ( 학습 테스트 )
- 깨끗한 테스트 코드 유지하기
- F.I.R.S.T
TIL (Today I Learned) 날짜
2022. 05.07
오늘 읽은 범위
8장 경계 , 9장 단위 테스트
책에서 기억하고 싶은 내용을 써보세요.
- 우리쪽 코드를 작성해 외부 코드를 호출하는 대신 먼저 간단한 테스트 케이스를 작성해 외부 코드를 익히면 어떨까? 이를 학습테스트라 부른다. 학습 테스트에 드는 비용은 없다. 어쨋든 API를 배워야 하므로...., 오히려 필요한 지식만 확보하는 손쉬운 방법이다. 학습 테스트는 공짜 이상이다. 투자하는 노력보다 얻는 성과가 더 크다. 패키지 새 버전이 나온다면 학습 테스트를 돌려 차이가 있는지 확인한다.
- 1) 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 2) 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 3) 현재 실패하는 테스트를 통과할 정도록만 실제 코드를 작성한다.
- 테스트 코드를 깨끗하게 유지하지 않으면 결국은 잃어버린다. 그리고 테스트 케이스가 없으면 실제 코드를 유연하게 만드는 버팀목도 사라진다. 맞다, 제대로 읽었다. 코드에 유연성, 유지보수성, 재사용성을 제고항는 버팀목이 바로 단위 테스트다. 이유는 단순하다. 테스트 케이스가 있으면 변경이 두렵지 않으니까! 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다. 아키텍처가 아무리 유연하더라도, 설계를 아무리 잘 나눴더라도 , 테스트 케이스가 없으면 개발자는 변경을 주저한다. 버그가 숨어들까 두렵기 때문이다.
- F.I.R.S.T 깨끗한 테스트는 다음 다섯 가지 규칙을 따르는데, 각 규칙에서 첫 글자를 따오면 FIRST가 된다. 빠르게 , 독립적으로 , 반복가능하게 , 자가 검증하는, 적시에
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 경계에서는 다른 라이브러리를 사용할 때 보편적으로 생각해던 테스트를 하고 , 적용했던 과정을 테스트 케이스를 사용해서 익히고 추후 버전업이 되더라고 그대로 적용할 수 있다는 사실에 고무되었다.
- 단위테스트는 그동안 익히 많이 들었고 이미 시행도 많이 되고 있다. 일정이 촉박하다거나 아니면 테스트 하기가 힘들어서 , 레거시 코드여서 테스트 케이스가 많이 무식되고는 하는데 일단 써보니 도움이 되는 것 같다. 적용함에 있어서 많은 어려움이 있겠지만 남들이 좋다고 강조하는 것을 나도 적용하여 도움을 받아보자.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
오늘 읽은 다른사람의 TIL