티스토리 뷰

728x90

주요 테스트 용어

  1. 단위 테스트 (Unit Testing):
    • 소프트웨어의 가장 작은 단위인 모듈이나 함수가 올바르게 작동하는지 테스트하는 단계입니다.
    • 개발자가 작성한 코드의 개별 기능을 독립적으로 테스트하여 로직 오류를 사전에 방지합니다.
  2. 통합 테스트 (Integration Testing):
    • 단위 테스트를 통과한 모듈들이 결합되어 함께 올바르게 동작하는지 테스트합니다.
    • 개별 모듈 간의 상호작용에 초점을 맞추어, 데이터 교환이나 모듈 간의 의존성 문제를 검증합니다.
  3. 시스템 테스트 (System Testing):
    • 전체 시스템이 요구 사항에 맞게 통합되어 동작하는지 확인하는 테스트입니다.
    • 모든 하드웨어 및 소프트웨어 구성 요소가 완전히 통합된 상태에서, 기능적/비기능적 요구사항을 충족하는지 확인합니다.
  4. 인수 테스트 (Acceptance Testing):
    • 최종 사용자가 소프트웨어를 실제 환경에서 사용하며, 시스템이 요구 사항을 충족하는지 확인하는 테스트입니다.
    • 사용자의 기대에 맞는지를 확인하는 중요한 단계입니다.
  5. 회귀 테스트 (Regression Testing):
    • 기존 기능에 대해 오류 수정 또는 코드 변경 후 시스템이 여전히 정상적으로 동작하는지 확인하는 반복적인 테스트입니다.
    • 새로운 변경 사항이 기존 코드에 영향을 미치는지 확인하는 것이 목적입니다.
  6. 알파 테스트 (Alpha Testing):
    • 개발자 내부에서 이루어지는 초기 테스트로, 소프트웨어가 최종 사용자에게 배포되기 전에 내부 개발팀이나 테스트팀이 진행합니다.
    • 기능적 오류, 사용성 문제 등을 초기에 발견하고 수정합니다.
  7. 베타 테스트 (Beta Testing):
    • 실제 사용자가 참여하는 테스트로, 알파 테스트 이후 실제 사용 환경에서 소프트웨어를 사용해 보고 피드백을 수집하는 단계입니다.
    • 이를 통해 예기치 않은 문제나 사용성 문제를 발견합니다.
  8. 검증 (Verification):
    • 소프트웨어가 명세서에 정의된 요구사항을 충족하는지 확인하는 과정입니다.
    • 소프트웨어가 제대로 설계되고, 올바르게 구현되었는지 확인하는 과정입니다.
  9. 검증 (Validation):
    • 소프트웨어가 실제 사용자 요구사항에 맞는지 확인하는 과정입니다.
    • 소프트웨어가 사용자의 기대에 부합하는지 확인하여, 실제 환경에서 잘 동작하는지 평가합니다.
  10. 성능 테스트 (Performance Testing):
    • 시스템의 성능을 측정하여, 응답 시간, 처리 속도, 처리 용량 등이 요구 사항을 충족하는지 확인합니다.
    • 대규모 트래픽이나 데이터 처리 시에도 안정적으로 동작하는지를 검증합니다.
  11. 부하 테스트 (Load Testing):
    • 소프트웨어에 최대 부하를 가하여 시스템의 한계를 테스트하는 과정입니다.
    • 사용자 수가 증가했을 때 시스템의 성능 저하 여부를 확인합니다.
  12. 스트레스 테스트 (Stress Testing):
    • 소프트웨어에 비정상적으로 높은 부하를 가해 시스템이 얼마나 안정적으로 동작하는지 테스트합니다.
    • 시스템의 한계점을 넘어서도 정상적으로 동작하거나, 복구 가능한지 확인합니다.
  13. 사용성 테스트 (Usability Testing):
    • 실제 사용자들이 소프트웨어를 사용했을 때 얼마나 쉽게 사용할 수 있는지를 평가하는 테스트입니다.
    • 인터페이스, 사용성, 사용자 경험에 초점을 맞추어 진행합니다.
  14. 침투 테스트 (Penetration Testing):
    • 시스템의 보안 취약점을 찾기 위해 외부 해커처럼 공격을 시도하는 보안 테스트입니다.
    • 시스템의 보안 취약점을 발견하고, 이를 사전에 수정하는 것이 목적입니다.
  15. 화이트 박스 테스트 (White Box Testing):
    • 내부 구조를 완전히 이해한 상태에서 테스트를 진행하는 방식입니다.
    • 코드로직을 분석하여, 코드의 각 경로와 조건이 예상대로 작동하는지 검증합니다.
  16. 블랙 박스 테스트 (Black Box Testing):
    • 내부 구조나 코드를 모르더라도 소프트웨어의 외부 기능만을 기준으로 테스트하는 방법입니다.
    • 입력과 출력의 관계만을 중점적으로 테스트합니다.
  17. 결함 테스트 (Fault Testing):
    • 시스템이 어떻게 결함을 처리하는지 확인하는 테스트입니다.
    • 의도적으로 시스템에 결함을 주어 시스템이 어떻게 대응하는지 테스트합니다.

요약

단위 테스트 개별 모듈 또는 함수가 올바르게 작동하는지 테스트
통합 테스트 여러 모듈이 결합되어 올바르게 동작하는지 테스트
시스템 테스트 전체 시스템이 요구 사항을 만족하는지 테스트
인수 테스트 사용자가 요구사항을 만족하는지 확인하는 테스트
회귀 테스트 코드 변경 후에도 기존 기능이 정상 동작하는지 테스트
알파 테스트 내부 개발팀에서 진행하는 초기 테스트
베타 테스트 실제 사용자가 참여하는 테스트
검증 (Verification) 명세서 요구사항을 충족하는지 확인
검증 (Validation) 사용자 요구사항에 맞는지 확인
성능 테스트 시스템의 성능, 응답 시간 등을 확인하는 테스트
부하 테스트 시스템에 높은 부하를 가하여 성능을 확인하는 테스트
스트레스 테스트 비정상적으로 높은 부하에서 시스템의 안정성 확인
사용성 테스트 시스템의 사용 편의성과 사용자 경험을 확인하는 테스트
침투 테스트 시스템의 보안 취약점을 공격하여 발견하는 테스트
화이트 박스 테스트 코드의 내부 구조를 분석하여 테스트
블랙 박스 테스트 코드의 내부 구조를 알지 않고 기능만으로 테스트

 

728x90