테스트코드 [ TIL ]

2023. 7. 12. 18:22TIL&WIL/TIL

 

Problem

 

jest 를 공부하며 테스트코드에 대해 몇가지 궁금증이 생겼다.

 

기준은 단위테스트이다.

 

1. 테스트코드는 보조적인 수단인것 같은데 테스트를 위해 원본 코드의 구현을 고치는게 맞는가?

 

2. api 단위 테스트는 보았던 강의처럼 실제 코드를 먼저 구현하고 테스트코드를 구현하는데 이게 보편화되어 있는 것인가?


Try

 

검색을 해보았지만 원하는 답을 얻기 어려웠다.

그래서 보고있는 강의의 강사분께 질문을 드렸다.

 


Solve

 

개발자가 생각한 비즈니스로직이 정상적으로 동작하는지 확인하기 위해 구현 하는 것

 

이라고 강사님이 말씀하셨고, 테스트 코드를 구현하면서 실제 비즈니스 로직과 괴리감이 들거나, 실제 비즈니스 로직을 수정해야 한다면, 이는 잘못된 개발 방식으로 진행 하고 있을 가능성이 있다고 한다.

 

"테스트 코드를 잘못 작성" 하였거나, "비즈니스 로직이 비정상적" 일 수 있다고 한다.

 

내가 이해한 첫번째 질문에 대한 답은 테스트 코드는 보조적인 수단이 아닌 것 같고 주가되어야 하는 것 같다.

 


두번째 질문에 대해서는 강의에서 api 개발한 후 테스트 코드를 작성하는 방식으로 진행하고 있는데, 이는 계층형 아키텍처를 이용해 아키텍처 패턴을 개선한다면 어떠한 장점이 있는지 보여주기 위해 진행하였다고 한다.

 

이것도 하나의 방법이지만 다른 방법론인 테스트 주도 개발 (TDD) 가 존재한다고한다.

 

 

가볍게 알아보았을 때는 이름 그대로 테스트 주도 개발인데 테스트 코드를 먼저 작성하고 실제 코드를 작성하는 방식인 것 같다.

결과적으로 테스트가 통과된 코드만을 코드 개발 단계에서 실제 코드로 작성한다고 한다.


What I Learned

 

공부하면서 의문을 가지고 있던점을 해결할 수 있었다.

알아보며 다양한 테스트코드의 장점들이 존재했고, 

테스트 주도 개발(TDD) 이라는 키워드를 얻어 알아볼 것이 생겼다.

TDD 와 테스트코드의 장점 등을 추후 따로 정리할 생각이다.

'TIL&WIL > TIL' 카테고리의 다른 글

미들웨어 [ TIL ] [ express ]  (0) 2023.07.16
CORS [ TIL ] [ node.js ]  (0) 2023.07.16
SQL vs NoSQL [ TIL ]  (0) 2023.07.09
ORM [ TIL ]  (0) 2023.07.09
HTTP 상태코드 [ TIL ]  (0) 2023.07.05