테스트를 왜 하는가?
1. 결함을 확인할 수 있다.
2. 고객의 불만족에 대한 문제를 사전에 방지할 수 있다.
3. 시간을 절약할 수 있다.
4. 코드에 구조를 개선할 수 있다.
5. 품질 개선이 가능하다.
6. 확장성을 누릴 수 있다.
시스템 테스팅 전략 3가지
1. End-toEnd (E2E) Tests (프론트엔드와 백엔드의 끝 지점을 맞추는 테스트)
ㄴ 너무자주 사용하면 안된다. 가장 마지막 부분에 사용해야 한다.
2. Integration Tests (통합 테스트)
ㄴ 각각의 시스템들이 서로 어떻게 상호작용하고 제대로 작동하는지 테스트하는 것을 의미한다.
ㄴ 통합 테스트는 유닛 테스트와 비슷한데, 큰 차이점이 하나 있다. 유닛 테스트는 다른 컴포넌트들과 독립적인 반면 통합 테스트는 그렇지 않다.
ㄴ 예를 들면 유닛 테스트에서 데이터베이스에 접근하는 코드는 실제 데이터 베이스와 통신하는 것은 아니지만, 통합 테스트는 실제 통신해야 한다.
3. Unit Tests (단위 테스트)
ㄴ 테스트 할 수 있는 가장 작은 단위를 테스트 하는 것을 말한다.
ㄴ 유닛 테스트는 매우 간단하고 명확하여야 한다.