테스트 케이스 디자인 예제를 사용한 소프트웨어 테스팅 기술

소프트웨어 테스팅 기법이란 무엇입니까?

소프트웨어 테스트 기술은 더 나은 테스트 케이스를 설계하는 데 도움이 됩니다. 철저한 테스트는 불가능하기 때문에 수동 테스트 기술은 테스트 범위를 늘리는 동시에 실행할 테스트 케이스 수를 줄이는 데 도움이 됩니다. 그렇지 않으면 인식하기 어려운 테스트 조건을 식별하는 데 도움이 됩니다.

경계값 분석(BVA)

경계 값 분석은 파티션 간의 경계 테스트를 기반으로 합니다. 여기에는 최대값, 최소값, 경계 내부 또는 외부, 일반 값 및 오류 값이 포함됩니다.

일반적으로 정의된 입력값의 중심보다는 경계부에서 에러가 많이 발생하는 것을 볼 수 있다. BVA라고도 하며 경계 값을 실행하는 테스트 사례를 선택합니다.

이 블랙박스 테스트 기술은 동등성 분할을 보완합니다. 이 소프트웨어 테스트 기술은 시스템이 이러한 특정 값에 대해 잘 작동하면 두 경계 값 사이에 있는 모든 값에 대해 완벽하게 잘 작동한다는 원칙에 기초합니다.

경계값 분석 지침

  • 입력 조건이 x와 y 값 사이로 제한되는 경우 테스트 케이스는 x와 y 값뿐만 아니라 x와 y의 위와 아래에 있는 값으로 설계되어야 합니다.
  • 입력 조건이 많은 수의 값인 경우 최소 및 최대 수를 실행해야 하는 테스트 케이스를 개발해야 합니다. 여기서 최소 및 최대 값 위 및 아래의 값도 테스트합니다.
  • 출력 조건에 지침 1과 2를 적용합니다. 예상되는 최소값과 최대값을 반영하는 출력을 제공합니다. 또한 아래 또는 위의 값을 테스트합니다.

예:

Input condition is valid between 1 to 10

Boundary values 0,1,2 and 9,10,11

동등 클래스 분할

등가 클래스 파티셔닝(Equivalent Class Partitioning)을 사용하면 테스트 조건 세트를 동일하게 간주되는 파티션으로 나눌 수 있습니다. 이 소프트웨어 테스팅 방법은 프로그램의 입력 영역을 테스트 케이스를 설계해야 하는 데이터 클래스로 나눕니다.

이 테스트 케이스 설계 기법의 개념은 각 클래스의 대표 값에 대한 테스트 케이스가 동일한 클래스의 다른 값에 대한 테스트 케이스와 동일하다는 것입니다. 이를 통해 유효하고 유효하지 않은 동등 클래스를 식별할 수 있습니다.

예:

입력 조건은 다음 사이에서 유효합니다.

 1 to 10 and 20 to 30

따라서 XNUMX개의 동등 클래스가 있습니다.

--- to 0 (invalid)
1 to 10 (valid)
11 to 19 (invalid)
20 to 30 (valid)
31 to --- (invalid)

각 클래스에서 값을 선택합니다. 즉,

-2, 3, 15, 25, 45

또한 –에 대해 자세히 알아보세요. 경계값 분석 및 등가 분할 테스트

의사결정 테이블 기반 테스트

의사결정 테이블은 원인-효과 테이블이라고도 합니다. 이 소프트웨어 테스팅 기술은 입력 또는 이벤트의 조합에 응답하는 기능에 사용됩니다. 예를 들어, 사용자가 모든 필수 필드를 입력한 경우 제출 버튼이 활성화되어야 합니다.

첫 번째 작업은 입력 조합에 따라 출력이 달라지는 기능을 식별하는 것입니다. 큰 입력 조합 세트가 있는 경우 이를 의사결정 테이블 관리에 도움이 되는 더 작은 하위 세트로 나눕니다.

모든 기능에 대해 테이블을 만들고 모든 유형의 입력 조합과 해당 출력을 나열해야 합니다. 이는 테스터가 간과한 상태를 식별하는 데 도움이 됩니다.

의사결정표를 만드는 단계는 다음과 같습니다.

  • 입력을 행으로 등록
  • 열에 모든 규칙을 입력하세요.
  • 다양한 입력 조합으로 테이블을 채우세요.
  • 마지막 행에서는 입력 조합에 대한 출력을 기록해 둡니다.

예시: 문의 양식의 제출 버튼은 최종 사용자가 모든 입력을 입력한 경우에만 활성화됩니다.

의사결정 테이블 기반 테스트

상태 전환

상태 전환 기술에서는 입력 조건이 변경되어 AUT(테스트 중인 애플리케이션)의 상태가 변경됩니다. 이 테스트 기술을 통해 테스터는 AUT의 동작을 테스트할 수 있습니다. 테스터는 다양한 입력 조건을 순차적으로 입력하여 이 작업을 수행할 수 있습니다. 상태 전환 기술에서 테스트 팀은 시스템 동작을 평가하기 위해 긍정적인 입력 테스트 값과 부정적인 입력 테스트 값을 제공합니다.

상태 전환 지침:

  • 상태 전환은 테스트 팀이 제한된 입력 값 집합에 대해 애플리케이션을 테스트할 때 사용해야 합니다.
  • 테스트 케이스 디자인 기법은 테스트 팀이 테스트 중인 애플리케이션에서 발생하는 일련의 이벤트를 테스트하려고 할 때 사용해야 합니다.

예:

다음 예에서 사용자가 처음 세 번 시도에서 유효한 비밀번호를 입력하면 사용자는 성공적으로 로그인할 수 있습니다. 사용자가 첫 번째 또는 두 번째 시도에서 잘못된 비밀번호를 입력하면 사용자에게 비밀번호를 다시 입력하라는 메시지가 표시됩니다. 사용자가 비밀번호를 잘못 입력하는 경우 3rd 시간이 지나면 조치가 취해지며 계정이 차단됩니다.

상태 전환 다이어그램

상태 전환 다이어그램

이 다이어그램에서 사용자가 올바른 PIN 번호를 제공하면 액세스 허가 상태로 이동합니다. 다음 표는 위의 다이어그램을 기반으로 작성되었습니다.

상태 전환 테이블

올바른 PIN 잘못된 PIN
S1) 시작 S5 S2
S2) 1st 시도 S5 S3
S3) 2nd 시도 S5 S4
S4) 3rd 시도 S5 S6
S5) 액세스 권한 부여 - -
S6) 계정이 차단되었습니다 - -

위의 표에서 사용자가 올바른 PIN을 입력하면 상태가 액세스 허용으로 전환됩니다. 그리고 사용자가 잘못된 비밀번호를 입력하면 다음 상태로 이동하게 됩니다. 그 사람도 똑같이 한다면 3rd 시간이 지나면 그는 계정 차단 상태에 도달하게 됩니다.

추측 오류

추측 오류 코드에서 만연할 수 있는 오류를 추측하는 데 기반을 둔 소프트웨어 테스트 기술입니다. 이 기술은 테스트 분석가가 자신의 경험을 사용하여 테스트 애플리케이션의 문제가 있는 부분을 추측하는 경험을 기반으로 합니다. 따라서 테스트 분석가는 더 나은 오류 추측을 위해 숙련되고 경험이 있어야 합니다.

이 기술은 가능한 오류 또는 오류가 발생하기 쉬운 상황의 목록을 계산합니다. 그런 다음 테스터는 다음을 작성합니다. 테스트 사례 해당 오류를 노출합니다. 이 소프트웨어 테스팅 기술을 기반으로 테스트 케이스를 설계하기 위해 분석가는 과거 경험을 사용하여 조건을 식별할 수 있습니다.

오류 추측을 위한 지침:

  • 테스트에서는 유사한 애플리케이션을 테스트한 이전 경험을 사용해야 합니다.
  • 테스트 중인 시스템에 대한 이해
  • 일반적인 구현 오류에 대한 지식
  • 이전에 문제가 있었던 부분을 기억하십시오.
  • 과거 데이터 및 테스트 결과 평가

결론

  • 테스트 케이스 설계 기법을 사용하면 더 나은 케이스를 설계할 수 있습니다. 주로 사용되는 기법은 5가지입니다.
  • 경계값 분석은 파티션 간의 경계에서 테스트됩니다.
  • 등가 클래스 파티셔닝(Equivalent Class Partitioning)을 사용하면 테스트 조건 세트를 동일하게 간주되는 파티션으로 나눌 수 있습니다.
  • 의사결정 테이블 소프트웨어 테스팅 기술은 입력 또는 이벤트의 조합에 응답하는 기능에 사용됩니다.
  • 상태 전환 기술에서 입력 조건이 변경되면 AUT(테스트 중인 애플리케이션)의 상태가 변경됩니다.
  • 오류 추측은 코드에서 만연할 수 있는 오류를 추측하는 데 기반을 둔 소프트웨어 테스트 기술입니다.