테스트 코드에 대한 생각
- 취업 전에 간단하게 책이나 강의에서 작성하라고 하기에 작성해본 경험이 끝이였다.
- 현재 회사에서는 테스트 코드라는 것을 작성하지 않고 UI/UX적으로 계속 테스트를 해본 후 산출물을 작성해서 이 기능이 제대로 동작한다. 라는 것을 증명했다.
- 사실 그래서 기능구현에도 빠듯한 와중에 테스트 코드를 작성할 시간이 남지 않고, 차라리 막 눌러보면서 수동으로 테스트를 해보는게 더 빨라보인다.
- 그래서 사실 왜 공부해야하는가? 의문이 있다. (현재 하고 잇는 사이드 프로젝트에 제대로 도입해보고 싶은 마음?)
- 공부해서 잘 사용해보고 싶은 마음이 있다.!!
테스트 코드를 써야 하는 이유?
- 프로덕션 코드를 배포 -> 제품 출시
- 내가 만든 게 잘 돌아가는지 버그는 없는지 예상한대로 결과가 나오는지 확인해야 한다.
- 수동으로 막 클릭한다. ~ (사람)
- 검증 완료!
항상 코드를 운영하고, 유지보수는 필수다.!
- 새로운 기능을 추가하고,,, 새로운 기능을 추가하고,, 하던 와중에
- 추가하려는 기능이 기존 프로덕션 코드와 겹치는 부분이 발생(기존 코드를 고쳐야 하는 경우)
- 이걸 또 테스트해야한다.
기존에 테스트했던 부분하고 테스트 영역이 겹치게 된다.
- 신규로 추가한 기능을 테스트했지만,
- 기존 코드를 건드렸기 때문에...
- 기존 코드 역시 테스트를 재 수행해야한다.
프로덕션 코드는 점점 더 확장하게 된다.!
- 사람이 테스트한다. 의문점이 생길 수 있다.
- 회사에서 수동으로 웹페이지에서 테스트 시행 시나리오에 따라 여러가지 작업을 수행해본 적이 있었다.
- 계정 여러 개를 가지고 왔다 갔다. 이메일 알림이 제대로 가는지, 알림 메시지의 링크를 클릭하면 홈페이지로 이동하면서 글 내역이 조회된다던지.. 손이 많이 가는 작업이였다.
- 물론 테스트 시나리오 작성하는 것 역시
수동으로 테스트하다 보면 실수가 나오게 된다.
- 나도 실수 했었기 때문에 공감이 많이 된다.
테스트를 통해 얻을 수 있는 점
- 빠른 피드백
- 자동화
- 안정감
테스트코드를 엉망으로 짜놓은다면?
- 프로덕션 코드의 안전성을 제공하기 힘들어진다.
- 테스트 코드 자체가 유지보수하기 어려운, 새로운 짐이 된다.
- 잘못된 검증이 이루어질 가능성이 생긴다.
올바른 테스트 코드를 통해 얻을 수 있는 이점?
- 자동화 테스트로 비교적 빠른 시간 안에 버그를 발견할 수 있고, 수동 테스트에 드는 비용을 크게 절약할 수 있다.
- 소프트웨어의 빠른 변화를 지원한다.
- 팀원들의 집단 지성을 팀 차원의 이익으로 승격시킨다.
- 가까이 보면 느리지만, 멀리 보면 가장 빠르다.
느낀점
- 맡은 파트를 개발하다보면, 다른 분들의 기능 구현 코드는 보지 않을 때가 종종 있다.
- 그러다 보면, 다른 분들의 기능 구현 코드에 대한 이해도가 떨어지게 되는데, 이럴 때 테스트 코드가 존재한다면 그 코드로 손 쉽게 어떤 기능을 개발했는지 파악할 수 있어 좋을 것 같다.
'Spring관련 기술 > 테스트코드' 카테고리의 다른 글
Test Driven Development (0) | 2023.12.11 |
---|---|
테스트하기 어려운 영역을 분리하기 (0) | 2023.12.10 |
테스트 케이스 세분화하기 (0) | 2023.12.10 |
단위 테스트(Unit test) (0) | 2023.12.10 |
CafeKiosk 요구사항 및 수동 테스트 (0) | 2023.12.10 |