코딩일기/자격증

[정보처리기사] 테스트 케이스(TC), 테스트 슈트, 테스트 시나리오, 테스트 오라클 | 정보처리기사 기출 문제

jhy_2023 2024. 7. 10. 12:27
728x90
반응형

📌 테스트 케이스 (Test Case)

  • 정의: 테스트 케이스는 특정 기능을 검증하기 위해 입력값, 실행 조건, 기대 결과로 구성된 테스트 항목에 대한 명세서입니다.
  • 테스트 데이터 생성 방법:
    • 자료 흐름도(Data Flow Diagram): 시스템의 데이터 흐름을 기반으로 테스트 케이스를 생성합니다.
    • 랜덤 테스트(Random Testing): 임의의 입력값을 사용하여 테스트를 수행합니다.
    • 입력 도메인 분석(Input Domain Analysis): 입력값의 범위를 분석하여 테스트 케이스를 생성합니다.
    • 기능 테스트(Functional Testing): 시스템의 기능 요구 사항에 기반한 테스트 케이스를 생성합니다.
  • 테스트 케이스의 구성 요소
    • 테스트 케이스 ID
      • 각 테스트 케이스를 식별할 수 있는 고유한 ID
      • 예: TC-001, DS-45S-21
    • 테스트 항목 (Test Item)
      • 테스트할 기능 또는 시스템의 특정 부분
      • 예: 로그인, 회원가입, 비밀번호 찾기
    • 사전조건 (Precondition)
      • 테스트 수행 전에 만족해야 하는 조건
      • 예: "사용자가 회원가입을 완료한 상태"
    • 입력 값 (Test Input)
      • 테스트 수행을 위한 입력 데이터
      • 예: "아이디: test11, 비밀번호: qwe@#@!#"
    • 테스트 절차 (Test Procedure)
      • 테스트 수행 순서를 단계별로 명시
      • 예:
        1. 로그인 화면에 접속한다.
        2. 아이디와 비밀번호를 입력한다.
        3. 로그인 버튼을 클릭한다.
    • 기대 결과 (Expected Result)
      • 테스트 수행 후 예상되는 결과
      • 예: "로그인 성공 메시지가 표시된다."
    • 실제 결과 (Actual Result)
      • 테스트 실행 후 실제 나타난 결과
      • 예: "로그인 성공 메시지가 표시됨"
    • 테스트 결과 (Test Result)
      • 기대 결과와 실제 결과 비교 후 성공(Pass) / 실패(Fail) 여부 기록
      • 예: Pass 또는 Fail
    • 비고 (Remarks)
      • 추가적인 설명이나 오류 발생 시 참고할 사항
      • 예: "로그인 실패 시 오류 코드 401 반환됨"

📌 테스트 슈트 (Test Suites)

  • 정의: 테스트 슈트는 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 여러 테스트 케이스의 집합입니다. 특정 테스트 목표를 달성하기 위해 관련된 테스트 케이스를 그룹화한 것입니다. 즉, 테스트 케이스들을 묶은 집합니다.
  • 테스트 슈트는 테스트 케이스를 기능 단위로 묶는 개념, 테스트 시나리오는 테스트 실행의 흐름을 정의하는 개념

📌 테스트 시나리오 (Test Scenario)

  • 정의: 테스트 시나리오는 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합입니다. 테스트가 어떤 순서로 수행되어야 하는지를 명시하며, 전체적인 테스트 흐름을 정의합니다.
  • 테스트 슈트는 테스트 케이스를 기능 단위로 묶는 개념, 테스트 시나리오는 테스트 실행의 흐름을 정의하는 개념

📌 테스트 오라클 (Test Oracle)

  • 정의: 테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 의미합니다.
  • 종류:
    • 참 오라클(True Oracle): 모든 입력값에 적합한 결과를 생성하여, 발생한 오류를 모두 검출. 일반적으로 사용하지 않는다
    • 샘플링 오라클(Sampling Oracle): 임의로 선정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공
    • 휴리스틱 오라클(Heuristic Oracle): 경험적 지식을 기반으로 결과를 판단하는 오라클입니다. 임의의 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 휴리스틱(추정)으로 처리
    • 일관성 검사 오라클(Consistency Check Oracle): 애플리케이션 변경이 있을 때, 수행 전과 후의 결과값이 같은지 확인

2020년 4회 정보처리기사 실기 기출문제

문제

일반, 엄무용, 게임, 오락 등의 일번적인 업무에 사용하는 테스트 오라클로 특정한 몇 개의 입력 값에 대해서만 기대하는 결과를 제공해 주는 오라클을 쓰시오.

정답

샘플링 오라클

해설

샘플링 오라클(Sampling Oracle)은 소프트웨어 테스트에서 사용되는 오라클의 한 유형으로, 특정한 몇 개의 입력 값에 대해서만 기대하는 결과를 명시적으로 제공하는 오라클입니다.
샘플링 오라클은 시스템 전체를 검증하지 않고, 특정 입력 값만 선택적으로 테스트합니다. 예를 들어, 테스트 데이터가 방대하거나 전체를 처리하기 어려울 경우, 일부 대표 값을 통해 결과를 확인합니다.


2021년 3회 정보처리기사 실기 기출문제

문제

다음은 테스트케이스의 구성요소에 대한 설명이다. 괄호 (1),(2),(3) 안에 들어갈 알맞는 답을 각각 쓰시오

정답

1. 테스트 조건
2. 테스트 테이터
3. 예상 결과

해설

테스트 케이스는 소프트웨어의 특정 기능을 검증하기 위해 구성된 문서로, 주요 요소로 테스트 조건, 테스트 데이터, 예상 결과가 포함됩니다.

  1. 테스트 조건(Test Condition): 테스트를 수행하기 위한 사전 상태 또는 환경을 의미합니다. 위 표에서는 로그인 화면이 이에 해당하며, 특정 기능을 테스트하기 위해 필요한 초기 상태를 설정합니다.
  2. 테스트 데이터(Test Data): 테스트 실행을 위해 입력되는 값으로, 위 표에서는 **사용자 아이디(Test11)와 비밀번호(test@#@!# 또는 qwe@#@!#)**가 이에 해당합니다.
  3. 예상 결과(Expected Result): 테스트 실행 후 기대되는 시스템의 반응을 의미하며, 위 표에서는 로그인 성공 또는 로그인 실패가 이에 해당합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형