수동 QA (품질 보증)테스터 (QA 엔지니어)

긍정적 테스트와 부정적 테스트란 무엇이며, 그 차이점은 무엇인가요? 그리고 두 가지 유형이 중요한 이유는 무엇인가요?

Hintsage AI 어시스턴트로 면접 통과

답변.

질문 배경:

수동 테스트는 원래 시스템의 요구사항과 예상 동작에 해당하는 시나리오만 테스트하는 관습에 기반하고 있었습니다(이른바 "긍정적 시나리오"). 시간이 지나면서 소프트웨어는 종종 예상치 못한 상황이나 잘못된 조건에서 오류가 발생한다는 것이 분명해졌습니다.

문제:

긍정적 시나리오만으로는 어플리케이션의 안정성과 신뢰성을 보장할 수 없습니다. 부정적 시나리오(예: 잘못된 입력, 허용되지 않는 행동)를 테스트하지 않으면 실제 사용자에게 나타날 수 있는 심각한 결함을 놓칠 수 있습니다.

해결책:

두 가지 유형의 테스트를 모두 수행해야 합니다:

  • 긍정적 테스트 — 시스템이 올바른 데이터와 사용자 행동에 따라 요구사항대로 작동하는지 확인합니다.
  • 부정적 테스트 — 잘못된, 비표준, 또는 부정확한 행동과 데이터에 대한 시스템의 안정성과 저항력을 확인합니다.

주요 특징:

  • 하나의 테스트 유형만으로 품질을 보장할 수 없습니다.
  • 부정적 테스트는 일반 사용 시 드물게 발견되는 오류를 찾는 데 도움이 됩니다.
  • 긍정적 테스트 케이스는 요구사항에 기반하고, 부정적 테스트는 그것의 위반에 기반합니다.

함정 질문.

제품이 긍정적 시나리오의 전체 세트를 통과하면 부정적 테스트를 무시할 수 있나요?

아니요. 부정적 시나리오에서 발생하는 오류는 종종 제품의 안전성과 신뢰성에 심각한 영향을 미칩니다.

부정적 테스트는 반드시 프로그램 오류로 이어져야 하나요?

아니요, 잘 설계된 프로그램은 부정적 시나리오에서 잘못된 데이터를 올바르게 처리하고 "다운"되지 않으며 잘못된 결과를 출력하지 않아야 합니다.

시스템의 모든 부분에 대해 긍정적 및 부정적 테스트를 작성하는 것이 동일하게 중요한가요?

아니요, 때때로 중요하지 않거나 이미 안정된 시스템의 부분에 대해 부정적 시나리오의 양을 줄일 수 있지만, 취약하고 중요한 부분에서는 반드시 필요합니다.

일반적인 오류 및 안티 패턴

  • 부정적 시나리오의 완전한 무시.
  • 너무 피상적인 부정적 테스트(예: 잘못된 입력 하나만 확인).
  • 긍정적 테스트와 부정적 테스트의 차이에 대한 이해 부족.

실생활 예

부정적 케이스

회사는 웹사이트 등록 양식을 테스트할 때, 잘못된 값을 고려하지 않고(허용되는 이메일, 비밀번호 등) 오로지 올바른 값만을 검사했습니다.

장점:

  • 빠른 개발 및 테스트.

단점:

  • 출시 후 사용자는 유효하지 않은 이메일로 양식을 제출할 수 있었고, 이는 메일 발송 오류와 부정적인 피드백으로 이어졌습니다.

긍정적 케이스

테스터는 모든 필드에서 허용되지 않는 이메일, 너무 짧거나 긴 비밀번호, 특수 문자의 입력에 대한 테스트를 추가했습니다.

장점:

  • 시스템은 사용자 오류에 강하고, 데이터 구조는 항상 유효합니다.

단점:

  • 부정적 시나리오를 개발하는 데 추가적인 시간이 필요했지만, 이는 운영 중 버그 수 감소로 이어졌습니다.