Ga0's
2020년 1회 정보처리기사 실기 본문
문제1
SW 인터페이스 구현에 관련된 다음 설명에서 괄호에 공통으로 들어갈 알맞은 용어를 쓰시오.
웹 페이지의 기본 형식인 HTML의 문법이 각 웹 브라우저에서 상호 호환적이지 못하다는 문제와 SGML의 복잡함을 해결하기 위하여 개발된 ( )은 다른 특수한 목적을 갖는 마크업 언어이다. 원할한 데이터의 연계를 위해 송 ∙ 수신 시스템 간에 전송되는 데이터가 동일한 구조로 구성될 수 있도록 형태를 정의하는 역할을 수행하며, 다음과 같은 특징이 있다.
| 유니코드 문자 (Unicode Text) |
▪ 텍스트 데이터 형식으로 유니코드를 사용하여 전 세계 언어를 지원한다. |
| ( ) 파서 (Parser) |
▪ 대다수의 웹 브라우저가 해석을 위한 번역기(Parser)를 내장하고 있다. |
| 마크업(Markup)과 내용(Content) |
▪ ( ) 문서의 문자들은 마크업과 내용으로 구분된다. ▪ 일반적으로 마크업은 "<" 로 시작하여 ">" 로 끝나는 태그(Tag)를 의미하고, 그 외의 문자열은 내용에 해당한다. |
| 엘리먼트(Element) | ▪ 마크업과 내용으로 이루어지는 하나의 요소를 의미한다. |
∴ XML
XML(eXtensible Markup Language)
▪ 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어
▪ 웹 브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위하여 개발되었다.
▪ 사용자가 직접 문서의 태그(Tag)를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다.
▪ 트리 구조로 구성되어 있어 상위 태그는 여러 개의 하위태그를 가지고 있다.
*SGML(Standard Generalized Markup Language)
- 텍스트, 오디오, 이미지 및 비디오 등을 포함하는 멀티미디어 전자문서들을 다른 기종의 시스템들과 정보의 손실 없이 효율적으로 전송, 저장 및 자동 처리하기 위한 언어
SOAP(Simple Object Access Protocol)
▪ 컴퓨터 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약이다.
▪ 웹 서비스에서 사용되는 메시지의 형식과 처리 방법을 지정한다.
▪ 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신할 수 있다.
▪ 최근에는 무거운 구조의 SOAP대신 RESTful 프로토콜을 이용하기도 한다.
WSDL(Web Services Description Language)
▪ 웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어
▪ XML로 작성되며 UDDI의 기초가 된다.
▪ SOAP, XML 스키마와 결합하여 인터넷에서 웹 서비스를 제공하기 위해 사용된다.
▪ 클라이언트는 WSDL 파일을 읽어 서버에서 어떠한 조작이 가능한지를 파악할 수 있다.
문제3
릴리즈 노트는 개발과정에서 정리된 릴리즈 정보를 소프트웨어의 최종 사용자인 고객과 공유하기 위한 문서이다. 릴리즈 노트는 정확하고 완전한 정보를 기반으로 개발팀에서 직접 현재 시제로 작성해야 한다. 릴리즈 노트 작성시 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 날짜. 릴리즈 노트버전 등이 포함된 항목을 쓰시오.
∴ Header
릴리즈 노트(Release Note)
▪ 소프트웨어 개발 과정에서 정리된 릴리즈(개발이 완료된 소프트웨어 출시/배포) 정보를 최종 사용자인 고객과 공유하기 위한 문서
▪ 테스트 진행 결과와 소프트웨어 사양에 대한 개발팀의 정확한 준수 여부를 확인 할 수 있다.
▪ 소프트웨어에 포함된 전체 기능, 서비스 내용, 개선 사항 등을 사용자와 공유할 수 있다
릴리즈 노트 작성 항목
| 개요 | 내용 |
| Header(머릿말) | ▪ 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 날짜, 릴리즈 노트 버전 등 |
| 개요 | ▪ 소프트웨어 및 변경 사항 전체에 대한 간략한 내용 |
| 목적 | ▪ 해당 릴리즈 버전에서의 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요 |
| 문제 요약 | ▪ 수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약 |
| 재현 항목 | ▪ 버그 발견에 대한 과정 설명 |
| 수정/개선 내용 | ▪ 버그를 수정/개선한 내용을 간단히 설명 |
| 사용자 영향도 | ▪ 사용자가 다른 기능들을 사용하는데 있어 해당 릴리즈 버전에서의 기능 변화가 미칠 수 있는 영향에 대한 설명 |
| SW 지원 영향도 | ▪ 해당 릴리즈 버전에서의 기능 변화가 다른 응용 프로그램들을 지원하는 프로세스에 미칠 수 있는 영향에 대한 설명 |
| 노트 | ▪ SW/HW 설치 항목, 업그레이드, 소프트웨어 문서화에 대한 참고 항목 |
| 면책 조항 | ▪ 회사 및 소프트웨어와 관련하여 참조할 사항 ex) 프리웨어, 불법 복제 금지 등 |
| 연락처 | ▪ 사용자 지원 및 문의 응대를 위한 연락처 정보 |
릴리즈 노트 작성 순서
| 모듈 식별 | ▪ 모듈별 빌드 수행 후 릴리즈 노트에 작성될 내용을 확인함 |
| 릴리즈 정보 확인 | ▪ 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날자, 노트 날짜, 노트 버전 등을 확인함 |
| 릴리즈 노트 개요 작성 | ▪ 소프트웨어 및 변경사항 전체에 대한 간략한 내용을 작성함 |
| 영향도 체크 | ▪ 버그나 이슈 관련 내용 또는 해당 릴리즈 버전에서의 기능 변화가 다른 소프트웨어나 기능을 사용하는 미칠 수 있는 영향에 대해 기술함 |
| 정식 릴리즈 노트 작성 | ▪ Header(머릿말), 개요, 영향도 체크 항목을 포함하여 정식 릴리즈 노트에 작성될 기본 사항을 작성함 |
| 추가 개선 항목 식별 | ▪ 추가 버전 릴리즈 노트 작성이 필요한 경우 추가 릴리즈 노트를 작성함 |
문제8
애플리케이션 성능이란 사용자가 요구한 기능을 최소한의 자원을 사용하여 최대한 많은 기능을 신속하게 처리하는 정도를 나타낸다. 애플리케이션 성능 측정의 지표에 대한 다음 설명에서 괄호(①~③)에 들어갈 알맞은 용어를 쓰시오.
| ( ① ) | ▪ 일정 시간 내에 애플리케이션이 처리하는 일의 양을 의미한다. |
| ( ② ) | ▪ 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간을 의미한다. |
| ( ③ ) | ▪ 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 대까지 걸린 시간을 의미한다. |
| 자원 활용률 | ▪ 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU, 메모리, 네트워크 등의 자원 사용률을 의미한다. |
① 처리량
② 응답 시간
③ 경과 시간
애플리케이션 성능 측정 지표
1. 처리량 : 주어진 시간에 처리할 수 있는 트랜잭션 수
2. 응답 시간 : 응답 출력이 개시될 때까지의 시간
3. 경과 시간 : 애플리케이션에 사용자가 요구를 입력한 시점부터 처리 후 완료될 때까지 시간
4. 자원 사용률 : CPU 사용량, 메모리 사용량, 네트워크 사용량
애플리케이션 성능 테스트 수행 절차
성능 테스트 도구 설치 → 테스트 환경 설정 → 시나리오 생성 → 성능 테스트 실행 및 모니터링
문제9
데이터베이스에서 비정규화(Denormalization)의 개념을 서술하시오.
∴ 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터를 통합, 중복, 분리하는 과정으로 정규화 원칙을 위배하는 행위
반정규화/비정규화(Denormalization)
▪ 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터를 통합, 중복, 분리하는 과정으로 정규화 원칙을 위배하는 행위
정규화(Normalization)
▪ 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는과정
▪ 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장
문제10
1991년 R.rivest가 MD4를 개선한 암호화 알고리즘으로, 각각의 512비트짜리 입력 메시지 블록에 대해 차례로 동작한다. 각 512비트 입력 메시지 블록을 처리하고 나면 128비트 스테이트(state)의 값이 변하는 암호화 알고리즘을 쓰시오.
∴ MD5(Message Digest algorithm 5)
암호 알고리즘
▪ 패스워드 주민 번호, 은행 계좌와 같은 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법

개인키 암호화(Private Key Encryption) 기법
▪ 동일한 키로 데이터를 암호화하고 복호화하는 암호화 기법
▪ 대칭 암호 기법 또는 단일키 암호화 기법
▪ 암호화/복호화 속도가 빠르지만, 관리해야 할 키의 수가 많다.
▪ 개인키 암호화 기법의 종류
| 스트림 암호화 방식 | ▪ 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화 하는 방식 ▪ 종류 : LFSR, RC4 |
| 블록 암호화 방식 | ▪ 한 번에 하나의 데이터 블록을 암호화 하는 방식 ▪ 종류 : DES, SEED, AES, ARIA |
공개키 암호화(Public Key Encryption) 기법
▪ 데이터를 암호화할 때 사용하는 공개키(Public Key)는 사용자에게 공개하고 복호화할 때의 비밀키(Secret Key)는 관리자가 비밀리에 관리하는 암호화 기법
▪ 비대칭 암호 기법이라고 한다
▪ 관리해야 할 키의 수가 적지만, 암호화/복호화 속도가 느리다.
▪ 대표적으로는 RSA(Rivest Shamir Adleman)기법이 있다.
양방향 알고리즘의 종류
| SEED | ▪ 1999년 한국인터넷진흥원(KISA)에서 개발한 블록 암호 알고리즘 ▪ 블록 크기는 128비트이며, 키 길이에 따라 128, 256으로 분류됨 |
| ARIA(Academy, Research Institute Agency) |
▪ 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘 |
| DES(Data Encryption Standard) |
▪ 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘 ▪ 블록 크기는 64비트, 키 길이는 56비트이며 16회의 라운드를 수행함 ▪ DES를 3번 적용하여 보안을 더욱 강화한 3DES(Triple DES)도 있음 |
| AES(Advanced Encryption Standard) |
▪ 2001년 미국 표준 기술 연구수(NIST)에서 발표한 개인키 암호화 알고리즘 ▪ DES의 한계를 느낀 NIST에서 공모한 후 발표 ▪ 블록 크기는 128비트이며, 키 길이에 따라 AES-128, AES-192, AES-256으로 분류됨 |
| RSA(Rivest Shamir Adleman) |
▪ 1978년 MIT의 라이베스트(Rivest), 샤미르(Shamir), 애들먼(Adleman)에 위해 제안된 공개키 암호화 알고리즘 ▪ 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐 |
해시(Hash)
▪ 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 의미
▪ 해시 알고리즘을 해시 함수라고 부르며, 해시 함수로 변환된 값이나 키를 해시값 또는 해시키라고 부른다.
▪ 데이터의 암호화, 무결성 검증을 위해 사용될 뿐만 아니라 정보보호의 다양한 분야에서 활용된다.
해시 함수(알고리즘)의 종류
| SHA 시리즈 | ▪ 1993년 미국 국가안보국(NSA)이 설계, 미국 국립표준기술연구소(NIST)에 의해 발표됨 ▪ 초기 개발된 SHA-0 이후 SHA-1이 발표되었고, 다시 SHA-2라고 불리는 SHA-224, SHA-256, SHA-384, SHA-512가 발표됨 |
| MD5 (Message Digest algorithm 5) |
▪ 1991년 R.Rivest가 MD4를 대체하기 위해 고안한 암호화 해시 함수 ▪ 블록 크기가 512비트이며, 키 길이는 128비트임 |
| N-NASH | ▪ 1989년 일본의 전신전화주식회사(NTT)에서 발표한 암호화 해시함수 ▪ 블록 크기와 키 길이가 모두 128비트임 |
| SNEFRU | ▪ 1990년 R.C.Merkle가 발표한 해시 함수 ▪ 32비트 프로세서에서 구현을 용이하게 할 목적으로 개발됨 |
문제11
프로토콜은 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약이다. 프로토콜의 기본 요소 3가지를 쓰시오.
∴ 구문(Syntax), 의미(Semantic), 타이밍(Timing)
프로토콜
▪ 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약 데이터 처리 기능, 제어 기능, 관리적 기능을 가짐
프로토콜 기본 요소
| 구문(Syntax) | ▪ 데이터 형식, 코딩, 신호 레벨 등의 규정 |
| 의미(Semantic) | ▪ 제어 정보로 조정과 에러 처리를 위한 규정 |
| 타이밍(Timing) | ▪ 속도 조절과 순서 관리 규정 |
문제12
다음은 네트워크 공격에 대한 패킷 로그를 표현한 것이다. 아래의 패킷 로그와 같이 공격자가 패킷의 출발지 주소( Address)또는 포트(Port)를 임의로 변경하여 송신측 IP주소 또는 포트를 동일하게 함으로써 송신 IP 주소가 자신이므로 자신에게 응답을 수행하게 된다. 이처럼 자신에 대해 무한히 응답하는 패킷을 계속 전송하여 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비 시켜 서비스 거부 상태에 빠지도록 하는 네트워크 공격 유형이 무엇인지 쓰시오.
∴ LAND Attack
source : 192.168.1.200
destination : 192.168.1.200
protocol : 6
src port : 21845
dst port : 21845
- 서비스 거부 공격의 유형
| Ping of Death (죽음의 핑) |
▪ Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 혀용 범위 (65,536 바이트) 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격방법. |
| Smurfing (스머핑) |
▪ IP나 ICMP 의 특성을 이용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크 또는 시스템의 상태를 불능으로 만드는 공격방법. |
| SYN Flooding | ▪ TCP (Transmission Control Protocol) 는 신뢰성 있는 전송을 위해 3-way-handshake를 거친 후에 데이터를 전송하게 되는데, SYN Floding은 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태에 놓여 정삭적인 서비스를 수행하지 못하게 하는 공격방법. |
| TearDrop | ▪ 데이터의 송,수신 과정에서 패킷의 크기가 커 여러 개로 분할되어 전송될 때 분할 순서를 알 수 있도록 Fragment Offset 값을 함께 전송하는데, TearDrop은 이 Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격방법. |
| LAND Attack (Local Area Network Denial Attack) |
▪ 패킷을 전송할 때 송신 IP주소와 수신 IP주소를 모두 공격 대상의 IP주소로 하여 공격 대상에게 전송하는 것으로, 이 패킷을 받은 공격 대상은 송신 IP 주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답하게 하는 공격. |
| DDoS (Distributed Denial of Service, 분산 서비스 거부 공격) |
▪ 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것으로, 네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트들에 분산서비스 공격용 툴을 설치하여 에이전트(Agent)로 만든 후 DDos 공격에 이용함. |
- 네트워크 침해 공격 관련 용어
| 스미싱 (Smishing) |
▪ 각종 행사 안내, 경품 안내 등의 문자 메시지(SMS)를 이용해 사용자의 개인 신용정보를 빼내는 수법. |
| 사회 공학 (Social Engineering) |
▪ 컴퓨터 보안에 있어 인간 상호작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적인 시스템 침입 수단을 말함. |
| 스피어 피싱 (Speer Phishing) |
▪ 사회 공학의 한 기법으로, 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도해 사용자의 개인 정보를 탈취 함. |
| 세션 하이재킹 (Session Hijacking) |
▪ 상호 인증 과정을 거친 후 접속해 있는 서브와 서로 접속되어 클라이언트 사이의 세션 정보를 가로채는 공격 기법으로, 접속을 위한 인증 정보 없이도 가로챈 세션을 이요해 공격자가 원래의 클라이언트인 것처럼 위장하여 서버의 자원이나 데이터를 무단으로 사용함 ▪ TCP 3-Way-Handshake 과정에 끼어듦으로써 클라이언트와 서버 간의 동기화된 시퀀스 번호를 가로채 서버에 무단으로 접근하는 TCP 세션 하이재킹이 대표적 |
| APT (Advabced Persistent Threats, 지능형 지속 위협) |
▪ 다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태의 공격. |
| 무작위 대입 공격 (Brute Force Attack) |
▪ 암호화된 문서의 암호키를 찾아내기 위해 적용 가능한 모든 값을 대입하여 공격하는 방식. |
| 큐싱 (Qshing) |
▪ QR코드(Quick Response code)를 통해 악성 앱의 다운로드를 유도하거나 악성 프로그램을 설치하도록 하는 금융사기 기법의 하나로, QR코드와 개인정보 및 금융정보를 낚는다(Fising)는 의미의 합성 신조어. |
| SQL 삽입(Injection) 공격 | ▪ 전문 스캐너 프로그램 혹은 붓넷 등을 이용해 웹사이트를 무차별적으로 공격하는 과정에서 취약한 사이트가 발견되면 데이터베이스 등의 데이터를 조작하는 일련의 공격방식. |
| 크로스사이트 스크립팅 (XSS) |
▪ 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 등 스크립트의 취약점을 악용한 해킹 기법. |
*3-way-handshake
- 신뢰성 있는 연결을 위해 송신지와 수신지 간의 통신에 앞서 3단계에 걸친 확인 작업을 수행한 후 통신을 수행
1단계 : 송신지에서 수신지로 'SYN' 패킷을 전송
2단계 : 수신지에서 송신지로 'SYN + ACK' 패킷을 전송
3단계 : 송신지에서 수신지로 'ACK' 패킷을 전송
- 정보 보안 침해 공격 관련 용어
| 좀비 (Zombie) PC | ▪ 악성코드에 감염되어다른 프로그램이나 컴퓨터로인해 조종되도록 만들어진 컴퓨터로, C&C 서버의 제어를 받아 주로 DDoS 공격 등에 이용됨. |
| C&C (Command & Control) 서버 |
▪ 해커가 원격지에서 감염된 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한 용도로 사용하는 서버를 말함. |
| 봇넷 (Botnet) |
▪ 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태를 말함. |
| 웜 (Worm) |
▪ 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종으로 분산 서비스 거부 공격, 버퍼 오버플로 공격, 슬래머 등이 웜 공격의 한 형태임. |
| 제로 데이 공격 (Zero Day Attack) |
▪ 보안 취약점이 발견되었을 때 발견되 취약점의 존재 자체가 널리 공표되기도 전에 해당 취약점을 통하여 이루어지는 보안 공격으로 공격의 신속성을 의미함. |
| 키로거 공격 (Key Logger Attack) |
▪ 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격. |
| 랜섬웨어 (Ransomware) |
▪ 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 함. |
| 백도어 (Back Door, Trap Door) |
▪ 시스템 설계자가 서비스 기술자나 요지 보수 프로그램 작성자(Programmer)의 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로로, 컴퓨터 범죄에 악용되기도 함. 백도어 탐지 방법 : 무결성 검사, 로그분석, SelUID 파일 검사 |
| 트로이 목마 (Trojan Horse) |
▪ 정삭적인 기능을 프로그램으로 위장하여 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으키는 것으로, 자기 복제 능력은 없음. |
| 다크 데이터 (Dark Date) |
▪ 기업이 정보를 수집한 후 저장만 하고 분석에 활용하고 있지 않은 다량의 데이터(사용하지 않고 저장공간만 차지하는 불필요한 정보를 의미) |
문제13
애플리케이션 테스트에서 사용되는 살충제 패러독스(Pesticide Paradox)의 개념을 간략히 설명하시오.
∴ 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상
애플리케이션 테스트
▪ 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
▪ 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation)하고 소프트웨어가 기능을 정확히 수행하는지 검증(Verification)한다.
애플리케이션 테스트의 기본 원리
| 완벽한 테스트 불가능 | ▪ 소프트웨어의 잠재적인 결함을 줄일 수 있지만 소프트웨어에 결함이 없다고 증명할 수 없음 |
| 파레토 법칙 (Pareto Principle) |
▪ 애플리케이션의 20%에 해당하는 코드에서 전체 결함의 80%가 발견된다는 법칙 |
| 살충제 패러독스 (Pesricide Paradox) |
▪ 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상 |
| 테스팅은 정황(Context)의존 | ▪ 소프트웨어의 특징, 테스트 환경, 테스터의 역량 등 정황(Context; 코드의 배경이 되는 조건, 환경 정도)에 따라테스트 결과가 달라질 수 있으므로, 정황에 따라 테스트를 다르게 수행해야 함 |
| 오류-부재의 궤변 (Absence of Errors Fallacy) |
▪ 소프트웨어의 결함은 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당 소프트웨어의 품질이 높다고 말할 수 없는 것 |
| 테스트와 위험은 반비례 | ▪ 테스트를 많이 하면 할 수록 미래에 발생할 위험을 줄일 수 있음 |
| 테스트와 점진적 확대 | ▪ 테스트는 작은 부분에서 시작하여 점점 확대하며 진행해야 함 |
| 테스트의 별도 팀 수행 | ▪ 테스트는 개발자와 관계없는 별도의 팀에서 수행해야 함 |
문제17
학생(STUDENT) 테이블에 '전기과' 학생이 50명, '전산과' 학생이 100명, '전자과' 학생이 50명 있다고 할 때, 다음 SQL문 ①, ②, ③의 실행 결과로 표시되는 튜플의 수를 쓰시오.(DEPT 필드는 학과를 의미)
① 200
② 3
③ 1
▪ 1번의 경우 STUDENT 테이블에서 DEPT를 검색하고 총 50 + 100 + 50임으로 200개의 튜플이 있다.
▪ 2번의 경우 STUDENT 테이블에서 DEPT를 검색하는데 중복된 결과는 처음 한개만 포함시킨다 '전기과' 50개 튜플은 DEPT 속성과 같으므로 1개, 전산과 : 100 => 1개, 전자과 : 50 => 1개 그래서 총 3개의 튜플이 있다.
▪ 3번의 경우 STUDENT 테이블에서 DEPT를 중복을 제외하고 검색을 하는데 조건이 DEPT가 전산과인 것만 조회한다. 즉, 1개의 튜플 수가 존재한다.
=> 만약 DISTINCT COUNT(DEPT)이고 DEPT를 제외한 다른 필드값이 있었다면, 1이 아니게 될 수 있다.
=> 이 문제는 DEPT 필드의 중복값을 제거한거지만 DISTINCT COUNT(DEPT)은 튜플이 그 대상이 된다.
문제18
데이터 마이닝(Data Mining)의 개념을 간략히 서술하시오.
∴ 대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법
DB 관련 신기술
| 빅데이터 (Big Data) |
▪ 기존의 과니 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합 ▪ 빅데이터가 주목받고 있는 이유는 기억이나 정부, 포털 등이 빅데이터를 효과적으로 분석함으로써 미래를 예측해 최적의 대응 방안을 찾고, 이를 수익으로 연결하여 새로운 가치를 창출하기 때문임 |
| 브로드 데이터 (Broad Data) |
▪ 다양한 채널에서 소비자와 상호 작용을 통해 생성된 것으로, 기업 마게팅에 있어 효율적이고 다양한 데이터이며, 이전에 사용하지 않거나 알지 못했던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터 |
| 메타 데이터 (Meta Data) |
▪ 일련의 데이터를 정의하고 설명해 주는 데이터 ▪ 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미함 ▪ HTML 문서에서는 메타 태그 내의 내용이 메타 데이터임 |
| 디지털 아카이빙 (Digital Archiving) |
▪ 디지털 정보 자원을 장기적으로 보존하기 위한 작업 ▪ 아날로그 콘텐츠는 디지털로 변환 후 압축해서 저장하고, 디지털 콘텐츠도 체계적으로 분류하고 메타데이터를 만들어 DB화하는 작업임 |
| 하둡 (Hadoop) |
▪ 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼 ▪ 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크 ▪ 구글, 야후 등에 적용되고 있음 |
| 맵리듀스 (MapReduce) |
▪ 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델 ▪ 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업을 수행한 후 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행함 ▪ Google에 의해 고안되었으며, 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법으로 많이 사용되고 있음 |
| 타조 (Tajo) |
▪ 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트 *데이터 웨어하우스(Data Warehouse) - 기업의 의사결정 과정에 효과적으로 사용될 수 있도록 여러 시스템에 분산되어 있는 데이터를 주제별로 통합 ∙ 축적해 놓은 데이터베이스 |
| 데이터 다이어트 (Data Diet) |
▪ 데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 저장하는 작업 |
| 데이터 마이닝 (Data Mining) |
▪ 대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법 |
| OLAP (Online Analytical Processing) |
▪ 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식 ▪ OLAP 연산 : Roll-up, Drill-down, Drill-through, Drill-across, Pivoting, Slicing, Dicing |

'Study IT > 정보처리기사' 카테고리의 다른 글
| 2020년 2회 정보처리기사 실기 (2) | 2023.04.22 |
|---|---|
| 2020년 3회 정보처리기사 실기 (3) | 2023.04.21 |
| 2020년 4∙5회 통합 정보처리기사 실기 (3) | 2023.04.21 |
| 2022년 3회 정보처리기사 실기 (2) | 2023.04.19 |
| 2021년 1회 정보처리기사 실기 (1) | 2023.04.18 |