프로그래밍/개발

백엔드 오답노트 2 Test란?

b1ackhand 2023. 8. 15. 21:09

백엔드에서 진행하는 테스트는 종류가 많다.

유닛테스트, 통합테스트등 

하나씩 알아가 보자.

 

단위테스트란?

- 외부에 의존성이 없는 소프트웨어 단위 테스트

BDD 

- Given

- When

- Then

 

통합테스트란?

- 둘 이상의 시스템요소를 통합한 테스트

 

Mock 테스트와 Stub 테스트의 차이는 무엇일까?

 

우선 각 용어를 알아보자.

Mock : 예상되는 기대값, 미리 프로그래밍 객체

Stub : 테스트 중에 만들어진 호출에 미리 준비된 답변

 

음... 이것만 봐서는 잘 모르겠다.

 

 

큰 차이점만 본다면

Mock 은 Behavior verification 행위검증 : 메소드의 리턴값으로 판단할 수 없는경우, 특정 동작을 잘 수행했는지

Stub 는 State verification 상태검증 : 객체의 상태를 확인후 올바르게 동작했는지

 

또한 행위검증은 의존적이다.

 

결론 : 

상태검증은 실행 후 동작도 잘하고 현재 상태도 맞는지 행위검증은 현재 동작이 잘 진행했는지를 확인하는것 같다.

 

 

참고

https://azderica.github.io/00-test-mock-and-stub/