순차 분기 반복으로 계속 이루어진다
작성한코드(백엔드API) >> Expected Result >> Test >> 1. Success 2. Failure >> 실패시 처음으로 돌아가 Modify Fix 과정이 반복된다
WaterFall 👉🏻 Real Time Test
단위 테스트의 자동화는 필수 요소이다
단위 테스트는 개발자가 테스트 코드를 작성하여 코드로 코드를 테스트하는 방법으로 작성하기 쉬우며, 언제든지 실행할 수 있고, 실행 속도도 굉장히 빠르기 때문에 100% 자동화가 가능합니다.
또한, 자동화와 더불어 디버깅을 도와준다는 장점이 더해져 소프트웨어를 빌드할 때, 사전에 오류 찾아내어 수정할 수 있습니다. 빌드 전에 단위 테스트를 자동을 수행하는 스크립트를 통해 자동화를 할 수 있으며 이는 빌드 혹은 컴파일 하기 전, 원격 저장소에 코드가 올라가기 전에 검사하여 안정적으로 코드를 관리할 수 있습니다.
디버깅 하기 쉽고 100% 자동화가 가능한 단위 테스트는 시스템 테스트 전략중에 가장 많은 비율을 차지합니다.
머리부터 발끝까지 ~
전체적인 Flow
ex) 브라우저상 클릭 후 생기는 변화에 대한 검증
모듈간의 호환성 검증
ex) 내가 짠 코드가 다른 개발자들이 짠 코드와 잘 융합되는지
ex) 웹페이지 혹은 Postman을 통한 API 호출 시 올바르게 동작하는지 확인
독립적으로 진행되는 가장 작은 단위의 테스트
얼마나 많은 실패케이스를 경험하고 테스트 해보는지가 중요
ex) 하나의 기능 또는 메소드
코드 커버리지 : 테스트가 코드를 얼마나 커버하는지에 대한 정도를 나타내는 지표
- 함수커버리지(%) = 실행된 함수 개수 / 총 함수 개수 * 100
- 구문커버리지(%) = 실행된 구문 수 / 전체 구문 개수 * 100
- 조건커버리지(%) = 각 조건마다 true or false 한번의 개수 / (전체 조건 개수^2) * 100
- 분기 커버리지(%) = 실행된 분기 수 / 총 분기의 개수 * 100