질문 배경:
수동 테스트는 원래 시스템의 요구사항과 예상 동작에 해당하는 시나리오만 테스트하는 관습에 기반하고 있었습니다(이른바 "긍정적 시나리오"). 시간이 지나면서 소프트웨어는 종종 예상치 못한 상황이나 잘못된 조건에서 오류가 발생한다는 것이 분명해졌습니다.
문제:
긍정적 시나리오만으로는 어플리케이션의 안정성과 신뢰성을 보장할 수 없습니다. 부정적 시나리오(예: 잘못된 입력, 허용되지 않는 행동)를 테스트하지 않으면 실제 사용자에게 나타날 수 있는 심각한 결함을 놓칠 수 있습니다.
해결책:
두 가지 유형의 테스트를 모두 수행해야 합니다:
주요 특징:
제품이 긍정적 시나리오의 전체 세트를 통과하면 부정적 테스트를 무시할 수 있나요?
아니요. 부정적 시나리오에서 발생하는 오류는 종종 제품의 안전성과 신뢰성에 심각한 영향을 미칩니다.
부정적 테스트는 반드시 프로그램 오류로 이어져야 하나요?
아니요, 잘 설계된 프로그램은 부정적 시나리오에서 잘못된 데이터를 올바르게 처리하고 "다운"되지 않으며 잘못된 결과를 출력하지 않아야 합니다.
시스템의 모든 부분에 대해 긍정적 및 부정적 테스트를 작성하는 것이 동일하게 중요한가요?
아니요, 때때로 중요하지 않거나 이미 안정된 시스템의 부분에 대해 부정적 시나리오의 양을 줄일 수 있지만, 취약하고 중요한 부분에서는 반드시 필요합니다.
회사는 웹사이트 등록 양식을 테스트할 때, 잘못된 값을 고려하지 않고(허용되는 이메일, 비밀번호 등) 오로지 올바른 값만을 검사했습니다.
장점:
단점:
테스터는 모든 필드에서 허용되지 않는 이메일, 너무 짧거나 긴 비밀번호, 특수 문자의 입력에 대한 테스트를 추가했습니다.
장점:
단점: