핑구

정보처리기사 기출문제 풀이 4 본문

CS/정보처리기사

정보처리기사 기출문제 풀이 4

코딩 펭귄 2022. 2. 26. 23:38

2021년05월15일

다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은?

  1. 알고리즘 오류에 따른 원치 않는 결과
  2. 탈출구가 없는 반복문의 사용
  3. 모듈 간의 비정상적 상호작용으로 인한 원치 않는 결과
  4. 틀린 계산 수식에 의한 잘못된 결과

[문제 해설]

단위 테스트 (Unit Test)

응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상하는대로 동작하는지 확인하는 테스트로 하나의 기능 또는 메소드를 기준으로 진행된다. 따라서 모듈 간의 상호 작용은 단위 테스트를 통해 알 수 없다.

 

통합 테스트 (Integration Test)

단위 테스트보다 더 큰 동작을 달성하기 위해 여러 모듈을 모아 이들이 의도대로 협력하는지 확인하는 테스트이다. 따라서 외부 라이브러리까지 묶어 검증하는 경우 사용한다. 단위테스트에서 발견하기 어려운 버그를 찾을 수 있다.

 

인수 테스트 (Acceptance Test)

사용자 스토리(시나리오)에 맞춰 수행하는 테스트이다. 비즈니스에 초점을 둔다.

 

2021년08월14일

테스트 드라이버(Test Driver)에 대한 설명으로 틀린 것은?

  1. 시험 대상을 호출하는 간이 소프트웨어이다.
  2. 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여 줄 수 있다.
  3. 상향식 통합 테스트에서 사용된다.
  4. 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.

[문제 해설]

테스트 드라이버

컴포넌트나 시스템을 제어하거나 호출하는 컴포넌트를 대체하는 소프트웨어 컴포넌트 또는 테스트 툴로 테스트할 소프트웨어 또는 시스템을 제어하고 동작시키는 데 사용되는 도구들을 의미한다. 상향식 테스트에 사용된다.

 

테스트 스텁

특정 시스템 컴포넌트의 개발이 완료되지 않은 상황에서 필요한 시험을 진행하기 위해 생성된 더미 컴포넌트이다. 하향식 테스트에 사용된다.

 

2021년05월15일

인터페이스 구현 검증 도구가 아닌 것은?

  1. Foxbase
  2. STAF
  3. watir
  4. xUnit

[문제 해설]

인터페이스 구현 검증 도구

인터페이스 동적 상태를 확인하기 위해 인터페이스 단위 기능과 시나리오 등을 기반으로 하는 통합 테스트를 효율적으로 수행하는 도구이다.

 

인터페이스 구현 검증 도구 종류

  • xUnit : Java(Junit), C++(Cppunit), .Net(Nunit)와 같이 다양한 언어를 지원하는 단위 테스트 프레임워크
  • STAF (Software Testing Automation Framework) : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크로 테스트 대상 분산 환경에 데몬을 사용
  • FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
  • NTAF : FitNesse의 장점인 협업과 STAF의 장점인 재사용 및 확장성을 통합한 NHN(Naver)의 자동화 프레임워크
  • Selenium : 다양한 브라우저 및 개발 언어를 지원하는 웹 어플리케이션 테스트 프레임워크
  • watir : Ruby를 사용하는 애플리케이션 테스트 프레임워크

 

2021년08월14일

동시성 제어를 위한 직렬화 기법으로 트랜잭션 간의 처리 순서를 미리 정하는 방법은?

  1. 로킹 기법
  2. 타임스탬프 기법
  3. 검증 기법
  4. 배타 로크 기법

[문제 해설]

로킹 기법

하나의 트랜잭션이 데이터를 엑세스하는 동안 다른 트랜잭션이 그 데이터 항목을 엑세스할 수 없도록 하는 병행 제어 기법이다.

 

타임스탬프 기법

각 트랜잭션이 시스템에 들어오는 순서대로 시스템에서 생성하는 고유 번호인 타임스탬프를 부여하여 트랜잭션 간의 순위를 미리 지정하는 기법이다.

 

2021년05월15일

다음 설명에 해당하는 방식은?

  • 무선 랜에서 데이터 전송 시 매체가 비어 있음을 확인한 뒤 충돌을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법이다.
  • 네트워크에 데이터의 존송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
  1. STA
  2. Collision Domain
  3. CSMA/CA
  4. CSMA/CD

[문제 해설]

충돌 도메인 (Collision Domain)

충돌 발생을 검출할 수 있는 브리지 간 혹은 다른 계층 장티 간의 이더넷 세그먼트 범위로 이더넷과 같은 공유 매체를 사용하는 경우에 동일 매체에 연결된 각 호스트가 공통의 매체를 서로 효율적으로 공유해 사용하기 위해 설정된 개념이다.

 

CSMA/CD (Carrier-sense multiple access with collision detection; 충돌 감지)

유선 네트워크의 경우 충돌을 확인할 수 있기 때문에 사용하는 방식이다. 프레임 전송과 동시에 두 개의 다른 포트를 이용하여 충돌이 발생하는지 지속적으로 감시한다. 프레임이 목적지에 도착할 시간 이전에 다른 프레임의 비트가 발견된다면 충돌이 일어난 것으로 판단한다.

 

CSMA/CA (Carrier-sense multiple access with collision avoidance; 충돌 방지)

IEEE 802.11 무선 LAN에 사용하는 프로토콜로 충돌을 감지하기 어렵기 때문에 CSMA/CD 대신 사용된다. 무선 랜에서 데이터 전송 시 매체가 비어 있음을 확인한 후 충돌을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방식이다. 네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비해 확인 신호를 전송한다.

 

2021년03월07일

교착상태가 발생할 수 있는 조건이 아닌 것은?

  1. Mutual exclusion
  2. Hold and wait
  3. Non-preemption
  4. Linear wait

[문제 해설]

교착 상태의 4개지 필요조건

해당 조건을 모주 만족하면 데드락이 발생할 가능성이 있으며, 하나라도 만족하지 않으면 절대 발생하지 않는다.

  1. 상호 배제 (Mutual exclusion) : 한 리소스는 한 번에 한 프로세스만이 사용할 수 있다.
  2. 점유와 대기 (Hold and wait) : 어떤 프로세스가 하나 이상의 리소스를 점유하고 있으면서 다른 프로세스가 가지고 있는 리소스를 기다리고 있다.
  3. 비선점 (No preemption) : 프로세스가 태스크를 마친 후 리소스를 자발적으로 반환할 때까지 기다린다.
  4. 환형 대기 (Circular wait) : Hold and wait 관계의 프로세스들이 서로를 기다린다.

 

2020년09월26일

다음 파이썬으로 구현된 프로그램의 실행 결과로 옳은 것은?

  1. [20, 60]
  2. [60, 20]
  3. [0, 20, 40, 60]
  4. [10, 30, 50, 70]

[문제 해설]

해당 코드의 경우 a[시작점 : 끝점 : 넘어가는 수] 형태이다. 따라서 a[0] ~ a[6]을 두 칸씩 건너뛰면 된다. 끝점은 포함되지 않는다.

 

2021년03월07일

다음 암호 알고리즘 중 성격이 다른 하나는?

  1. MD4
  2. MD5
  3. SHA-1
  4. AES

[문제 해설]

해시 암호화 알고리즘 : MD4, MD5, SHA-1

대칭 키 암호화 알고리즘 : AES

 

2020년08월22일

Putnam 모형을 기초로 해서 만든 자동화 추정 도구는?

  1. SQLR/30
  2. SLIM
  3. MESH
  4. NFV

[문제 해설]

Putman 모형

소프트웨어 생명주기 전 과정 동안 사용될 곡선의 노력 분포를 가정해 주는 모형으로 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.

 

2021년05월15일

ISO 12207 표준의 기본 생명주기의 주요 프로세스에 해당하지 않는 것은?

  1. 획득 프로세스
  2. 개발 프로세스
  3. 성능평가 프로세스
  4. 유지보수 프로세스

[문제 해설]

기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수 프로세스

지원 생명 주기 프로세스 : 품질 보증, 검증, 확인, 활동 검토, 문제 해결 프로세스

조직 생명 주기 프로세스 : 관리, 기반 구조, 훈련, 개선 프로세스

 

2021년03월07일

소프트웨어 비용 산정 기법 중 개발 유형으로 organic, semi-detach, embedded로 구분되는 것은?

  1. PUTNAM
  2. COCOMO
  3. FP
  4. SLIM

[문제 해설]

COCOMO 개발 유형

  1. 조직형 (Organic model)
    • 5만라인 이하의 중소 규모 소프트웨어
    • 일괄처리, 계산용, 업무용 등
  2. 반분리형 (Semi-Detached model)
    • 30만라인 이하의 소프트웨어
    • 조직형과 내장형의 중간 형태
    • 트랜잭션 처리 시스템, 운영체제, DB 관리 시스템, 컴파일러, 인터프리터
  3. 내장형 (Embedded model)
    • 30만 라인 이사의 소프트웨어
    • 최대형 규묘의 트랜잭션 처리 시스템이나 운영체제 등의 소프트웨어
    • 미사일 유도 시스템, 실시간 처리 시스템 등