현재 진행중인 프로젝트에서는 아직 테스트코드를 작성하지 못했다. 그 이유는, 개발에 익숙하지 못해서 기능개발을 먼저하는 데 집중하기 위해서였다.
그리고 테스트코드로 테스트를 하지 않아도, 다른 방법으로 테스트가 되는데 왜 작성하나?싶은 생각도 들었던 것도 사실이다.

그런데 이번 시간에 테스트코드에 대해 알아보면서 생각이 바뀌었다.

내가 여기서 말하는 테스트코드는 단위테스트 코드이다.

단위테스트
애플리케이션안에 있는 개별적인 코드단위가 예상대로 작동하는 지 확인하는 테스트
즉 내가 만든 메소드가 제대로 작동하는 지 알아보는 작업이다.

테스트코드는 왜 작성해야할까?

1. 테스트하는 시간을 줄일 수 있다
테스트 코드를 작성하지 않았을 때의 테스트 방법은 서버를 동작하고 DB에 알맞은 데이터 값을 넣은다음 메소드를 실행시켜 제대로 작동하는 지 확인하는데,
테스트 코드를 작성했을 때는 테스트코드만 작성하고 실행하면 되기때문에 테스트하는 시간이 줄어든다.

테스트 코드의 장점은?

1. 리팩토링이 쉬워진다

코드를 작성하고나서 리팩토링을 하는 경우에, 코드를 변경하고 테스트를 해 리팩토링전 코드의 결과랑 같은지 확인해 결과에 대한 보장을 해준다

2.코드의 설명서 역할을 해준다

보통 여러사람이 같이 한 프로젝트를 작업하는데, 다른 사람이 작성한 코드를 보고 바로 이해할 수 있으면 좋겠지만, 다른 사람들을 코드만으로 이해시킬 수 없는 상황이 생긴다.
하지만 테스트코드를 작성함으로서 이해되지않는 코드일 경우 테스트코드를 보면 어떤 값이 들어와서 어떤 결과값이 나와야하는지 등 코드에 대한 설명서역할을 해서 다른 사람들이 코드를 쉽게 이해할 수 있도록 도와준다

3.디버깅시간을 줄여줄 수 있다

코드를 다 작성하고 테스트를 하고 실패했을 때 한줄한줄 디버깅을 하면서 어디서 잘못되었는 지 찾아야 해서 시간이 오래 걸리는 반면에 테스트코드를 작성하면 잘못된 부분을 상대적으로 쉽게 찾아낼 수 있다.



테스트코드에 단점은 없을까?

1. 테스트코드 작성하는데 시간이 많이 소요될 수 있다
기능을 개발하는 데 기간이 정해져있는 경우에, 테스트코드도 작성하다보면 시간이 부족해질 수 있고, 테스트코드때문에 기능 개발에 집중하지 못하는 경우가 생길 수 있습니다.

2. 테스트코드를 유지보수하는 비용이 든다
만약, 애플리케이션에 변경사항이 생길 경우에 테스트 코드도 변경해줘야하는 상황이 생길 수 있어서 테스트코드도 유지보수가 필요한 경우가 생겨 비용이 든다.

profile
백엔드 개발자 (ง •̀ω•́)ง✧

0개의 댓글