[백엔드 로드맵] Testing & CI/CD

Gyubster·2022년 2월 12일
0

백엔드 로드맵

목록 보기
7/11

Testing과 CI/CD에 대해서 알아보자.


Testing

: 작성한 코드에 문제가 없는지 확인하기 위해서 개발자들은 테스트를 진행하게 된다. 다만, 각 상황에 맞게 테스트가 진행되야되기 때문에 Unit Tests, Integration Tests, Functional Tests로 나눠져 진행된다.

이미지 출처: https://corgibytes.com/blog/2016/03/28/pyramid-of-tests/

Unit Test: 함수 하나하나와 같이 코드의 작은 부분을 테스트하는 것을 의미한다. Unit test는 매우 간단하고 명확해야한다. 테스트 입력값과 그에 대한 출력값이 정확한지 아닌지 판단 할 수 있어야한다. Test-Driven Development의 경우, 반드시 Unit Test를 작성해야한다.

Integration Test: 설정한 동작을 담당하는 함수와 데이터베이스 간과 같이 서로 다른 시스템이 상호작용을 잘하는지 테스트하는 것을 의미한다. Integration Test는 Unit Test에 비해 설정하기 까다롭고 시간이 오래걸린다.

Functional Test: 사용자와 어플리케이션간의 상호작용이 잘 일어나는지 테스트하는 것을 의미한다.

CI/CD

: CI/CD는 Continous Integration/Continuos Development를 의미한다. CI는 빌드 및 테스트 과정을 의미한다. CI를 성공적으로 구현할 경우, 새로운 코드가 작성될때 마다 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되기 때문에 여러 개발자들이 동시에 개발을 진행해도 충돌과 같은 문제를 안일으킵니다. CD는 배포 자동화 과정을 의미한다. CD는 Continuous Integration, Continuous Delivery, Continuous Deployment를 통해서 이뤄진다.
이러한 CI/CD에는 Travis와 Jenkins가 있다.

profile
공부하는 예비 개발자

0개의 댓글