테스트 케이스

union·2022년 11월 3일

테스트 케이스란?

테스트 케이스는 소프트웨어 응용 프로그램의 기능을 확인하기 위해 실행되는 작업이다.

테스트 케이스는 특정 변수나 조건이 포함되어 있으며, 테스트 엔지니어는 이를 사용해 예상 결과와 실제 결과를 비교해 요구사항에 따라 작동하는지 여부를 판단할 수 있다.

테스트 시나리오 VS 테스트 케이스
테스트 시나리오는 광범위한 가능성을 포함하지만 테스트 케이스는 매우 구체적이다.

테스트 시나리오 ) 로그인 기능을 확인하라, 

테스트 케이스 1: 유효한 사용자 ID 및 암호 입력 결과 확인
테스트 케이스 2: 잘못된 사용자 ID 및 암호 입력 결과 확인
테스트 케이스 3: 사용자 ID가 Empty & Login 버튼을 눌렀을 시 응답 확인 및 기타 정보

좋은 테스트 케이스를 작성하는 방법

  1. 테스트 케이스는 단순하고 투명해야한다.
    가능한 간단한 테스트 케이스를 만든다. 테스트 케이스의 작성자가 실행하지 않아도 파악할 수 있을 정도로 명확하고 간결해야 한다.

  2. 최종 사용자를 염두에 두고 작성해야한다.
    모든 소프트웨어 프로젝트의 궁극적인 목표는 고객의 요구사항을 충족하고 사용 및 조작이 용이한 테스트 케이스를 만드는 것이다. 따라서 최종 사용자의 관점을 염두에 두고 테스트 케이스를 작성해야한다.

  3. 테스트 케이스의 반복을 피해야한다.

  4. 추측하면 안된다.
    테스트 케이스를 설계하는 동안 응용 프로그램의 기능을 가정하면 안된다.

  5. 테스트 케이스는 식별가능해야 한다.
    결함을 추적하거나 이후 단계에서 소프트웨어 요구 사항을 식별하는 동안 쉽게 식별될 수 있도록 테스트 케이스 ID의 이름을 지정한다.

  6. 반복 가능하고 자립적이어야 한다.
    테스트 케이스는 누가 테스트를 하든 매번 동일한 결과를 생성해야 한다.

  7. 테스트 기법을 이용한다.
    스프트웨어 응용 프로그램에서 가능한 모든 상태를 확인할 수 없다.
    소프트웨어 테스트 기법은 결점을 찾을 수 있는 최대한의 가능성을 가진 몇 가지 테스트 케이스를 선택하는데 도움이 된다.

  • Boundary Vaulue Analysis : 특정 범위의 값에 대한 경계 검사를 정의하는 기술이다.
  • Equivalence Partition : 입력의 결과로 나타날 결과값이 동일한 경우, 하나의 그룹으로 구분해 각 그룹의 대표값 하나를 선택하여 테스트를 실행한다.
  • State Transition Technique : 시스템의 모든 입출력 상태를 식별하고, 도달 가능한 모든 상태의 입력 조건을 포함하는 상태 전이 테이블을 정의한 후, 테스트 케이스를 설계한다.
  • Error Guessing Technique : 오류를 추측/예측하는 방법으로 테스트를 설계하는자의 응용 프로그램에 대한 경험을 활용한다.

0개의 댓글