기출문제/정보처리기사

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

엉클지니 2025. 3. 14. 14:00

39. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?

  스터브(Stub)와 드라이버(Driver)        입력 도메인 분석

 랜덤(Random) 테스트                        자료 흐름도

 

문제 분석: 테스트 케이스 자동 생성 방법이 아닌 것은?

테스트 케이스 자동 생성 도구는 프로그램의 오류를 찾아내기 위해 다양한 입력 값을 생성하는 도구입니다.
이 문제는 자동으로 테스트 데이터를 만들어 내는 방법 중 관련이 없는 것을 찾는 문제입니다.


각 선택지 분석

① 스터브(Stub)와 드라이버(Driver) ❌ [정답]

  • 테스트 케이스 자동 생성 방법과 관련 없음
  • Stub(스터브)와 Driver(드라이버)는 테스트 수행을 위한 보조 도구이지, 직접적인 테스트 케이스 자동 생성 방식이 아닙니다.
  • Stub(스터브): 하위 모듈이 아직 구현되지 않았을 때 임시로 만들어서 테스트하는 가짜 코드
  • Driver(드라이버): 상위 모듈이 아직 없을 때, 하위 모듈을 실행하기 위해 만든 임시 코드
  • 즉, 테스트 환경을 구축하는 역할이지, 테스트 데이터를 자동으로 생성하는 것은 아닙니다.

② 입력 도메인 분석 ✅ (테스트 데이터 자동 생성 방법)

  • 프로그램이 받을 수 있는 모든 입력 값의 범위(입력 도메인) 를 분석하여 테스트 데이터를 생성하는 기법
  • 예를 들어, 회원가입 폼에서 나이를 입력할 때
    • 가능한 입력값: 0~120
    • 불가능한 값: -1, 150, "abc" 같은 잘못된 입력
  • 자동 생성 도구가 이런 입력 값을 분석해서 테스트 데이터로 사용할 수 있음

③ 랜덤(Random) 테스트 ✅ (테스트 데이터 자동 생성 방법)

  • 무작위로 생성된 입력 값을 사용하여 테스트하는 방법
  • 예를 들어,
    • 숫자를 입력해야 하는 곳에 무작위 숫자 입력
    • 문자열을 입력해야 하는 곳에 랜덤한 문자열 입력
  • 버그를 찾아내는 데 효과적이며, 특히 보안 취약점을 찾는 데 유용함

④ 자료 흐름도 ✅ (테스트 데이터 자동 생성 방법)

  • 프로그램의 변수와 데이터의 흐름을 분석하여 테스트 데이터를 자동 생성하는 방법
  • 예를 들어, 변수 A가 B에 영향을 주고, B가 C에 영향을 준다면
    • 이 흐름을 분석해서 적절한 입력 값을 자동으로 찾아 테스트 데이터를 생성

예시로 이해하기

예제: 회원가입 기능 테스트
사용자가 이름, 이메일, 나이, 비밀번호를 입력하는 회원가입 시스템이 있다고 가정하겠습니다.

테스트 방식 설명 예제

입력 도메인 분석 가능한 모든 입력값을 분석하여 유효한 값과 유효하지 않은 값을 자동으로 생성 나이: -1, 0, 20, 150 (범위 초과 테스트)
랜덤 테스트 무작위 값을 입력하여 예상치 못한 오류를 찾아냄 이메일: "xyz@123", "test@", "!@#$" (형식 오류 찾기)
자료 흐름 분석 프로그램의 변수와 흐름을 분석하여 테스트 데이터 자동 생성 비밀번호를 입력할 때 길이 제한(8~20자)을 넘는 경우 자동 검출
Stub & Driver 테스트 환경을 구축하는 도구로, 테스트 데이터 자동 생성과 무관 회원가입 API가 없을 때 임시로 가짜 API를 만들어 연결

결론 및 정답

  • 자동으로 테스트 데이터를 만들어 내는 방법이 아닌 것을 찾는 문제
  • Stub과 Driver는 테스트 환경을 만들기 위한 도구이지, 테스트 데이터를 자동 생성하는 방법이 아님
  • 따라서 정답은 ① 스터브(Stub)와 드라이버(Driver)

💡 요약

  • Stub & Driver → 테스트 환경을 구축하는 보조 도구 (정답)
  • 입력 도메인 분석 → 가능한 입력값을 분석해서 테스트 데이터 자동 생성
  • 랜덤 테스트 → 무작위 데이터를 생성하여 테스트
  • 자료 흐름 분석 → 변수와 데이터 흐름을 분석하여 자동으로 테스트 데이터 생성

 😊