Skip to content

테스트 종류 ​

유닛 테스트 ​

유닛 테스트는 코드의 특정 모듈이 의도된 대로 정확히 동작하는지 검증하는 방법입니다. 모든 함수와 메서드에 대한 테스트 케이스를 작성하게 됩니다.

이상적으로 각 테스트 케이스는 서로 분리되어야 하며, 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 빠른 시간 내에 문제를 파악하고 해결할 수 있도록 도와줍니다. 이를 위해서 Mock Object를 생성하는 것도 좋은 방법입니다.

유닛 테스트는 개발자뿐만 아니라 테스터에 의해서 수행되기도 하고, 테스터가 유닛 테스트를 작성하면 개발자가 맞춰서 개발하는 사례도 있습니다.

정적 테스트 ​

정적 테스트는 소프트웨어 실행 없이 소프트웨어를 분석하는 것을 의미합니다. eslint, prettier, 오픈 소스 라이센스 검증, 테스트 커버리지 측정 등이 정적 테스트에 해당됩니다.

통합 테스트 ​

통합 테스트는 유닛 테스트보다 좀 더 큰 단위로 구성된 테스트입니다. 구체적으로는 클라이언트, 서버, DB 등과 같이 모든 시스템들을 완전히 통합해서 구축된 상태에서 모두 검사하는 것입니다.

통합 테스트에서는 통합된 각 모듈들이 원래 계획했던 대로 작동하는지, 시스템의 실제 동작과 원래 의도했던 요구사항과는 차이가 없는지 등을 판단하게 됩니다. 수행 시간, 파일 저장 및 처리 능력, 최대 부하, 복구 및 재시동 능력, 수작업 절차 등을 점검합니다. 시스템의 내부적인 구현 방식이나 설계에 대한 지식에 관계없이 테스트를 수행하는 블랙박스 테스트의 일종으로 분류된다.

회귀 테스트 ​

버그를 찾는 모든 테스트 방식은 회귀 테스트라고 할 수 있는 데, 회귀 테스트는 해결한 버그/이슈가 재현되는지 검사하는 방법이다.