Why Test?

테스트 == 귀찮아

기능 추가할 시간도 없고 실무에서는 빠른 속도로 개발을 해야 하기 때문에 시간을 할애하기 부족하다. 왜 이런 귀찮은 작업을 해야 할까? 생각이 들기도 할 것이다.

하지만, 그럼에도 불구하고 테스트 코드 작성을 필요하다.

Untitled

a 개발자 어떤 서비스 코드를 작성하고 b 개발자도 그 와 관련 없는 다른 서비스 코드를 작성한다고 가정을 했을 때, 문제가 없다.

각자 다른 코드를 개발하는 것이고 서로 겹치는 부분이 없기 때문에 영향이 없을 것이다.

Untitled

하지만 새로운 개발자 c 가 나타나서 a 개발자와 겹치는 영역의 코드를 개발할 경우 문제가 생길 수 도 있다.

→ 겹치는 영역이 존재하여 c 개발자의 코드 수정으로 a 개발자 코드의 오류로 이어질 수 도 있음

그렇다면 a 개발자와 c 개발자 모두 기존 코드를 주기적으로 점검을 해야 하는데, 이러한 코드가 한 두 개도 아니고 프로젝트 규모가 커질수록 이런 경우가 많아지며 점점 더 확장을 하는 구조이다.

물론, 테스트 인력을 더 추가하면 해결할 수 있겠지만 비용적인 측면에서 부담도 되고, 사람이 하는일 이다 보니까 실수의 가능성도 염두 해야 한다.

Untitled

그래서 테스트 코드를 작성하여 개발 코드에 대한 신뢰성을 부여하고 해당 프로젝트가 확장되면 테스트 코드도 그거에 맞추어 확장시켜야 한다.

테스트 코드가 옳바르게 작성되지 않는다면 어떤 현상이 발생할까?