테스트 케이스 디자인 예제를 사용한 소프트웨어 테스팅 기술
소프트웨어 테스팅 기법이란 무엇입니까?
소프트웨어 테스트 기술은 더 나은 테스트 케이스를 설계하는 데 도움이 됩니다. 철저한 테스트는 불가능하기 때문에 수동 테스트 기술은 테스트 범위를 늘리는 동시에 실행할 테스트 케이스 수를 줄이는 데 도움이 됩니다. 그렇지 않으면 인식하기 어려운 테스트 조건을 식별하는 데 도움이 됩니다.
경계값 분석(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(테스트 중인 애플리케이션)의 상태가 변경됩니다.
- 오류 추측은 코드에서 만연할 수 있는 오류를 추측하는 데 기반을 둔 소프트웨어 테스트 기술입니다.