20년 1회
애플리케이션 성능이란 사용자가 요구한 기능을 최소한의 자원을 사용하여 최대한 많은 기능을 신고하게 처리하는 정도를 나타낸다. 애플리케이션 성능 측정의 지표에 대한 다음 설명에서 괄호에 들어갈 알맞은 용어르 쓰시오.
(가) : 일정한 시간 내에 애플리케이션이 처리하는 일의 양을 의미한다
(나) : 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간을 의미한다
(다) : 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간을 의미한다
자원 활용률 : 애플리케이션이 의뢰한 작업ㅇ르 처리하는 동안의 CPU, 메모리, 네트워크 등의 자원 사용률을 의미한다
정답: (가) 처리량 (나) 응답시간 (다) 경과시간
해설
| 성능 지표 | 설명 |
|---|---|
| 처리량 | 주어진 시간 내에 처리할 수 있는 작업의 수를 나타냄. |
| 응답 시간 | 사용자가 요청한 후 결과가 돌아오기까지 걸리는 시간. |
| 경과 시간 | 요청이 시작된 시점부터 결과가 반환되기까지의 전체 시간. |
| 자원 사용률 | CPU, 메모리, 네트워크 등 자원의 사용 정도를 나타냄. |
| 성능 병목 | 시스템 성능이 저하되는 지점을 의미하며, 성능 개선의 대상. |
20년 1회
애플리케이션 테스트에서 사용되는 살충제 패러독스의 개념을 간략히 설명하시오
정답: 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상
20년 2회
애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용하는 테스트를 쓰시오
정답: 정적 테스트
| 테스트 종류 | 정의 | 특징 |
|---|---|---|
| 정적 테스트 | 소스 코드나 문서 등 실행하지 않고 검토하는 테스트. | - 코드 리뷰, 정적 분석 도구 사용 - 오류 조기 발견 가능 - 비용 효율적 |
| 동적 테스트 | 실행 가능한 프로그램을 실제로 실행하여 동작을 검증하는 테스트. | - 테스트 케이스 실행 필요 - 성능, 기능, 안정성 검증 - 실행 환경 필요 |
20년 3회
다음은 화이트박스 테스트의 프로그램 제어흐름이다. 다음의 순서도를 참고하여 분기 커버리지로 구성할 테스트 케이스를 작성하시오.

정답
( 1 )->( 2 )->( 3 )->( 4 )->( 5 )->( 6 )->( 7 ) 또는
(1 )->( 2 )->( 4 )->( 5 )->( 6 )->( 1 )
20년 3회
소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트로, 동치 클래스 분해 및 경계값 분석을 이용하는 테스트 기법을 쓰시오.
정답: 블랙박스 테스트
| 테스트 종류 | 설명 |
|---|---|
| 동치 클래스 분할 (Equivalence Partition) | 입력 데이터를 동치 클래스(유사한 그룹)으로 나누어 테스트. |
| 경계 값 분석 (Boundary Value Analysis) | 입력 값의 경계에서 오류 발생 가능성을 고려하여 테스트. |
| 조건 검증 (Condition Test) | 프로그램의 조건문에 따른 결과를 검증. |
| 원인-결과 그래프 (Cause-Effect Graph) | 원인과 결과의 관계를 그래프로 나타내어 테스트 케이스를 도출. |
| 오류 추측 (Error Guess) | 경험을 바탕으로 오류가 발생할 가능성이 높은 경우를 예측하여 테스트. |
| 비교 테스트 (Comparison Test) | 두 개 이상의 시스템이나 결과를 비교하여 올바른 동작 여부를 검증. |
| 기본 경로 테스트 (Base Path Test) | 프로그램의 기본 경로를 따라 테스트하여 주요 기능을 검증. |
| 루프 테스트 (Loop Test) | 반복문이 올바르게 작동하는지 검증. |
| 데이터 흐름 테스트 (Data Flow Test) | 데이터의 흐름을 분석하여 변수의 사용과 정의를 검증. |
20년 4회
특정한 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클로, 전수테스트가 불가능한 경우 사용하고 경계값 및 구간별 예상값 결과 작성시 사용하는 오라클을 쓰시오.
정답: 샘플링 오라클
해설
| 오라클 종류 | 설명 |
|---|---|
| 참(True) 오라클 | 모든 입력값에 적합한 결과를 생성하며, 발생한 오류를 모두 검출할 수 있는 오라클. 주로 항공기, 임베디드, 발전소 소프트웨어 등에 적용. |
| 일관성(Consistent) 검사 오라클 | 애플리케이션 변경 시, 수행 전과 후의 결과값이 동일한지 확인하는 오라클. |
| 샘플링(Sampling) 오라클 | 임의로 선정한 몇 개의 입력값에 대해 기대하는 결과를 제공. 일반, 업무용, 게임, 오락 등의 일반적인 업무에 적용. |
| 휴리스틱(Heuristic) 오라클 | 샘플링 오라클을 개선한 형태로, 임의의 입력값에 대해 올바른 결과를 제공하고, 나머지 값들은 휴리스틱(추정)으로 처리하는 오라클. |
20년 4회
테스트 기법중 다음과 같이 평가 점수표를 미리 정해 놓은 후 각 영역에 해당하는 입력값을 넣고 예상되는 출력값이 나오는지 실제 값고 비교하는 명세 기반 테스트 기법을 쓰시오.
정답: 동치 분할 검사
21년 1회
애플리케이션 테스트에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.
(가)은 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용한 검사 기법이고,
(나)는 입력 조건이 유효한 경우와 그렇지 않은 경우의 입력 자료의 개수를 균등하게 정하는 검사 기법이다. 예를 들어 0<=x<=10과 같은 조건이 있을 때, (1)은 -1,-,10,11을 입력값으로, (2)는 0이상 10이하의 수 n개와 0미만 10초과의 수 n개를 입력값으로 정한
정답: (가) 경계 값 분석 (나) 동치 분할 검사
21년 2회
테스트에 대한 다음 설명에서 각 지문에 해당하는 커버리지를 <보기>에서 찾아 기호로 쓰시오.
1. 최소 한번은 모든 문장이 수행되도록 구성하는 검증 기준
2. 조건식이 참/거짓일 때 수행되도록 구성하는 검증 기준
3. 2번과 달리 조건식에 상관없이 개별 조건이 참/거짓일 때 수행되도록 구성하는 검증 기준
<보기>
ㄱ. 다중 조건 검증 기준
ㄴ. 선택 검증 기준
ㄷ. 조건 검증 기준
ㄹ. 결정(분기) 검증 기준
ㅁ. 결정(분기) 조건 검증 기준
ㅂ. 구문(문장) 검증 기준
정답: 1.ㅂ 2.ㄹ 3.ㄷ
해설
| 검증 기준 | 특징 |
|---|---|
| 다중 조건 검증 기준 | 여러 조건을 동시에 고려하여 모든 조합을 테스트. 복잡한 논리 구조를 검증하는 데 유용. |
| 선택 검증 기준 | 여러 선택지 중 하나를 선택하는 경우의 결과를 검증. 각 선택지에 대한 결과를 확인. |
| 조건 검증 기준 | 주어진 조건이 참인지 거짓인지에 따라 올바른 결과를 반환하는지 테스트. |
| 결정(분기) 검증 기준 | 프로그램의 분기(조건문)에 따라 발생할 수 있는 다양한 경로를 검증. |
| 결정(분기) 조건 검증 기준 | 각 분기 조건이 참 또는 거짓일 때의 결과를 검증. 모든 조건의 조합을 고려. |
| 구문(문장) 검증 기준 | 각 코드 구문이 문법적으로 올바른지 검증. 오류 발생 가능성을 줄이기 위한 초기 단계. |
21년 2회
통합 테스트에 관련된 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.
통합 테스트는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법으로, 하위 모듈에서 상위 모듈 방향으로 통합하는 상향식 통합 테스트와 상위 모듈에서 하위 모듈 방향으로 통합하는 하향식 통합 테스트가 있다. 상향식 통합 테스트는 미완성이거나 문제가 있는 상위 모듈을 대체할 수 있는 테스트 드라이버가, 하향식 통합 테스트는 미완성이거나 문제가 있는 하위 모듈을 대체할 수 있는 테스트( )이(가) 있어야 원활한 테스트가 가능하다
정답: 스텁
21년 3회
다음 테스트 케이스를 참조하여 괄호에 들어갈 테스트 케이스의 구성 요소를 <보기>에서 찾아 쓰시오.

<보기>
요구 절차
의존성 여부
테스트 데이터
테스트 조건
하드웨어 환경
예상 결과
소프트웨어 환경
성공/실패 기준
정답: 1.테스트 조건 2.테스트 데이터 3.예상 결과
21년 3회
테스트 기법 중 그래프를 활용하여 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법을 보기에서 찾아 쓰시오.
<보기>
Equivalence Partition
Boundary Value Anaysis
Condition Test
Cause-Effect Graph
Error Guess
Comparison Test
Base Path Test
Loop Test
Data Flow Test
정답: Cause-Effect Graph
21년 3회
(1) 방식은 이름에서도 알 수 있듯이, 하위 모듈부터 시작하여 상위 모듈로 테스트를 진행하는 방식이며,
이 방식을 사용하기 위해서는 (2)가 필요하다.
(2)는 이미 존재하는 하위 모듈과 존재하지 않은 상위 모듈에 대한 인터페이스 역할을 한다.
정답: (1)상향식 (2) 테스트 드라이버
22년 1회
소스 코드 품질 분석 도구에 대한 다음 설명에서 괄호에 해당하는 용어를 <보기>에서 찾아 쓰시오
소스코드 품질 분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구이다.
(1) 도구는 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석 도구 이다.
(2) 도구는 소스 코드를 직접 실행하여 프로그램의 동작이나 반응을 추적하고 보고하는 분석 도구로, 프로그램 모니터링 기능이나 스냅샷 생성 기능들을 포함하고 있다.
<보기>
ㄱ. Static Analysis
ㄴ. Running Analysis
ㄷ. Test Execution
ㄹ. Performance
ㅁ. Dynamic Analysis
ㅂ. Test Control
ㅅ. Test Harness
ㅇ. Test Monitoring
정답 : (1) ㄱ. Static Analysis (2) ㅁ. Dynamic Analysis (정적 테스트 / 동적 테스트 )
22년 1회
다음 중 블랙 박스 테스트 기법에 해당하는 것을 모두 골라 기호로 쓰시오.
소스코드 품질 분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구이다.
<보기>
ㄱ. Base Path Testing
ㄴ. Condition Testing
ㄷ. Boundary Value Analysis
ㄹ. Equivalence Paritioning
ㅁ. Data Flow Testing
ㅂ. Cause-Effect Graph
ㅅ. Branch Coverage Testing
ㅇ. Statement coverage Testing
ㅈ. Boundary Division Analysis
정답 : ㄷ, ㄹ, ㅂ
해설
| 기법 | 종류 | 설명 |
|---|---|---|
| Base Path Testing (기본 경로 테스트) | 화이트박스 | 프로그램의 기본 경로를 따라 테스트 |
| Condition Testing (조건 검증) | 화이트박스 | 조건문의 참/거짓에 따른 결과 검증 |
| Boundary Value Analysis (경계 값 분석) | 블랙박스 | 경계 값을 중심으로 입력 데이터 테스트 |
| Equivalence Partitioning (동치 클래스 분할) | 블랙박스 | 입력 데이터를 동치 클래스로 나누어 테스트 |
| Data Flow Testing (데이터 흐름 테스트) | 화이트박스 | 데이터의 흐름을 분석하고 검증 |
| Cause-Effect Graph (원인-결과 그래프) | 블랙박스 | 원인과 결과의 관계를 그래프로 표현 |
| Branch Coverage Testing (분기 커버리지 테스트) | 화이트박스 | 모든 분기 경로를 테스트하여 코드 검증 |
| Statement Coverage Testing (문장 커버리지 테스트) | 화이트박스 | 코드의 모든 문장을 실행하여 검증 |
| Boundary Division Analysis (경계 분할 분석) | 블랙박스 | 경계 값을 나누어 테스트하는 기법 |
22년 1회
개발 단계에 따른 애플리케이션 테스트에 대한 다음 V-모델에서 괄호에 들어갈 알맞은 테스트를 쓰시오.

정답 : (1) 단위 테스트 (2) 통합 테스트 (3) 시스템 테스트 (4) 인수 테스트
해설
| 테스트 유형 | 속해 있는 테스트 |
|---|---|
| 단위 테스트 | 정적 테스트, 동적 테스트 |
| 통합 테스트 | 빅뱅 테스트, 점진적 통합 테스트, 하향식 통합 테스트, 상향식 통합 테스트 |
| 시스템 테스트 | 기능 테스트, 비기능 테스트 |
| 인수 테스트 | 알파 테스트, 베타 테스트 |
22년 2회
다음 설명에 대한 괄호안에 알맞는 단어를 작성하시오.
1) ( ) 테스트는 하드웨어나 소프트웨어의 개발 단계에서 상용화하기 전에 실시하는 제품 검사 작업, 제품의 결함 여부, 제품으로서의 가치 등을 평가하기 위해 실시한다. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완하다. 공식적인 제품으로 발매하기 이전에 최종적으로 검사한다
사용자가 직접 테스트해서 관련 피드백(?)을 개발자한테 알려주는 시험
2) ( )테스트는 새로운 제품 개발 과정에서 이루어지는 첫 번째 테스트, 즉, 시제품이 운영되는 동안의 신제품 연구와 개발 과정 단계에서 초기 작동의 결과를 평가하는 수단이며 개발 회사 내부에서 이루어지는 테스트로서 단위테스트, 구성 테스트, 시스템 테스트 등을 포함한다
내부필드테스트라고도 하는데 개발업체 내부 직원 또는 회사와 밀접한 관계를 유지하는 일부 사용자만 참여하는 시험
정답 : (1) 베타 (2) 알파
22년 2회
다음 설명에 알맞는 테스트 용어를 보기에서 골라 작성하시오.
오류를 제거하거나 수정한 시스템이나 시스템 컴포넌트 또는 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험이다
반복적인 시험이 필요한 이유는 오류가 제거, 수정되는 상당수의 시스템이 의도치 않았던 오동작이나 새로운 형태의 오류를 일으키기 때문이다
결국, 수정, 변경 시스템이나 시스템 컴포넌트 또는 프로그램이 명세된 요구 사항을 충족시키지는지 확인하는 시험의 한 형태이다
이미 테스트된 프로그램의 테스팅을 반복하는 것으로, 결함 수정 이후 변경의 결과로 새롭게 만들어 지거나, 이전 결함으로 인해 발견되지 않았던 또 다른 결함을 발견하는 테스트
정답 : Regression(회귀 테스트)
해설
| 테스트 용어 | 설명 |
|---|---|
| Unit Test (단위 테스트) | 개별 모듈이나 컴포넌트를 테스트하는 과정. |
| Integration Test (통합 테스트) | 여러 모듈이나 컴포넌트를 결합하여 테스트하는 과정. |
| System Test (시스템 테스트) | 전체 시스템을 테스트하여 요구사항을 충족하는지 확인하는 과정. |
| Acceptance Test (인수 테스트) | 사용자가 시스템을 수용하기 위해 수행하는 테스트. |
| Regression Test (회귀 테스트) | 기존 기능이 수정 후에도 정상적으로 작동하는지 확인하는 테스트. |
| Performance Test (성능 테스트) | 시스템의 성능, 속도, 안정성을 평가하는 테스트. |
| Load Test (부하 테스트) | 시스템의 최대 부하를 평가하여 성능을 확인하는 테스트. |
| Stress Test (스트레스 테스트) | 시스템의 한계를 초과하여 테스트하여 안정성을 평가하는 과정. |
| Functionality Test (기능 테스트) | 소프트웨어의 특정 기능이 요구사항을 충족하는지 확인하는 과정. |
22년 1회
인터페이스 구현 검증 도구에 대한 다음 설명에 해당하는 용어를 영문으로 쓰시오.
Kent Beck과 Erich Gamma 등이 개발한 자바 프로그래밍 언어용 유닛 테스트 프레임워크로 xUnit 계열의 한 종류다. 같은 테스트 코드를 여러번 작성하지 않게 도와주며 테스트마다 예상 결과를 기억할 필요가 없는 자동화된 해법을 제공한다는 특징이 있다
정답 : Junit
22년 1회
아래 표를 확인하여 보기에 알맞는 값을 고르시오.

정답 : Boundary value Analysis
23년 1회
아래 표를 확인하여 보기에 알맞는 값을 고르시오.

정답 ( 1 )->( 2 )->( 3 )->( 4 )->( 5 )->( 6 )->( 7 ) 또는
(1 )->( 2 )->( 4 )->( 5 )->( 6 )->( 1 )
23년 2회
전체 조건식의 참과 거짓 결과에 상관없이 결정 포인트 내에 있는 모든 개별 조건식이 참 한 번, 거짓 한 번 모두 갖도록 조합하는 커버리지
정답 : 조건커버리지
해설
| 커버리지 종류 | 설명 |
|---|---|
| 문장 커버리지 (Statement Coverage) | 프로그램의 모든 문장이 최소 한 번 실행되었는지 확인하는 방법. |
| 분기 커버리지 (Branch Coverage) | 모든 분기(조건문)의 참/거짓 결과를 모두 테스트하는 방법. |
| 조건 커버리지 (Condition Coverage) | 조건문의 각 조건이 참과 거짓으로 평가되는 모든 경우를 테스트. |
| 경로 커버리지 (Path Coverage) | 프로그램의 모든 실행 경로를 테스트하는 방법. |
| 기능 커버리지 (Function Coverage) | 모든 기능이 호출되었는지를 확인하는 방법. |
| 모듈 커버리지 (Module Coverage) | 각 모듈의 모든 기능이 실행되었는지를 검사하는 방법. |
| 데이터 커버리지 (Data Coverage) | 다양한 입력 데이터 조합으로 테스트하여 데이터의 범위를 확인하는 방법. |
23년 2회
ㄱ과 ㄴ에 해당하는 용어를 쓰시오.
ㄱ. 하향식 테스트, 상위 모듈에서 하위 모듈로의 테스트를 진행하는 것
ㄴ. 상향식 테스트, 하위 모듈에서 상위 모듈로의 테스트를 진행하는 것
정답 : ㄱ. 스텁 ㄴ. 드라이버
23년 3회
입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트하는 기법을 영어로 쓰시오 (원래 보기 있는 문제)
정답 : Equivalence Partitioning(동치 분할)
24년 1회
아래는 애플리케이션 테스트 관리에 대한 내용이다. 설명하는 답을 보기에서 골라 작성하시오.
1. 모든 분기와 조건의 조합을 고려하나 모든 조합을 테스트하는 대신에 테스트가 필요한 중요한 조합을 찾아내는데에 중점을 둔다.
2. 특정 조건을 수행할 때 다른 조건과는 상관없이 전체 결과에 영향을 미치는 조건만을 테스트한다.
3. 각각의 파라미터는 적어도 한 번은 최종 결과에 영향을 주어야 한다.
<보기>
ㄱ. 구문 커버리지 ㄴ. 결정 커버리지 ㄷ. 조건 커버리지 ㄹ. 변경 조건/결정 커버리지 ㅁ.다중 조건 커버리지 ㅂ.경로 커버리지 ㅅ.조건/결정 커버리지
정답 : ㄹ.변경 조건/결정 커버리지