소프트웨어 테스트 - 단위 테스트

mjjin·2023년 10월 12일
0

소프트웨어 테스트는 소프트웨어 시스템의 동작을 평가하고, 소프트웨어의 결함을 찾아내며, 예상치 못한 동작을 탐지하기 위해 실행하는 활동.
이를 통해 소프트웨어의 신뢰성, 정확성, 완정성, 안정성 등의 품질 요소를 평가한다.

테스트 유형목적주요 사용 도구수행주체테스트 실행 시점
단위 테스트소프트웨어 코드의 최소 단위인 함수나 메서드를 테스트junit, kotest, mockito, wiremock개발자상시
통합 테스트소프트웨어의 여러 모듈을 결합하여 테스트단위 테스트에서 사용한 도구 + RestAssured, PostMan, IntelliJ HTTP client개발자상시
E2E 테스트소프트웨어의 전체 기능을 테스트Selenium, Playwright개발자 또는 QA 엔지니어개발 후반 단계
QA 테스트소프트웨어의 품질을 보장하기 위해 수행하는 테스트Excel, TestLinkQA 엔지니어배포 전 단계
성능 테스트소프트웨어의 성능을 테스트nGrinder, locust, Jmeter주로 개발자배포 전 단계
아키텍처 테스트시스템의 아키텍처가 올바르게 구현되었는지 테스트ArchUnit아키텍트 또는 개발자개발 초기 단계

단위 테스트

설계된 모듈이 정확히 구현되었는지 확인하고,
하나의 소프트웨어 구성요소나 구성요소의 집합이 요구사항에 맞는지 확인하는 테스팅

장점

  • 코드의 특정 부분을 격리시켜 버그를 식별 및 수정
  • 코드 변경 시 단위 테스트를 실행하여 기존 기능이 올바르게 작동하는지 확인
  • 단위 테스트를 작성하면서 코드의 설계를 개선할 수 있는 기회 제공
  • 개발 중 코드 동작을 확인하기 위한 실행 시간 단축

필요 조건

  • 빠르게 수행되어야 한다.
  • 결정적으로 수행되어야 한다.
    • 외부 컴포넌트에 영향 받지 않아야 함
    • 언제 실행하더라도 같은 결과가 나와야 함.

현업에서는 단위와 통합 사이 중간쯤 위치하는 테스트를 많이 작성한다.


0개의 댓글