CS

[CS] 테스트코드 종류 및 장단점

2juhyunju ㅣ 2022. 5. 31. 19:50

종류

단위 테스트

하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트

  • 어디에서 문제가 발생했는지 빨리 확인 할 수 있기 때문에 디버깅 시간을 단축할 수 있다.
  • 테스트에 대한 시간과 비용을 절약 할 수 있다.

통합 테스트

두 개 이상의 모듈이 연결된 상태에서 하는 테스트

  • 모듈 간의 연결에서 발생하는 에러를 검증 가능하다.
  • 단위 테스트보다 더 많은 코드를 테스트 하기 때문에 신뢰성이 상대적으로 떨어질 수 있고 어디에서 문제가 발생했는데 파악하기 어렵다.

E2E(End To End) 테스트

  • 테스트를 사용자 관점에서 테스트하는 방법으로 실제 사용자의 실행 환경과 거의 동일한 환경에서 테스트를 진행한다.
  • 사용자가 직접적으로 사용하는 부분을 점검한다.
  • 사용자의 관점에서 테스트가 가능하다.
  • 일반적으로 웹이나 어플에서 GUI를 통해 테스트를 수행한다.

장점 및 단점

장점

  • 예상 동작과 실제 동작을 빠르고 정확하게 테스트 가능
  • 테스트의 자동화가 가능
  • 서비스가 기능 확장 또는 리팩터링 되더라도 올바르게 작동하는 지 확인할 수 있다.

단점

 

  • 테스트 코드까지 작성해야 하기 때문에 개발 시간이 오래 걸린다.
  • 서비스의 변경 사항을 테스트 코드에도 똑같이 적용해야 하기 때문에 유지보수 하는 비용이 든다.

'CS' 카테고리의 다른 글

[CS] 객체지향 프로그래밍 (OOP)  (0) 2023.12.08
[CS] 캐시/캐싱  (0) 2022.05.25