블로그 글 추가 및 수정 필요
코드를 작성하고 기대하는 결과가 나오는지 테스트
성공 ? 실패?
실패하면 Modify & Fix
제대로 된 소프트웨어를 개발했는가?
소프트웨어를 제대로 개발했는가?
그 상태만 처리하도록 하드 코딩 했는지?
확장성을 고려해서 개발을 했는지?
Why Test
사람이 직접 테스트
Automation Testing
자동화
End to End Tests (비중 10%)
전체적인 Flow (ex.브라우저상 클릭 후 생기는 변화에 대한 검증)
프론트엔드와 백엔드가 결합한 작성한 로직이 정상적으로 동작 하는지?
Integration Tests (비중 20%)
백엔드에서 호출을 하여 제대로 나오는가?(ex.웹페이지 혹은 POSTman을 통한 API호출 시 올바르게 동작하는지 확인)
하나의 기능을 호출 시 (API) 정상적으로 동작 하는지?
Unit Tests (비중 70%)
독립적으로 진행되는 가장 작은 단위의 테스트 (ex.하나의 기능 또는 메소드)
보통 Http 요청을 하지 않고 내부적으로 확인
3-1 End-to-End Tests
Tools - Cypress
3-2 Integration Tests
Tools - Postman
3-3 Unit Tests
3-4 단위 테스트 작성의 필요성
빠른 문제 파악 가능
시간과 비용 절감
리팩토링 시 안정성 확보
코드에 대한 문서로 활용
유닛 테스트가 있다면