정보처리기사 필기) 시나공 모의고사 정리 - 2과목 소프트웨어 개발
본문 바로가기
정보처리기사/정보처리기사 필기

정보처리기사 필기) 시나공 모의고사 정리 - 2과목 소프트웨어 개발

by 코딩하는 핑가 2020. 8. 18.
반응형

1회

23. 기본 용어

* TCL(Transaction Control Language)

- 트랜잭션을 제어하기 위해서 사용되는 명령어

- 종류 : COMMIT, ROLLBACK, SAVEPOINT

* SQL

- 관계형 데이터베이스를 지원하는 언어

- DDL, DML, DCL로 구분됨

* DDL

- SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어

* DML

- 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어

* DCL

- 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는 데 사용되는 언어

 

25. IPC 메소드 ( InterProcess Communication )

* Shared Memory

- 다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신을 수행함

* Socket

- 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스들 간 통신을 수행함

* Semaphores

- 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신을 수행함

* Pipes&named Pipes

- Pipe라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신을 수행함

* Message Queueing

- 메시지가 발생하면 이를 전달하는 형태로 프로세스 간 통신을 수행함

 

26. ISO/IEC/IEEE 29119-3 표준에 따른 테스트 케이스 구성 요소

* 식별자, 테스트 항목, 입력 명세, 출력 명세, 환경 설정, 특수 절차 요구, 의존성 기술

 

29. 릴리즈 노트(Release Note)를 통해 확인할 수 있는 정보

- 테스트 진행 방법에 대한 결과

- 소프트웨어 사양에 대한 개발팀의 정확한 준수 여부

- 소프트웨어에 포함된 전체 기능

- 소프트웨어의 사용 환경

- 서비스의 내용과 개선 사항

 

31. 소프트웨어 사용자 매뉴얼

- 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서

- 사용자가 소프트웨어 사용에 필요한 절차, 환경 등의 제반사항이 모두 포함되도록 작성

- 소프트웨어 배포 후 발생될 수 있는 오류에 대한 패치나 기능에 대한 업그레이드를 위해 매뉴얼의 버전을 관리

- 개별적으로 동작이 가능한 컴포넌트 단위로 매뉴얼 작성

- 사용자 매뉴얼은 컴포넌트 명세서와 컴포넌트 구현 설계서를 토대로 작성

- 목차 및 개요, 서문, 기본 사항 등이 기본적으로 포함되어야 함

 

32. 형상관리의 기능

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

* 형상 식별

- 형상 관리 대상에 이름과 관리 번호를 부여하고, 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업

* 버전 제어

- 소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구(Tool)를 결합시키는 작업

* 형상 통제(변경 관리)

- 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선(Base Line)이 잘 반영될 수 있도록 조정하는 작업

* 형상 감사

- 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업

* 형상 기록(상태 보고)

- 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업

 

35. 테스트

* 구조 기반 테스트

- 구문 기반 테스트, 결정 기반 테스트 등 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인

* 명세 기반 테스트

- 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지를 확인하는 테스트

* 경험 기반 테스트

- 유사 소프트웨어나 기술 등에 대한 테스터의 경험을 기반으로 수행하는 테스트

* 정적 테스트

- 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트

 

38. 테스트 데이터

- 시스템의 기능이나 적합성 등을  테스트하기 위해 만든 데이터 집합

- 소프트웨어의 기능을 차례대로 테스트할 수 있도록 만든 데이터

- 잘못된 데이터는 잘못된 결과를 도출하기 때문에 효율적인 테스트를 위해서는 올바른 테스트 데이터를 준비해야 함

* 종류

- 실제 데이터 : 선행된 연산에 의해 만들거나 실제 운영되는 데이터를 복제한 데이터

- 가상 데이터 : 스크립트를 통해서 인위적으로 만든 데이터

 

39. 테스트 하네스(Test Harness)의 구성요소

* 테스트 드라이버

- 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 도구

* 테스트 스텁

- 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건만을 가지고 있는 테스트용 모듈

* 테스트 슈트

- 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합

* 테스트 케이스

- 사용자의 요구사항을 정확하게 준수했는지 확인하기 위한 입력값, 실행조건, 기대 결과등으로 만들어진 테스트 항목의 명세서

* 테스트 스크립트

- 자동화된 테스트 실행 절차에 대한 명세서

* 목 오브젝트

- 사전에 사용자의 행위를 조건부로 입력해 두면, 그 상황에 맞는 예정된 행위를 수행하는 객체

2회

22. 데이터베이스의 정의

* 저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료

* 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터의 모임

* 운영 데이터(Operational Data) : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료

* 공용 데이터(Shared Data) : 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료

 

23. 소프트웨어 설치 매뉴얼 작성 내용 및 방법

- 사용자가 설치 과정을 이해하기 쉽도록 설치 화면을 누락 없이 캡쳐하고 순서대로 상세히 설명함

* 설치 화면 및 UI

- 설치 실행과 메인 화면 및 안내창에 대한 내용을 기술함

* 설치 이상 메시지 설명

- 설치 방법이나 설치 환경이 잘못된 경우 표시될 수 있는 메시지에 대해 설명함

* 설치 완료 및 결과

- 설치 완료 화면을 수록하여 설치가 정상적으로 마무리되었음을 사용자에게 최종적으로 알림

* FAQ

- 설치 과정에서 사용자가 직면할 수 있는 문제 상황에 대비할 수 있도록 설치 시 발생할 수 있는 다양한 상황을 FAQ로 정리하여 수록함

* 설치 시 점검 사항

- 설치 전 사용자의 설치 환경에 따라 점검해야 할 사항들이 무엇인지 설명

- 설치에 필요한 사용자 계정 및 설치 권한에 대해 확인할 수 있도록 설명

- 설치 과정에서 오류가 발생할 경우 점검할 수 있는 사항들에 대해 설명

* Network 환경 및 보안

- 네트워크 오류로 인해 설치 시 문제가 발생하지 않도록 사전에 필요한 네트워크 연결 상태를 점검하도록 안내함

- 보안이나 방화벽으로 인해 설치 시 문제가 발생하지 않도록 관련된 내용을 안내함

* 고객 지원 방법(Customer Support)

- 설치와 관련하여 기술적인 지원이나 소프트웨어에 대한 서비스를 원할 경우 국가, 웹사이트, 전화번호, 이메일 등 문의할 수 있는 연락처를 안내함

* 준수 정보 & 제한 보증(Compliance Information & Limited Warranty)

- Serial 보존, 불법 등록 사용 금지 등에 대한 준수 사항을 안내함

- 저작권자 소유권 정보, SW 허가권 정보, 통신 규격, 개발언어, 연동 프로그램, 문서 효력, 지적 소유권 정보 등과 관련된 내용을 안내함

 

25. 테스트 시나리오 작성 시 유의 사항

- 시스템별, 모듈별, 항목별 등과 같이 여러 개의 시나리오로 분리하여 작성해야함

- 사용자의 요구사항과 설계 문서 등을 토대로 작성해야함

- 각각의 테스트 항목은 식별자 변호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등을 포함해서 작성해야함

- 유스케이스 간 업무 흐름이 정상적인지를 테스트할 수 있도록 작성해야함

- 개발된 모듈 또는 프로그램 간의 연계가 정상적으로 동작하는지 테스트할 수 있도록 작성해야함

 

26. 결함 관리 프로세스

* 결함 관리 계획

- 전체 프로세스에 대한 결함 관리 일정, 인력, 업무 프로세스 등을 확보하여 계획을 수립

* 결함 기록

- 발견된 결함을 결함 관리 DB에 등록

* 결함 검토

- 등록된 결함을 검토하고 수정할 개발자에게 전달

* 결함 수정

- 개발자가 결함 수정

* 결함 재확인

- 개발자가 수정한 내용을 확인하고 다시 테스트를 수행

* 결함 상태 추적 및 모니터링 활동

- 결함관리 상태를 한눈에 확인할 수 있도록 대시보드나 게시판 형태로 제공

* 최종 결함 분석 및 보고서 작성

- 발견된 결함에 대한 정보와 이해관계자들의 의견이 반영된 보고서를 작성하고 결함관리를 종료

 

27. 성능 테스트 도구

- 애플리케이션의 성능을 테스트하기 위해 애플리케이션에 부하나 스트레스를 가하면서 애플리케이션의 성능 측정 지표를 점검하는 도구

* 부하(Load) 테스트 : 애플리케이션에 일정 시간 동안 부하를 가하면서 반응을 측정하는 테스트

* 스트레스(Stress) 테스트 : 부하 테스트를 확장한 테스트로, 애플리케이션이 과부하 상태에서 어떻게 작동하는지 테스트

* 종류

- JMeter : HTTP, FTP 등 다양한 프로토콜을 지원하는 부하 테스트 도구

- LoadUI : 서버 모니터링, Drag&Drop 등 사용자의 편리성이 강화된 부하 테스트 도구

- OpenSTA : HTTP, HTTPS 프로토콜에 대한 부하 테스트 및 생산품 모니터링 도구

 

29. 소프트웨어 용어

* APM(Application Performance Management/Monitoring)

- 애플리케이션의 성능 관리를 위해 접속자, 자원 현황, 트랜잭션 수행 내역, 장애 진단 등 다양한 모니터링 기능을 제공하는 소프트웨어

* ESB(Enterprise Service Bus)

- 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션

* EAI(Enterprise Application Integration)

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

* 옵티마이저(Optimizer)

- SQL문을 수행할 가장 효율적이고 빠른 방법을 선택해주는 DBMS의 핵심 엔진

 

35. 하향식 통합 테스트(Top Down Integration Test)

- 프로그램의 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법

- 주요 제어 모듈을 기준으로 하여 아래 단계로 이동하면서 통합하는데, 이때 깊이 우선 통합법이나 넓이 우선 통합법을 사용한다.

- 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있다

- 상위 모듈에서는 테스트 케이스를 사용하기 어렵다.

* 수행 절차

- 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈은 스텁(Stub)으로 대체한다.

- 깊이 우선 또는 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈로 교체한다.

- 모듈이 통합될 때마다 테스트를 실시한다.

- 새로운 오류가 발생하지 않음을 보증하기 위해 회귀 테스트를 실시한다.

 

39. 인터페이스 보안 기능

* 네트워크 영역

- 인터페이스 송수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화를 설정

- 암호화는 인터페이스 아키텍처에 따라 IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용한다.

* 애플리케이션 영역

- 소프트웨어 개발 보안 가이드를 참조하여 애플리케이션 코드 상의 보안 취약점을 보완하는 방향으로 애플리케이션 보안 기능을 적용함

* 데이터베이스 영역

- 데이터베이스, 스키마, 엔티티의 접근 권한관 프로시저(Procedure), 트리거 등 데이터베이스 동작 객체의 보안 취약점에 보안 기능을 적용한다.

- 개인 정보나 업무상 민감한 데이터의 경우 암호화나 익명화 등 데이터 자체의 보안 방안도 고려한다.

반응형

댓글