Programmer:)

2020 1-2차 정보처리기사 필기 : 2과목 소프트웨어 개발 문제풀이 및 해설 본문

공부(개발)/정보처리기사

2020 1-2차 정보처리기사 필기 : 2과목 소프트웨어 개발 문제풀이 및 해설

ryeggg 2020. 9. 8. 00:12
반응형

21. 평가 점수에 따른 성적부여는 다음 표와 같다. 이를 구현한 소프트웨어를 경계 값 분석 기법으로 테스트 하고자 할 때 다음 중 테스트 케이스의 입력 값으로 옳지 않은 것은?
 


[정답률: 60%]
① 59
② 80
③ 90
④ 101

 

정답 : 3번

블랙박스 테스트의 종류(5가지)

-동치 분할 검사(Equivalence Partitioning Testing) : 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법으로, 동등 분할 기법이라고도 한다.

-경계값 분석(Boundary Value Analysis) : 입력값이 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 케이스 선정 

-원인- 효과 그래프 검사(Cause-Effect Graphing Testing) : 입력 데이터 간의 관계와 출력에 영향일 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사

-오류 예측 검사(Error Guessing) : 과거의 경험이나 확인자의 감각으로 테스트하는 기법

-비교 검사(Comparison Testing) : 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트 하는 기법

 

 

22. 다음 트리의 차수(degree)와 단말 노드(terminal node)의 수는?

 


[정답률: 51%]
① 차수:4, 단말 노드: 4

② 차수:2, 단말 노드: 4
③ 차수:4, 단말 노드: 8
④ 차수:2, 단말 노드: 8

 

정답 : 2번

-차수(Degree) : A에서 뻗어나간 가지의 갯수  -> 2개

-단말노드(Terminal node) : 자식 노드가 0인 노드 D, G, H, F  -> 4개

 

 

 

23. 검증 검사 기법 중 개발자의 장소에서 사용자가 개발자가 앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는? 
[정답률: 64%]
① 동치 분할 검사
② 형상 검사
③ 알파 검사
④ 베타 검사

 

정답 : 3번

동치 분할 검사(Equivalence Partitioning Testing) : 블랙박스 테스트의 한 종류, 입력자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법으로 동등 분할 기법이라고도 한다.

형상 검사 : 구성 요소, 유지, 보수를 위한 모든 사항이 표현되어 있는가를 검사

알파 검사 : 인수테스트 중 한 종류, 개발자의 장소에서 사용자가가 개발자 앞에서 행하는 테스트 기법. 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록

배타 검사 : 인수테스트 중 한 종류, 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법.

 

24. 하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가? 
[정답률: 68%]
① Stub
② Driver
③ Procedure
④ Function

 

정답 : 1번

Stub : 하향식 통합에 사용되는 것으로 상위 모듈은 있지만 하위 모듈이 없는 경우 하위 모듈 대체

Driver : 상향식 통합에 사용되는 것으로 상위 모듈 없이 하위 모듈이 있는 경우 하위 모듈 구동

Procedure : 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어

Function : 함수 

 

 

25. 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은? 
[정답률: 53%]
① 정확성
② 무결성
③ 사용성
④ 간결성

 

정답 : 4번

정확성(Accuracy) : 사용자가 요구하는 결과를 정확하게 산출할 수 있는 능력

무결성(Integrity) : 허용하지 않은 사용이나 자료의 변경을 제어하는 정도

사용성(Usability) : 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도

 

26. 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은? 
[정답률: 60%]
① Brooks의 법칙
② Boehm의 법칙
③ Pareto의 법칙
④ Jackson의 법칙

 

정답 : 3번

Brooks의 법칙 : 지연되는 프로젝트에 인력을 투입하면 더 늦어진다.

Boehm의 법칙 : 비용 산정 기법 중 boehm이 제안한 COCOMO기법이 있음.

Pareto의 법칙 : 발견된 80%의 오류는 20%의 모듈에서 발견된다.

+

Longtail의 법칙 : Pareto의 법칙의 반대, 사소해보이는 80%가 소수 핵심인 20%보다 더 가치있다.

 

27. 디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은? 
[정답률: 60%]
① 크랙 방지 기술
② 정책 관리 기술
③ 암호화 기술
④ 방화벽 기술

 

정답 : 4번

DRM의 기술요소 8가지

-암호화 -키관리 -암호화 파일 생성 -식별기술

-저작관 표시 -정책관리 -크랙방지 -인증

 

 

28. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은? 
[정답률: 50%]
① IPSec
② SMTP
③ SSL
④ S-HTTPS

 

정답 : 2번

IPSec : Internet Protocol Security 보안에 취약한 인터넷에서 안전한 통신을 구현하기 위한 프로토콜

SMTP : Simple Mail Transfer Protocl 전자 우편 프로토콜

SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜

S-HTTPS : 클라이언트와 서버 간 전송되는 모든 메시지를 암호화 하는 프로토콜

 

 

 

 

29. 인터페이스 구현 검증도구 중 아래에서 설명하는 것은?

 


[정답률: 39%]
① xUnit
② STAF
③ FitNesse
④ RubyNode

 

정답 : 2번

xUnit : 다양한 언어 지원 단위 테스트

STAF : 서비스 호출 및 컴포넌트 재사용 등

FitNesse : 웹 기반

RubyNode :  ...? 멀까...

 

 

30. SW 패키징 도구 활용 시 고려 사항과 거리가 먼 것은? 
[정답률: 80%]
① 패키징 시 사용자에게 배포되는 SW이므로 보안을 고려한다.
② 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
③ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다.
④ 제품 SW종류에 적합한 암호화 알고리즘을 적용한다.

 

정답 : 3번

s/w패키징 고려 사항

-사용자의 시스템 환경, 즉 운영체제, cpu,메모리 등에 필요한 최소 환경을 정의한다.

-UI는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 메뉴얼을 일치시켜 패키징한다.

-고객의 편의성을 고려한 안정적인 배포가 중요하다.

-다양한 사용자의 요구사항을 반영 할 수 있도록 패키징의 변경 및 개선에 대한 관리를 항상 고려한다.

 

31. 소프트웨어 형상 관리의 의미로 적절한 것은? 
[정답률: 60%]
① 비용에 관한 사항을 효율적으로 관리하는 것
② 개발 과정의 변경 사항을 관리하는 것
③ 테스트 과정에서 소프트웨어를 통합하는 것
④ 개발 인력을 관리하는 것

 

정답 : 2번

형상관리는 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.

-지속적인 소프트웨어의 변경 사항을 체계적으로 추적하고 통제할 수 있다.

-제품 소프트웨어에서 발견된 버그나 수정 사항을 추적할 수 있다.

-제품 소프트웨어에 대한 무절제한 변경을 방지할 수 있다.

-소프트웨어는 형태가 없어 가기성이 결핌되므로 진행 정도를 학인하기 위한 기준으로 사용될 수 있다.

 

 

32. White Box Testing에 대한 설명으로 옳지 않은 것은? 
[정답률: 40%]
① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.
② Source Code의 모든 문장을 한 번 이상 수행함으로써 진행 된다.
③ 모듈 안의 작동을 직접 관찰할 수 있다.
④ 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검 한다

 

정답 : 1번

 

화이트박스 테스트 : 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법

-설계된 절차에 초점을 둔 구조적 테스트로 프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계하며, 테스트 과정의 초기에 적용

-모듈 안의 작동을 직접 관찰

-원시 코드(모듈)의 모든 문장을 한 번 이상 실행함으로써 수행

 

화이트박스 테스트의 종류

-기초 경로검사

-조건 검사

-루프 검사

-데이터 흐름 검사

 

화이트박스 테스트의 검증 기준(4가지)

-문장 검증 기준(Statement Coverage) : 소스 코드의 모든 구문이 한 번 이상 수행되도록 테스트 케이스 설계

-분기 검증 기준(Branch Coverage) : 소스 코드의 모든 조건문이 한 번 이상 수행되도록 테스트 케이스 설계

-조건 검증 기준(Condition Coverage) : 소스 코드의 모든 조건문에 대해 조건이 true인 경우와 false인 경우가 한 번 이상 수행되도록 테스트 케이스 설계

-분기/조건 기준(Branch/Condition Coverage) : 소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 ture인 경우와 false인 경우가 한 번 이상 수행되도록 테스트 케이스 설계

 

 

33. 외계인코드(Alien Code)에 대한 설명으로 옳은 것은? 
[정답률: 64%]
① 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의미한다.
② 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 의미한다.
③ 오류가 없어 디버깅 과정이 필요 없는 프로그램을 의미한다.
④ 사용자가 직접 작성한 프로그램을 의미한다

 

정답 : 2번

외계인코드(Alien Code) : 개발자가 퇴사했거나 현재 사용하지 않는 언어로 작성되는 등 유지보수작업이 어려운 프로그램 소스 코드.

 

 

34. 다음 트리를 전위 순회(preorder traversal)한 결과는?
 

[정답률: 57%]
① + * A B / * C D E
② A B / C * D * E +
③ A / B * C * D + E
④ + * * / A B C D E

 

정답 : 4번

전위순회 : 왼쪽을 기준으로 노드를 방문하고 그다음 왼쪽에 노드가 없을 시 오른쪽 노드 방문

 

 

35. 알고리즘 시간복잡도 O(1)이 의미하는 것은? 
[정답률: 62%]
① 컴퓨터 처리가 불가
② 알고리즘 입력 데이터 수가 한 개
③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정
④ 알고리즘 길이가 입력 데이터보다 작음

 

정답 : 3번

 

 

36. 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은? 
[정답률: 46%]
① 선택정렬
② 삽입정렬
③ 버블정렬
④ 합병정렬

 

-선택정렬 : O(n^2)

-삽입정렬 : O(n^2)

-버블정렬 : O(n^2)

-합병정렬 : O(n*log(n))

+

-퀵정렬 : O(nlogn)

 

37. ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성 (Functionality)의 하위 특성으로 옳지 않은 것은? 
[정답률: 53%]
① 학습성
② 적합성
③ 정확성
④ 보안성

 

정답 : 1번

기능성

-정확성/적절성 -정밀성/정확성 - 상호운용성 - 보안성 - 호환성

신뢰성

-성숙성 -고장허용성 -회복성

사용성

-이해성 -학습성 -운용성 -친밀성

효용성

-시간효용성 -자원효용성

유지보수성

-분석성 -변경성 -안정성 -시험성

이식성

-적용성 -설치성 -대체성 -공존성

 

 

38. EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은? 
[정답률: 50%]
① Point-to-Point
② Hub & Spoke
③ Message Bus
④ Tree

 

정답 : 4번

EAI : 기업 내 각종 에플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션

구축유형 3가지

-Point - to - Point : 가장 기본적인 애플리케이션 통합 방식, 변경 및 재사용이 어렵다.

-Hub & Spoke : 중앙 집중형 방식, 허브 장애 발싱 시 시스템 전체에 영향을 미친다.

-Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식, 확장성이 뛰어나며 대용량 처리가 가능하다.

-Hybrid : 허브스포크와 메세지버스를 혼합한 방식, 데이터 병목현상을 최소화할 수 있다.

 

39. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은? 
[정답률: 53%]
① pmd
② cppcheck
③ valMeter
④ checkstyle

 

정답 : 3번

pmd : 소스코드에 대한 미사용 변수, 최적화 하지 않은 코드 등 결함을 유발할 수 있는 코드 검사 (리눅스, 윈도우)

cppcheck : C/C++코드에 대한 메모리 누수, 오버플로우등 분석 (윈도우)

checkstyle : 자바 코드에 대하나 소스 코드 표준을 따르고 있는지 검사(cross-platform)

 

40. 반정규화(Denormalization) 유형 중 중복 테이블을 추가하는 방법에 해당하지 않는 것은? 
[정답률: 33%]
① 빌드 테이블의 추가
② 집계 테이블의 추가
③ 진행 테이블의 추가
④ 특정 부분만을 포함하는 테이블 추가

 

정답 : 1번

반응형
Comments