소프트웨어 테스트 다시 시작하기: 파트 2

발행: (2025년 12월 26일 오후 08:53 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Functional Testing

Functional testing은 애플리케이션이 기대대로 동작하고 각 기능이 올바르게 작동하는지를 검증합니다. 여러 유형으로 나뉩니다.

Smoke Testing

개발자와 QA 팀이 초기 빌드에서 각 릴리즈 후 기본 기능이 안정적인지 확인하기 위해 수행합니다.

Sanity Testing

QA 구성원이 빌드가 안정적이라고 판단될 때 주요 기능이 정상 작동하는지 검증합니다. 새로운 변경 사항이 회귀를 일으키지 않았는지 확인합니다.

Regression Testing

최근 코드 변경이 기존 기능에 부정적인 영향을 미치지 않았는지 보장합니다.

Retesting

새 빌드에서 특정 결함이 실제로 해결되었는지 검증하는 데 초점을 맞춥니다.
예시: 고객 추가, 삭제, 수정 기능을 방해하던 버그를 수정한 후 QA 팀이 최신 빌드에서 해당 작업들을 다시 테스트합니다.

Ad‑hoc Testing

정식 테스트 케이스나 요구사항 없이 수행하는 테스트로, 테스터가 애플리케이션을 무작위로 탐색합니다.
예시: 테스터가 사전 정의된 스크립트 없이 웹‑샵 애플리케이션의 다양한 흐름을 수동으로 확인합니다.

Exploratory Testing

테스터가 전체 애플리케이션을 탐색하면서 가능한 시나리오를 식별하고 문서화한 뒤, 해당 문서를 활용해 체계적인 테스트를 수행합니다.
예시: 온라인 쇼핑 애플리케이션의 모든 사용자 여정을 탐색합니다.

User Interface (UI) Testing

소프트웨어 사용자 인터페이스의 시각 요소와 기본 상호작용을 검증합니다.

End‑to‑End Testing

통합된 모든 모듈을 아우르는 전체 워크플로우를 테스트하며, 데이터 흐름 및 외부 시스템과의 상호작용을 포함합니다.
예시: 전면 브라우징부터 결제, 알림, 관리자 추적까지 전체 구매 과정을 검증하는 전자상거래 모바일 앱 테스트.


Non‑functional Testing

Non‑functional testing은 성능, 보안, 신뢰성, 호환성 등과 같은 속성을 평가하여 소프트웨어가 기대 조건 하에서 잘 동작하도록 보장합니다.

Performance Testing

다양한 부하 상황에서 속도, 응답 시간, 안정성을 평가합니다.

  • Load Testing – 예상 사용자 부하 하에서의 응답을 확인합니다.
  • Stress Testing – 예상 부하를 초과하여 시스템의 한계점을 찾습니다.
  • Volume Testing – 대용량 데이터 처리 능력을 측정합니다.

Security Testing

사용자 데이터가 무단 접근으로부터 보호되고 도난·오용되지 않도록 보장합니다.
예시: 웹‑샵 애플리케이션 로그인 시 자격 증명 검증을 확인합니다.

Recovery Testing

네트워크 장애나 전원 차단 등 실패 후 시스템이 얼마나 빠르게 복구되는지 검증합니다.

Compatibility Testing

소프트웨어가 다양한 브라우저, 디바이스, 운영체제에서 정상 작동하는지 확인합니다.

  • Browsers: Chrome, Edge, Firefox, Safari
  • Devices: Mobile, Laptop, Desktop, Tablet
  • Operating Systems: Android, iOS, Windows, macOS

예시: 웹‑샵 애플리케이션을 여러 브라우저와 디바이스에서 테스트합니다.

Localization & Globalization Testing

시스템이 여러 언어, 통화, 지역별 날짜/시간 형식을 지원하는지 확인합니다.

  • Currency selection: USD, EUR, INR
  • Language translation: English → French
  • Date formats: MM/DD/YYYY (USA) vs. DD/MM/YYYY (UK)
Back to Blog

관련 글

더 보기 »