코드를 작성하는데 있어서 테스트가 왜 필요하고 테스트를 어떻게 구현하는지에 대해 배웠다.
디버깅은 문제 해결을 위한 방법이며 공학에서 실험에 문제 생겼을때 논리적으로 접근하듯이 코딩에서도 근거를 가지고 접근해 해결하는 과정이라는것을 알게 되었다.
테스트 주도 개발을 실습하기 위해서 코드스테이츠의 실습 과정을 통해 테스트 주도 개발이 무엇인지 조금은 감을 잡았다.
평소 코딩을 하면서 중간 중간 내가 작성한 로직이 잘 돌아가고 있는지 궁금해 console.log
를 통해 중간 중간 확인해 나가면서 코딩을 작성했었다.
테스트 주도 개발을 알게 되면서 내가 console.log
로 로직이 잘 작동하는지 조건은 넘어가는지 확인하는것 또한 테스트의 일종이라는 것을 알게 되었다.
이러한 경우의 수에 하나씩 기대값과 실제값을 비교하는것을 유닛 테스트라고 하는것을 알게 되었고 나는 코딩을 진행나가면서 알게 모르게 작은 단위의 경우의 수를 정해 유닛 테스트를 하고 있었다.
하지만 항상 중간 중간 console.log
를 찍어가면서 코드가 진행이 되는지 확인 할 수 없고 코드의 양과 예외의 경우의 수가 많아지면 많아질 수록 이런 방식의 테스트가 힘들어 지기 때문에 테스트 함수를 만들어 테스트를 효율적으로 할 수 있게 할 수 있는 방식에 대해서 알아 보았다.
TDD는 코드를 작성하기 전에 테스트를 쓰는 방법론이다.
TDD는 테스트를 실행하고 그 후에 버그를 잡는다고 생각하는 것이 조금 더 가까운 말이다.
정교한 테스트를 짜기 위해 코드를 어떻게 구성할지 고민하게 되고 이는 조금 더 좋은 코드를 디자인 할 수 있게 된다.
testbuilder 실습을 진행하면서 한명의 페어를 정해 같이 과제를 해결해 나갔는데 처음으로 둘이서 git을 이용해서 협업을 진행했다.
git의 개념과 어떻게 쓰이는지는 알고 있었지만 실습을 진행나가면서 직접 이용해 보니 git이 정말 유용하다는것을 알게 되었다.
git status ;
git add .
git commit -m ""
git push origin master
git pull origin master
여러가지 git에 대해서도 많이 사용해보고 적용시키면서 시행착오도 많았지만 어느정도는 git의 작동원리와 적용에 대해 활용 할 수 있게 되어 실습이 코딩뿐만아니라 협업에 대해서도 굉장히 큰 도움이 되었다. 앞으로 계속해서 git을 이용하여 일을 진행하고 익숙하게 하고 싶다.
👏👏