테스트 종류

 

단위 테스트(Unit Test)

  • 소프트웨어의 각 기능이나 모듈이 의도한 대로 동작하는지를 검증하는 테스트
  • 소프트웨어 변경 시 예상치 못한 부작용을 최소화
  • 코드의 작은 부분(함수, 메서드, 클래스 등)을 개별적으로 검증
  • 빠른 시간 안에 수행할 수 있어 개발 과정에서 가장 많이 사용됨
  • 대표적인 단위 테스트 프레임워크로는 JUnit, pytest, unittest 등이 있음
  • 모든 테스트가 서로 독립적(sateless)

 

통합 테스트(Integration Test)

  • 각 기능이 모두 연결되어 잘 작동하는지를 검증하는 테스트
  • 각 모듈이 단위 테스트에서 검증된 후, 모듈들 간의 상호작용을 검증함
  • 대표적으로 스프링 프레임워크에서 사용되는 스프링 부트 테스트가 있음

 

 

E2E(End-to-End) 테스트

  • 전체 시스템을 대상(DB, 서버, 클라이언트 등)으로 수행하는 테스트
  • 사용자의 관점에서 시스템이 어떻게 동작하는지를 검증
  • 사용자가 시스템을 사용할 때 발생할 수 있는 문제를 대상으로 검증
  • 자동화가 어려우므로 많은 시간과 비용이 소요

 

 

 

통합 테스트와 E2E 테스트 차이

통합 테스트 E2E 테스트
개별 모듈의 동작 확인에 중점 사용자 경험에 초점
모듈 간의 상호작용을 검증 전체 시스템을 대상으로 수행

 

 

 

시스템 테스트(System Test)

  • 전체 시스템의 기능, 성능, 안전성을 검증
  • E2E 테스트를 포괄하는 테스트
  • 시스템이 예상한대로 동작하며 사용자 요구사항을 충족시키는지를 확인함
  • 수행 방식에는 수동 테스트와 자동화된 테스트가 있음

'Python > Django' 카테고리의 다른 글

[DRF] 16. setUpTestData  (0) 2023.04.30
[DRF] 15. setUp, @classmethod, @staticmethod  (0) 2023.04.27
[DRF] 14. 테스트 코드란?  (0) 2023.04.27
[DRF] 13. 개인페이지 (Q객체, F객체)  (0) 2023.04.27
[DRF] 12. 좋아요, 팔로우  (1) 2023.04.26

+ Recent posts