본문 바로가기
정보처리기사 자격증

[내가 공부하려고 ~] 정처기 요약 정리 - 2유형

by 용굥이 2023. 6. 20.

[2유형]

1. 블랙박스 테스트

 -> Black Box 처럼 내부 소스코드를 볼 수 없음

 

※ 블랙박스 테스트 종류

1) 동치 분할 검사 : 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법으로 동등 분할 기법이라고도 함

 -> 즉, 동일한 결과를 만들 것으로 예상되는 입력 값의 범위를 정하고 각 범위를 대푯값을 선택하는 방식!

ex) A학점 : 90~100점 -> 95점   B학점 : 80~89점 -> 85점   C학점 : 70 ~79점 ->75점

2) 경계값 분석 : 동치 분할 검사를 보완하기 위한 기법으로 대푯값의 범위를 값의 경계 범위까지 확장하여 문제를 해결해 주는 기법이다.

ex) 범위 0 ~ 10 -> 경계값 -1   /   90 ~ 100 -> 경계값 : 101

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

4) 오류 예측 검사 : 과거의 경험과 감각을 기반으로 테스트

-> 다른 기법으로는 찾아낼 수 없는 오류를 검사와 경험으로 찾아보는 기법이다.

5) 비교 검사 : 여러 버전 프로그램에 동일한 테스트 자료를 넣어서 동일한 결과가 출력되는지 테스트

 

2. 화이트박스 테스트

1) 기초 경로 검사 : 설계나 코드 기초로 흐름도 작성 후 경로 실행 검사

2) 제어 구조 검사 : 논리적 조건 테스트 / 프로그램 반복(Loop) 구조 검사 / 변수 사용(Data Flow) 검사

 

※ 화이트박스 설계 기법 분류

*커버리지 : 어느 정도를 커버했는지, 테스트 수행이 된 정도를 의미

1) 문장 커버리지 : 프로그램 내 모든 문장 한번 이상 실행

2) 분기 커버리지 : 프로그램의 모든 분기 조건(if, for, while 등) 검사

3) 조건 커버리지 : 모든 기본 조건들이 참이 되는 경우, 거짓이 되는 경우 모두 발생

 

3. 인수 테스트(Acceptance Test)

- 개발한 소프트웨어가 사용자의 요구사항을 충족하는 가를 테스트

 

인스테스트 종류

1) 사용자 인수 테스트 : 사용자가 시스템 사용의 적절성 여부 확인

2) 운영상의 인수 테스트 : 시스템 관리자가 백업 / 복원 시스템 등 테스트

3) 계약 인수 테스트 : 계약상의 조건을 준수하는지 여부 확인

4) 규정 인수 테스트 : 규정에 맞게 개발되었는지 확인

5) 알파테스트 : 개발자 앞에서 사용자가 행하는 테스트(통제된 환경)

6) 베타테스트 : 사용자가 여러 사용자 앞에서 행하는 테스트(통제된 환경 x)

 

4. 트리의 차수

1) 트리(Tree) : 데이터를 계층화 시킨 자료 구조

2) 루트 노드(Root Node) : 부모가 없는 노드, 최상위 노드

 

3) 터미널 노드(Terminal Node) : 자식 없는 노드

4) 차수(Degree) : 자식 노드의 개수

 

5) 깊이(Depth) : 노드 최대 레벨

 

5. 트리 순회

트리 순회 방식

1) 중위 순회(Inorder) : Left - Root - Right

2) 전위 순회(Preorder) : Root - Left - Right

3) 후위 순회(Postorder) : Left - Right - Root

 

6. EAI (Enterprise Application Integration)

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

즉, 기업 애플리케이션 통합임

유형 기능
포인트 투 포인트
(Point to Point)
점 대 점으로 연결하는 방식, 변경 및 재사용이 어려움
허브 앤 스포크
(Hub & Spoke)
단일 접점인 허브(Hub) 시스템을 통해 데이터를 전송하는 중앙 집중형 방식, 확장 및 유지보수가 용이하지만 허브 장애 발생 시 시스템 전체에 영향을 미침
메시지 버스
(Message Bus, ESB방식)
애플리케이션 사이에 미들웨어를 두어 처리하는 방식, 확장성이 뛰어나며 대용량 처리가 가능
하이브리드
(Hybrid)
Hub & Spoke(그룹 내)와 Message Bus(그룹 간)의 혼합 방식, 데이터 병목 현상을 최소화

 

7. 형상 관리

- 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동

* 대표적 형상 관리 툴 : GIT, SVN

ex) 소프트웨어의 버전 관리

 

8. DRM (Digital Rights Management, 디지털 저작권 관리)

- 디지털 콘텐츠의 무단 사용을 막아, 제공자의 권리와 이익을 보호해주는 기술과 서비스

- 불법 복제와 변조 방지

- 중앙의 클리어링 하우스에서 키 관리 및 라이선스 발급 관리

 

9. 소프트웨어 패키징 도구

1) 제품 소프트웨어 패키징

 -> 개발이 완료된 소프트웨어를 고객에게 전달하기 위해 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것

-> 개발자가 아닌 사용자를 중심으로 진행

 

 

2) 제품 소프트웨어 패키징 도구

 -> 패키징 시 디지털 콘텐츠의 지식 재산권을 보호하고 관리하는 기능 제공, 안전한 유통, 배포 보장하는 도구

 

3) 패키징 작업 순서

 - 기능 식별 -> 모듈화 -> 빌드 진행 -> 사용자 환경 분석 -> 패키징 및 적용 시험 -> 패키징 변경 개선 -> 배포

 

10. 인터페이스 보안

 - 인터페이스 보안 기능

구분 설명
네트워크 영역 송수신간 스니핑 등을 이용한 데이터 탈취 및 변조 위험을 방지하기 휘해 네트워크 트래픽에 대한 암호화 설정
ex) IPSec, SSL/TLS, S_HTTP 등 보안 채널 활용하여 암호화
애플리케이션 영역 소프트웨어 개발 보안 가이드(시큐어 코딩 가이드)를 참조하여 코드 상의 취약점을 보완
데이터베이스 영역 접근 권한의 데이터베이스 동작 객체의 취약점에 보안 기능 적용

 

 - 인터페이스 구현 기술

구분 설명
JSON
(JavaScript Object Notation)
비동기식 브라우저/서버 통신을 위해 "속성 - 값" 쌍으로 이루어진 오브젝트를 전달하기 위한 인간이 읽기 쉬운 텍스트를 사용하는 개방형 표준 포멧
REST
(REpresentational State Transfer)
URL 자원을 활용하여 HTTP 메서드를 주고받는 웹 아키텍처
AJAX
(Asynchronous JavaScript and XML)
자바스크립트를 이용한 비동기식 통신 기술로 클라이언트와 서버 간에 XML(EXtensible Makeup Language) 데이터를 주고 받는 기술

 

* IPSec : IP패킷 단위의 데이터 변조 방지 및 은닉기능을 제공하는 프로토콜

* SSL/TLS : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화 프로토콜

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