자격증/정보처리기사 📌 애플리케이션 테스트 관리 - 테스트 케이스/테스트 시나리오/테스트 오라클
  • 728x90
    반응형

     

    목차

       

      테스트 케이스 (Test Case)

      📌 테스트 케이스는 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서로, 명세 기반 테스트의 설계 산출물에 해당된다.

       

      • 테스트 케이스를 미리 설계하면 테스트 오류를 방지할 수 있고 테스트 수행에 필요한 인력, 시간 등의 낭비를 줄일 수 있다.
      • 테스트 케이스는 테스트 목표와 방법을 설정한 후 작성한다.
      • 테스트 케이스는 시스템 설계 단계에서 작성하는 것이 가장 이상적이다.

       

      💡 명세 기반 테스트 ? 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 구현하고 있는지를 확인하는 것이다.

       

       

      테스트 케이스 작성 순서

      📌 테스트 케이스는 테스트 전략이나 테스트 계획서 등을 기반으로 하여 다음과 같은 순서로 작성된다.

       

      1 테스트 계획 검토 및 자료 확보 - 테스트 계획서를 재검토하여 테스트 대상 범위 및 접근 방법 등을 이해한다.
      - 시스템 요구사항과 기능 명세서를 검토하고 테스트 대상 시스템의 정보를 확보한다.
      2 위험 평가 및 우선순위 결정 결함의 위험 정도에 따른 우선순위를 결정하고, 어느 부분에 초점을 맞춰 테스트 할지를 결정한다.
      3 테스트 요구사항 정의 시스템에 대한 사용자 요구사항이나 테스트 대상을 재검토하고, 테스트 특성, 조건, 기능 등을 분석한다.
      4 테스트 구조 설계 및
      테스트 방법 결정
      - 테스트 케이스의 형식과 분류 방법을 결정한다.
      - 테스트 절차, 장비, 도구, 테스트 문서화 방법을 결정한다.
      5 테스트 케이스 정의 요구사항에 따라 테스트 케이스를 작성하고, 입력 값, 실행 조건, 예상 결과 등을 기술한다.
      6 테스트 케이스 타당성 확인
      및 유지 보수
      - 소프트웨어의 기능 또는 환경 변화에 따라 테스트 케이스를 갱신한다.
      - 테스트 케이스의 유용성을 검토한다.

       

       

      테스트 시나리오 (Test Scenario)

      📌 테스트 시나리오는 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합으로, 테스트 케이스들을 적용하는 구체적인 절차를 명세한 문서이다.

       

      • 테스트 시나리오에는 테스트 순서에 대한 구체적인 절차, 사전 조건, 입력 데이터 등이 설정되어 있다.
      • 테스트 시나리오를 통해 테스트 순서를 미리 정함으로써 테스트 항목을 빠짐없이 수행할 수 있다.

       

      테스트 시나리오 작성 시 유의 사항

      • 테스트 시나리오는 시스템 별, 모듈별, 항목별 등과 같이 여러 개의 시나리오로 분리하여 작성해야 한다.
      • 테스트 시나리오는 사용자의 요구사항과 설계 문서 등을 토대로 작성해야 한다.
      • 각각의 테슽 항목은 식별자 번호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등을 포함해서 작성해야 한다.
      • 테스트 시나리오는 유스케이스(Use Case)간 업무 흐름이 정상적인지를 테스트 할 수 있도록 작성해야 한다.
      • 테스트 시나리오는 개발된 모듈 또는 프로그램 간의 연계가 정상적으로 동작하는지 테스트할 수 있도록 작성해야 한다.

       

      테스트 오라클 (Test Oracle)

      📌 테스트 오라클은 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법 및 활동을 말한다.

       

      • 테스트 오라클은 결과를 판단하기 위해 테스트 케이스에 대한 예상 결과를 계산하거나 확인한다.
      • 테스트 오라클의 특징
        • 제한된 검증 : 테스트 오라클은 모든 테스트 케이스에 적용할 수 없다.
        • 수학적 기법 : 테스트 오라클의 값을 수학적 기법을 이용하여 구할 수 있다.
        • 자동화 가능 ; 테스트 대상 프로그램의 실행, 결과 비교, 커버리지 측정 등을 자동화 할 수 있다.
      • 오라클의 종류에는 참(True) 오라클, 샘플링(Samplig) 오라클, 추정(Heuristic) 오라클, 일관성(Consistent) 검사 오라클 등이 있다.

       

      테스트 오라클의 종류

      📌 참 오라클은 주로 항공기, 은행, 발전소 소프트웨어 등 미션 크리티컬한 업무에 사용되고, 샘플링 오라클과 추정 오라클은 일반적인 업무, 게임, 오락 등에 사용된다.

       

      참(True) 오라클 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하는 오라클로, 발생된 모든 오류를 검출할 수 있다.
      샘플링(Sampling) 오라클 특정한 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클이다.
      추정(Heuristic) 오라클 샘플링 오라클을 개선한 오라클로, 특정 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하고, 나머지 입력 값들에 대해서는 추정으로 처리하는 오라클이다.
      일관성(Consistent) 검사 오라클 애플리케이션의 변경이 있을 때, 테스트 케이스의 수행 전과 후의 결과 값이 동일한지를 확인하는 오라클이다.

       

      💡 기대하는 결과 : 예를 들면, 퇴직금을 계산하는 프로그램에서 근무기간을 5로 넣어 테스트 케이스를 실행하였을 경우 예상되는 퇴직금이 기대 결과가 되는 것이다.

      💡 미션 크리티컬(Mission Critical) : 단 한 번이라도 다운되면 시스템 전체에 치명적인 영향을 주므로 절대 다운되면 않되는 시스템으로 항공기 운행, 은행의 온라인 시스템 등이 해당된다.

       

       

       

       

      728x90
      반응형
    상단으로