what is negative testing
가장 최적의 제품 품질을 갖는 것이 테스트 조직의 주요 목표입니다.
효율적인 품질 보증 프로세스의 도움으로 테스트 팀은 테스트 중 최대 결함 찾기 , 따라서 제품을 소비하는 클라이언트 또는 최종 사용자가 자신의 컴퓨팅 환경에서 작동하는 것과 관련하여 이상을 보지 않도록합니다.
결함을 찾는 것은 테스터의 주요 목표 중 하나이므로 특정 애플리케이션 또는 제품이 예상대로 작동하는지 확인하기 위해 테스트 시나리오를 신중하게 작성하거나 설계해야합니다.
소프트웨어가 의도 한대로 기본 기능을 수행하는지 확인하는 것이 확실히 중요하지만 소프트웨어가 비정상 상황을 정상적으로 처리 할 수 있는지 확인하는 것도 동등하거나 더 중요합니다. 대부분의 결함은 테스터로부터 합리적이고 수용 가능한 창의력으로 그러한 상황을 생성하는 데서 발생한다는 것이 분명합니다.
우리 대부분은 기능 테스트와 같은 여러 유형의 테스트를 이미 알고 있습니다. 온 전성 테스트, 연기 테스트 , 통합 테스트, 회귀 테스트 , 알파 및 베타 테스트 , 접근성 테스트 등입니다.하지만 모든 테스트 카테고리에 동의합니다. 전체 테스트 노력은 기본적으로 양성 테스트 경로와 음성 테스트 경로의 두 가지 범주로 일반화 될 수 있습니다.
다음 섹션으로 진행하여 양성 및 음성 테스트가 무엇인지, 어떻게 다른지 논의하고 애플리케이션을 테스트하는 동안 어떤 종류의 음성 테스트를 수행 할 수 있는지 이해하기위한 몇 가지 예를 설명합니다.
학습 내용 :
양성 테스트와 음성 테스트는 무엇입니까?
긍정적 인 테스트
'해피 경로 테스트'라고도하는 양성 테스트는 일반적으로 테스터가 응용 프로그램에서 수행하는 첫 번째 테스트 형식입니다. 최종 사용자가 자신의 사용을 위해 실행할 테스트 시나리오를 실행하는 프로세스입니다. 따라서 묵시적으로 긍정적 인 테스트는 정확하고 유효한 데이터만으로 테스트 시나리오를 실행하는 것을 의미합니다. 테스트 시나리오에 데이터가 필요하지 않은 경우 양성 테스트를 수행하려면 테스트를 실행해야하는 방식대로 테스트를 실행하여 애플리케이션이 사양을 충족하는지 확인해야합니다.
경우에 따라 최종 사용자에게 더 많은 유연성을 제공하거나 일반적인 제품 일관성을 위해 특정 기능이나 작업을 수행하는 여러 가지 방법이있을 수 있습니다. 이를 대체 경로 테스트라고하며 이는 일종의 양성 테스트이기도합니다. 대체 경로 테스트에서는 요구 사항을 충족하기 위해 테스트가 다시 수행되지만 명백한 경로와 다른 경로를 사용합니다. 테스트 시나리오는 동일한 결과를 얻기 위해 동일한 종류의 데이터를 소비합니다.
아래에 설명 된 매우 일반적인 예를 통해 도식적으로 이해할 수 있습니다.
A는 시작점이고 B는 끝점입니다. A에서 B로가는 두 가지 방법이 있습니다. 루트 1은 일반적으로 이용되는 루트이고 루트 2는 대체 루트입니다. 따라서 이러한 경우 행복한 경로 테스트는 경로 1을 사용하여 A 지점에서 B 지점으로 이동하고 대체 경로 테스트에는 경로 2를 사용하여 A에서 B로 이동하는 것이 포함됩니다. 두 경우의 결과가 동일한 지 확인하십시오.
부정적인 테스트
일반적으로 말하는 음성 테스트 오류 경로 테스트 또는 실패 테스트 일반적으로 응용 프로그램의 안정성을 보장하기 위해 수행됩니다.
월드 오브 워크래프트 개인 서버 목록
네거티브 테스트는 가능한 한 많은 창의성을 적용하고 유효하지 않은 데이터에 대해 애플리케이션을 검증하는 프로세스입니다. 즉, 의도 된 목적은 오류가 예상되는 위치에 사용자에게 표시되는지 확인하거나 잘못된 값을보다 우아하게 처리하는 것입니다.
이해하는 것이 절대적으로 중요합니다 부정적인 테스트가 필요한 이유.
응용 프로그램 또는 소프트웨어의 기능적 안정성은 효과적으로 설계된 부정적인 시나리오로만 정량화 할 수 있습니다. 네거티브 테스트는 전체 제품 소비에 심각한 영향을 미칠 수있는 잠재적 인 결함을 찾아내는 것을 목표로 할뿐만 아니라 애플리케이션이 충돌 할 수있는 조건을 결정하는 데 도움이 될 수 있습니다. 마지막으로 소프트웨어에 충분한 오류 유효성 검사가 있는지 확인합니다.
예:
예를 들어 펜에 대한 부정적인 테스트 케이스를 작성해야한다고 가정 해보십시오. 펜의 기본 동기는 종이에 글씨를 쓸 수있는 것입니다.
DVD를 하드 드라이브에 무료로 복사
부정적인 테스트의 몇 가지 예는 다음과 같습니다.
- 글을 쓸 매체를 종이에서 천이나 벽돌로 바꾸고 여전히 글씨를 써야하는지 확인하십시오.
- 액체에 펜을 넣고 다시 쓰는지 확인하십시오.
- 펜의 리필을 빈 것으로 교체하고 쓰기가 중지되는지 확인하십시오.
양성 및 음성 테스트의 실제 예
몇 가지 정책을 생성하는 UI 마법사의 예를 들어 보겠습니다. 마법사에서 사용자는 한 창에 텍스트 값을 입력하고 다른 창에 숫자 값을 입력해야합니다.
첫 번째 창:
첫 번째에서 사용자는 아래와 같이 정책에 이름을 지정해야합니다.
또한 좋은 긍정 및 부정 시나리오를 설계 할 수 있도록 몇 가지 기본 규칙을 살펴 보겠습니다.
요구 사항 :
- 이름 텍스트 상자는 필수 매개 변수입니다.
- 설명은 필수가 아닙니다.
- 이름 상자에는 a-z 및 A-Z 문자 만 사용할 수 있습니다. 숫자, 특수 문자는 허용되지 않습니다.
- 이름은 최대 10 자까지 가능합니다.
이제이 예에 대한 양성 및 음성 테스트 사례를 설계 해 보겠습니다.
양성 테스트 사례 : 다음은이 특정 창에 대한 몇 가지 긍정적 인 테스트 시나리오입니다.
- ABCDEFGH (문자 제한 내 대문자 유효성 검사)
- 문자 제한 내 abcdefgh 소문자 유효성 검사)
- aabbccddmn (문자 제한 유효성 검사)
- aDBcefz (문자 제한 내에서 소문자 유효성 검사와 결합 된 대문자)
- .. 등등.
부정적인 테스트 케이스 : 다음은이 특정 창에 대한 몇 가지 부정적인 테스트 시나리오입니다.
- ABCDEFGHJKIOOOOOKIsns (10자를 초과하는 이름)
- abcd1234 (숫자 값이있는 이름)
- 제공된 이름 없음
- sndddwwww_ (특수 문자를 포함하는 이름)
- .. 등등.
두 번째 창:
두 번째 창에서 사용자는 아래와 같이 숫자 값만 입력해야합니다.
여기에서도 몇 가지 기본 규칙을 설정하겠습니다.
요구 사항 :
- ID는 1-250 사이의 숫자 여야합니다.
- ID는 필수입니다.
따라서 다음은이 특정 창에 대한 몇 가지 긍정적이고 부정적인 테스트 시나리오입니다.
긍정적 인 테스트 시나리오 : 다음은이 특정 창에 대한 몇 가지 긍정적 인 테스트 시나리오입니다.
- 12 (지정된 범위 사이의 유효한 값 입력)
- 1,250 (지정된 범위의 경계 값 입력)
부정적인 테스트 시나리오 : 다음은이 특정 창에 대한 몇 가지 부정적인 테스트 시나리오입니다.
- Ab (숫자 대신 텍스트 입력)
- 0, 252 (경계 값 입력)
- Null 입력
- -2 (범위 외 값 입력)
- +56 (특수 문자로 시작하는 유효한 값 입력)
양성 및 음성 테스트 작성에 도움이되는 기본 요소
위의 예를 자세히 살펴보면 긍정적 인 시나리오와 부정적인 시나리오가 여러 개있을 수 있음을 알 수 있습니다. 그러나 효과적인 테스트는 긍정적이고 부정적인 시나리오의 끝없는 목록을 최적화하는 방식으로 충분한 테스트 달성 .
또한이 두 경우 모두 시나리오가 고 안되는 방법에 대한 공통 패턴을 볼 수 있습니다. 위의 두 경우 모두 충분한 양의 양성 및 음성 테스트 사례를 설계하기위한 기초를 형성하는 두 가지 기본 매개 변수 또는 기술이 있습니다.
두 가지 매개 변수는 다음과 같습니다.
경계 값 분석 :
이름 자체에서 알 수 있듯이 경계는 무언가에 대한 한계를 나타냅니다. 따라서 여기에는 경계 값에만 초점을 맞추고 응용 프로그램의 작동 방식을 검증하는 테스트 시나리오 설계가 포함됩니다. 따라서 입력이 경계 값 내에서 제공되면 양성 테스트로 간주되고 경계 값을 초과하는 입력은 음성 테스트의 일부로 간주됩니다.
예를 들면, 특정 응용 프로그램이 0 – 255 범위의 VLAN ID를 허용하는 경우 여기에서 0, 255가 경계 값을 형성합니다. 0 미만 또는 255를 초과하는 입력은 유효하지 않은 것으로 간주되어 부정적인 테스트로 간주됩니다.
등가 분할 :
등가 분할에서 테스트 데이터는 다양한 분할로 분리됩니다. 이러한 파티션을 등가 데이터 클래스라고합니다. 각 파티션의 다양한 입력 데이터 (데이터는 조건 일 수 있음)가 동일한 방식으로 작동한다고 가정합니다. 따라서 하나가 작동하는 것처럼 각 파티션에서 하나의 특정 조건 또는 상황 만 테스트하면 해당 파티션의 다른 모든 조건이 작동하는 것으로 간주됩니다. 마찬가지로 파티션의 한 조건이 작동하지 않으면 다른 조건이 작동하지 않습니다.
따라서 파티션에있는 유효한 데이터 클래스는 양성 테스트로 구성되고 잘못된 데이터 클래스는 음성 테스트로 구성된다는 것이 매우 분명합니다.
위의 동일한 VLAN 예에서 값은 두 개의 파티션으로 나눌 수 있습니다.
기본 게이트웨이를 사용할 수 없음 수정 Windows 10
따라서 여기에있는 두 개의 파티션은 다음과 같습니다.
- 한 파티션의 값 -255에서 -1
- 다른 파티션의 값 0 ~ 255
결론
나는 사람들이 음성 테스트가 양성 테스트를 입증한다는 사실을 믿기보다는 다소 양성 테스트의 중복이라고 믿는 상황에 직면했습니다. 이 질문에 대한 나의 입장은 항상 테스터로서 일관되었습니다. 높은 표준과 품질을 이해하고 노력하는 사람들은 의심 할 여지없이 품질 프로세스에서 필수로 부정적인 테스트를 시행 할 것입니다.
양성 테스트는 비즈니스 사용 사례의 유효성을 확인하는 반면 음성 테스트는 제공된 소프트웨어에 고객의 사용을 방해 할 수있는 결함이 없음을 확인합니다.
정확하고 강력한 네거티브 테스트 시나리오를 설계하려면 테스터의 창의성, 예지력, 기술 및 지능이 필요합니다. 이러한 기술의 대부분은 경험을 통해 습득 할 수 있으므로 거기에 머무르면서 전체 잠재력을 반복해서 평가하십시오!
저자 정보 : 이것은 Sneha Nadig의 게스트 기사입니다. 그녀는 수동 및 자동화 테스트 프로젝트에서 7 년 이상의 경험을 가진 테스트 리드로 일하고 있습니다.
부정적인 테스트에 대한 귀하의 생각과 경험을 알려주십시오.
추천 도서
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 시험 입문서 eBook 다운로드
- 소프트웨어 테스트 주간 상태 보고서 작성 방법
- 데스크톱, 클라이언트 서버 테스트 및 웹 테스트의 차이점
- HP LoadRunner 자습서를 사용한 부하 테스트
- 웹 애플리케이션 보안 테스트 가이드
- 응용 프로그램 테스트 – 소프트웨어 테스트의 기초로!
- 장치에 애플리케이션 설치 및 Eclipse에서 테스트 시작