관리 메뉴

나구리의 개발공부기록

CHAPTER 02 - 애플리케이션 통합 테스트(기출 및 예상문제), CHAPTER 03 - 애플리케이션 성능 개선(기출 및 예상문제), CHAPTER 04 - 단원 종합 문제 본문

2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/실기 10강 - 애플리케이션 테스트 관리

CHAPTER 02 - 애플리케이션 통합 테스트(기출 및 예상문제), CHAPTER 03 - 애플리케이션 성능 개선(기출 및 예상문제), CHAPTER 04 - 단원 종합 문제

소소한나구리 2024. 7. 18. 19:29

2024년도 수제비 실기책(6판) 내용


CHAPTER 02 - 애플리케이션 통합 테스트(기출문제)


1)  애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구는?

정답

더보기

정적 분석 도구


2) (   1   ) 테스트는 최하위 모듈로부터 위쪽 방향으로 제어의 경로를 따라 이동하면서 테스트와 통합을 수행하는 방식이고, 하위 모듈을 포함하는(   2   )이/가 필요하다. 괄호(   ) 안에 들어갈 용어를 작성

정답

더보기

1. 상향식

2. 테스트 드라이버


3) 다음 통합 테스트에 대한 설명 중 괄호 (    ) 안에 들어갈 용어를 작성

  • (   1   ) 은/는 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 더미 모듈로 하향식 통합 테스트 수행식 필요함
  • (   2   ) 은/는 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈로 상향식 통합 테스트 수행시 필요함

정답

더보기

1. 테스트 스텁

2. 테스트 드라이버


4) 테스트 하네스 구성요소 중 모듈 통합 테스트에서 사용하는 요소로 상향식 통합 테스트에서는 테스트 드라이버, 하향식 통합 테스트에서는 테스트(   )을/를 사용한다. 괄호(  )안에 들어갈 용어를 작성

정답

더보기

스텁


CHAPTER 02 - 애플리케이션 통합 테스트(예상문제)


1)  통합 테스트에 대한 설명 중 괄호(   ) 안에 들어갈 용어를 작성

  • (   1   ) 은/는 상위 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈로 상향식 통합 테스트 수행 시 사용됨
  • (   2   ) 은/는 모듈 및 모든 하위 컴포넌트를 대신하는 더미 모듈로 하향식 통합 테스트 수행시 사용됨
  • (   3   ) 테스트는 모든 모듈을 동시에 통합 후 테스트를 수행하는 방식으로 단시간에 통합 테스트가 가능함

정답

더보기

1. 테스트 드라이버

2. 테스트 스텁

3. 빅뱅


2) 아래에서 설명하고 있는 통합 테스트 유형은?

  • 상향식 통합 테스트와 하향식 통합 테스트 방식을 결합한 테스트 방식
  • 하위 프로젝트가 있는 큰 규모의 통합 테스트에서 사용하는 방식으로 병렬 테스트가 가능하고 시간 절약이 가능함
  • 스텁과 드라이버의 필요성이 매우 높은 방식이고 비용이 많이 소요됨

정답

더보기

샌드위치 통합 테스트


3) 다음이 설명하는 테스트 기법은?

  • 통합 테스트 기법 중 하나로서 모든 모듈을 동시에 통합 후 테스트 수행하는 기법
  • 정점으로는 단시간에 테스트가 가능하지만 단점으로는 장애 위치 파악이 어렵고, 모든 모듈이 개발되어야 가능함

정답

더보기

빅뱅 통합 테스트


CHAPTER 03 - 애플리케이션 성능 개선(기출문제)


1) 애플리케이션의 성능을 측정하기 위한 지표는?

지표 설명
1 - 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수
- 웹 애플리케이션의 경우 시간당 페이지 수로 표현
2 - 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간
- 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기가지 걸리는 시간
3 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간
자원 사용률 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 처리량, 메모리 사용량, 네트워크 사용량

 

정답

더보기

1. 처리량

2. 응답 시간

3. 경과 시간


2) 리펙토링의 목적에 대하여 서술

정답

더보기

복잡한 코드의 단순화, 소스의 가독성을 통해 유지보수성 향상, 생산성 향상, 품질 향상을 하기 위함


CHAPTER 03 - 애플리케이션 성능 개선(예상문제)


1) 다음 애플리케이션 성능 측정 지표에 대한 설명 중 괄호(   ) 안에 들어갈 용어를 작성

  • 처리량 : 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수로 웹 애플리케이션의 경우 시간당 페이지 수로 표현
  • (   1   ) : 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간으로 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기가지 걸리는 시간
  • (   2   ) : 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간
  • 자원 사용률: 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량

정답

더보기

1. 응답 시간

2. 경과 시간 


2) 다음 클린코드 작성 원칙에 대한 설명 중 괄호(  ) 안에 들어갈 용어를 작성

  • 가독성 : 이해하기 쉬운 용어를 사용, 코드 작성 시 들여쓰기 기능을 사용
  • (     ) : 한 번에 한 가지 처리만 수행, 클래스/메서드/함수를 최소 단위로 분리
  • 의존성 : 영향도를 최소화, 코드의 변경이 다른 부분에 영향이 없게 작성
  • 중복성 : 중복된 코드를 제거, 공통된 코드를 사용
  • 추상화 : 클래스/메서드/함수에 대해 동일한 수준의 추상화 구현, 상세 내용은 하위 클래스/메서드/함수에서 구현

정답

더보기

단순성


3) 배드 코드 중에서 작동은 정상적으로 하지만, 사람이 코드를 읽으면서 그 코드의 작동을 팡가하기는 어려운 코드는?

정답

더보기

스파게티코드(Spaghetti Code)


4) 유지보수 생산성 향상을 목적으로 기능을 변경하지 않고 복잡한 소스코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법은?

정답

더보기

리펙토링(Refactoring)


CHAPTER 04 - 단원 종합 문제

1) 다음 소프트웨어 테스트 원리에 대한 설명 중 괄호(   ) 안에 들어가 원리를 보기에서 골라서 작성

  • (   1   ) 원리는 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못한다는 원리
  • (   2   ) 원리는 요구사항을 충족시켜주지 못한다면, 결함이 없다고 해도 품질이 높다고 볼 수 없다는 원리

보기

  • ㄱ. 결함 존재 증명
  • ㄴ. 완벽 테스팅은 불간으
  • ㄷ. 초기 집중
  • ㄹ. 결함 집중
  • ㅁ. 살충제 패러독스
  • ㅂ. 정황 의존성
  • ㅅ. 오류-부재의 궤변

정답

더보기

1. ㅁ - 살충제 패러독스

2. ㅂ - 오류-부재의 궤변


2) 소프트웨어 테스트 산출물 중에서 (    ) 은/는 테스트를 위한 설계 산출물로, 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서이다. 괄호 (   )  안에 들어갈 가장 정확한 용어는?

정답

더보기

테스트 케이스


3) 프로그램 실행 여부에 따른 테스트의 분류 중 테스트 대상을 실행하지 않고 구조를 분석하여 논리성을 검증하는 테스트로 유형에는 리뷰, 정적 분석이 있는 테스트는?

정답

더보기

정적 테스트


4) 다음에서 설명하고 있는 소프트웨어 테스트 산출물은?

  • 테스트 케이스의 실행 순서(절차)를 작성한 문서이다
  • 테스트 스텝(Test Step), 테스트 절차서(Test Procedure)라고도 한다

정답

더보기

테스트 스크립트


5) 아래의 화이트 박스 테스트 유형에 대한 설명 중 괄호(   ) 안에 들어갈 가장 정확한 테스트 유형을 작성

  • (  1  ) : 각 분기의 결정 포인트 내의 개별 조건식이 적어도 한 번은 참과 거짓이 되도록 수행하는 테스트 커버리지
  • (  2  ) : 전체 조건식뿐만 아니라 개별 조건식도 참 한번, 거짓 한 번 결과가 되도록 수행하는 테스트 커버리지
  • (  3  ) : 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 커버리지

정답

더보기

1. 조건 커버리지

2. 결정 / 조건 커버리지

3. 변경 결정/조건 커버리지


6) 블랙박스 테스트 유형 중에서 SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트하는 기법은?

정답

더보기

분류 트리 테스트


7) 다음은 소프트웨어 테스트에 대한 설명 중 괄호 안에 들어갈 테스트를 보기에서 골라 작성

  • (  1  )는 시스템에 고의로 실패를 유도하고, 시스템의 정상적 복귀 여부를 테스트하는 기법
  • (  2  )는 오류를 제거하거나 수정한 시스템에서 오류제거와 수정에 의해 새로이 유입된 오류가 없는지 확인 하는 반복 테스트 기법

보기

  • ㄱ. Recovery Testing
  • ㄴ. Security Testing
  • ㄷ. Perfomance Testing
  • ㄹ. Structure Testing
  • ㅁ. Regression Testing
  • ㅂ. Parallel Testing

정답

더보기

1. Recovery Testing

2. Regression Testing


8) 사용자의 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 측정하는 테스트 기법인 성능(Perfomance) 테스트의 세부 유형 중 (  1  )는/은 시스템 처리 능력 이상의 부하, 즉 인계점 이상의 부하를 가하여 비정상적인 상황에서 시스템의 동작 상태를 확인하는 테스트 기법이고, (  2  )는/은 오랜 시간 동안 시스템에 높은 부하를 가하여 시스템 반응을 테스트 하는 기법이다. 괄호(   ) 안에 들어갈 가장 올바른 테스트 유형을 작성

정답

더보기

1. 강도 테스트 (Stress Testing)

2. 내구성 테스트 (Endurance Testing)


9) 다음 정적 테스트에 대한 설명 중 괄호 (   ) 안에 들어갈 기법을 보기에서 골라 작성

  1. 소프트웨어 요구, 설계 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 문제를 식별하고 문제에 대한 올바른 해결을 찾아내는 형식적인 검토 기법
  2. 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 문제 식별, 대안 조사, 개선 활동, 학습 기회를 제공하는 가장 비형식적인 검토 기법
  3. 2 ~ 3 명이 진행하는 리뷰의 형태로 요구사항 명세서 작성자가 요구사항 명세서를 설명하고, 이해 관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행하는 검토 기법

보기 : ㄱ. Peer Review  ㄴ. Inspection  ㄷ. Walk Throughts

 

정답

더보기

1. ㄴ - Inspection

2. ㄷ - Walk Throughts

3. ㄱ - Peer Review


10) 새로 구입한 파일 서버는 최대 1,000명이 동시에 접속 해서 파일 업로드가 가능하도록 시스템을 설계해서 구성을 완료했다. 실제 1,000명이 접속할 수 있는 임계 점을 찾기 위해서 시행해야 하는 테스트는?

정답

더보기

Load Testing(부하 테스트)


11) 다음 프로그램에 대해 100% 조건 커버리지를 만족하기 위해서 사용해야 하는 테스트 케이스를 모두 골라 작성(단, TC는 순차 실행)

  • 가. 테스트 케이스 1 : X = 3, Y = 0.5, Z = 2
  • 나. 테스트 케이스 2 : X = 1, Y = 3, Z = 3
  • 다. 테스트 케이스 3 : X = 0.5, Y = 4, Z = 1

정답

더보기

가, 나, 다


12) 아래의 테스트 기법 중 블랙박스 테스트 기법을 모두 고르시오

  1. 문장 커버리지(Statement coverage)
  2. 분류 트리 테스트(Classfication Tree Method Testing)
  3. 제어 흐름 테스트(Control Flow Testing)
  4. 비교 테스트(Comparison Testing)
  5. 데이터 흐름 테스트(Data Flow Testing)

정답

더보기

2. 분류 트리 테스트

4. 비교 테스트


13) 다음 아래 코드에서 분기(Branch) 커버리지를 100% 달성하는 최소 테스트 케이스의 수는 

입력값: X, Y

 

  1. IF (X + Y > 300) THEN
  2.     Print "A"
  3. END
  4. IF (X+Y > 200) THEN
  5.     Print "B"
  6. ENDIF

정답


14) A회사에서 병원 내시경 환자들을 위한 대기표 인식 프로그램을 개발 중이다. 내시겸 검사는 하루에 30명까지 할 수 밖에 없어서 대기표 번호는 1번부터 30번까지 자동으로 출력될 수 있도록 설정해야 한다. 경곗값 분석 테스트(Boundary Value Analysis)를 이용한 테스트를 수행할 때 테스트 케이스로 설정할 수 있는 모든 값을 쓰시오(2-value 방식 기준)

정답

더보기
0,1 30,31

15) 아래 그림에서 맥케이브 (McCabe)의 순환 복잡도 측정 방식에 따라 복잡도를 구하시오

정답


16) 아래의 설명은 경험 기반 테스트의 유형 중 어떤 테스트에 대한 설명인가?

  • 테스트 스크립트 또는 테스트 케이스를 문서로 작성하지 않고 경험에 바탕을 두고 탐색적으로 기능을 수행해 보면서 테스트하는 기법
  • 사전에 구체적으로 테스트 케이스를 결계하고 이를 바탕으로 테스트를 수행하는 방식이 아니라, 테스트 대상에 대한 이해, 테스트 케이스 설계, 테스트 실행을 병행하는 방식
  • 구성요소는 테스트 차터(Test Charter), 시간 제한(Time Boxing), 노트(Note), 회고(Debriefing)가 있음

정답

더보기

탐색적 테스트


17) 아래는 테스트 오라클(Test Oracle)의 종류에 대한 설명 이다, 괄호(  )안에 들어갈 가장 올바른 종류를 작성

  • (   1   ): 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생하는 오류를 모두 검출할 수 있는 오라클
  • (   2   ): 애플리케이션 변경이 있을 때, 수행 전과 후의 결괏값이 동일한지 확인하는 오라클

정답

더보기

1. 참 오라클

2. 일관성 검사 오라클


18) 테스트 레벨(Test Level) 중 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법은?

정답

더보기

통합테스트


19) 아래는 최종 사용자와 업무의 이해 관계자들이 수행하는 테스트에 대한 설명이다. 괄호 (    )안에 글어갈 정확한 세부 테스트 유형을 작성

  • (   1   ) : 선택된 사용자(회사 내의 다른 사용자 또는 실제 사용자)가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트
  • (   2   ) : 실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트

정답

더보기

1. 알파 테스트

2. 베타 테스트


20) 애플리케이션 구조에서 최하위 레벨의 모듈 또는 컴포넌트로부터 위쪽 방향으로 제어의 경로를 따라 이동하면서 구축과 테스트를 수행하는 상향식 통합 수행 방식에서는 상위 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈인 (   ) 작성이 필요하다. 괄호 (  ) 안에 들어갈 용어를 작성

정답

더보기

테스트 드라이버


21) 다음 샌드위치 통합 방식에 대한 설명 중 (   ) 안에 들어갈 정확한 용어를 작성

  • 샌드위치 통합은 상향식 통합 테스트와 하향식 통합 테스트 방식을 결합한 테스트 방식
  • 하위 프로젝트가 있는 큰 규모의 통합 테스트에서 사용하는 방식
  • (     ) 이/가 가능하고 시간 절약이 가능함

정답

더보기

병렬테스트


22) 다음 설명에 적합한 용어를 작성

  • 주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준이며, 테스트의 정확성과 신뢰성을 향상시키는 역할을 함

정답

더보기

테스트 커버리지


23) 다음 테스트 시각에 따른 분류에 대한 설명 중 다음이 설명하는 용어를 작성

  • 소프트웨어 과정을 테스트
  • 올바른 제품을 생산하고 있는지 검증
  • 이전 단계에서 설정된 개발 규격과 요구를 충족시키는지 판단
  • 개발자 혹은 시험자의 시각으로 소프트웨어가 명세화된 기능을 올바르게 수행하는지 알아보는 과정

정답

더보기

검증