기출문제/정보처리기사
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 → 테스트 환경을 구축하는 보조 도구 (정답)
- 입력 도메인 분석 → 가능한 입력값을 분석해서 테스트 데이터 자동 생성
- 랜덤 테스트 → 무작위 데이터를 생성하여 테스트
- 자료 흐름 분석 → 변수와 데이터 흐름을 분석하여 자동으로 테스트 데이터 생성
😊