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

[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 2 통합 구현 공부

by Mr.ticket 2023. 12. 11.
728x90
1. 메모

 

인터프리터(Interpreter) : 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램

 

스키마(Schema) : 데이터베이스 내에 어떤 구조로 데이터가 저장되는가를 나타내는 데이터베이스 구조

 

2. Point

 

모듈화 : 하나의 큰 작업을 각 기능에 따라 실제로 개발 가능한 작은 단위로 나누는 것을 의미하며, 모듈의 독립성은 결합도가 낮고, 응집도가 높아야 좋다.

 - 결합도 : 모듈들이 서로 관련되거나 연결된 정도

 - 응집도 : 한 모듈 내에 있는 처리 요소들 사이의 기능적인 연관 정도

 

블랙박스 테스트 : 프로그램의 논리(알고리즘)을 고려하지 않고, 프로그램의 기능이나 인터페이스에 관한 외부 명세로부터 직접 테스트하여 데이터를 선정하는 방법

 - 테스트 기법

구분 내용
동등(동치) 분할
(Equivalence Partitioning)
- 프로그램의 입력 도메인을 테스트 사례가 산출될 수 있는 데이터의 클래스로 분류하여 테스트 사례를 만들어 검사하는 방법
- 프로그램의 입력 조건을 중심으로 입력 조건에 타당한 값과 그렇지 못한 값을 설정하여 각 동등 클래스 내의 임의의 값을 테스트 사례로 선정
경계값 분석
(Boundary Analysis)
- 입력 조건의 중간값보다 경계값에서 오류가 발생할 확률이 높다는 것을 이용하여 입력 조건의 경계값에서 테스트 사례를 선정
원인-결과 그래프 기법 - 입력 데이터 간의 관계가 출력에 미치는 상황을 체계적으로 분석하여 효용성 높은 테스트 사례를 추출하여 테스트하는 기법
- 프로그램의 외부 명세에 의한 입력 조건과 그 입력으로 발생되는 출력을 논리적으로 연결시킨 그래프로 표현하여 테스트 사례 유도
오류 추측(Error-Guessing) 기법 - 다른 블랙박스 테스트 기법들이 놓칠 수 있을 만한 오류를 감각과 경험으로 찾아내는 일련의 보충적 테스트
비교 테스트(Comparison Testing) 기법 - 소프트웨어의 신뢰성이 절대적으로 중요할 시에 똑같은 기능의 소프트웨어를 개발하여 비교하며 테스트
조합 테스트
(Combinatiorial Test)
-each choice 조합과 all combinations 조합 : each choice 조합 테스트는 각 입력 인자의 분할된 클래스로부터 최소한 하나의 입력값이 테스트 케이스에 포함되도록 하는 조합이고, all combinations 조합 테스트는 모든 가능한 클래스의 조합이 테스트 케이스에 포함되도록 하는 것
- Pairwise Test : 입력들의 모든 가능한 조합들을 테스트하는 대신 각 인자의 값을 다른 인자의 값과 최소한 한 번은 짝을 지어 테스트하는 방법
- Orthogonal Array Test : 모든 원소의 서로소 집합인 직교 배열의 원리를 소프트웨어 테스트 설계에 적용하여 조합의 수를 줄이면서도 결함 검출 비율이 동일한 테스트 기법

 

화이트박스 테스트 : 프로그램 내의 모든 논리적 구조를 파악하거나 경로들의 복잡도를 계산하여 테스트하는 방법

 - 기초 경로 테스트 : McCabe에 의해 제안된 가장 대표적인 기법으로 상세 설계 및 원시 코드를 기초로 논리 흐름도를 작성하여 프로그램의 논리적 복잡도를 측정

 - 루프 테스트(Loop Testing) : 프로그램 반복 구조에 국한해서 실시하는 테스트

 - 조건 테스트 : 모듈 내에 포함된 논리적 조건을 검사하여 테스트 사례를 설계

 - 테이터 흐름 테스트(Data Flow Testing) : 변수 정의의 위치와 변수들의 사용에 따라 검사 경로를 선택하는 조건 구조 검사

 

복잡도 공식

 - V(G) = E - N + 2(E : 간선의 수, N : 노드의 수)

 - V(G) = P + 1(P : 분기 Node 수)

 

형상 관리의 기능

 1. 형상 식별 : 소프트웨어 형상의 모든 항목에 대해 의미 있고 항구적인 명명을 보증하는 소프트웨어 형상 관리 활동

 2. 형상 통제 : 식별된 SCI의 변경 요구를 검토하고 승인하여 현재의 베이스라인에 적절히 반영될 수 있도록 통제하기 위한 형상 관리 활동

 3. 형상 감사 : 변경이 적절하게 시행되었는지 객관적인 검증과 확인 과정을 거쳐 새로운 형상의 무결성을 확보하기 위한 활동

 4. 형상 보고(기록) : 형상 식별, 통제, 감사 기능의 수행 결과를 기록하고 데이터베이스에 의해 관리하며, 이에 대한 보고서를 작성하는 활동

 

외계인 코드(Alien Code) : 아주 오래되거나 참고문서나 개발자가 없어 유지보수 작업이 어려운 프로그램

 

3. 오답 노트

 

다음 중 통합 개발 환경(IDE)의 기능으로 가장 거리가 먼 것은 ?

1. 소스 코드 버그 검사 기능 제공

2. 컴파일 및 디버깅 기능 제공

3. 로컬 빌드 자동화 기능 제공

4. 일정 및 이슈 공유 기능 제공

일정 및 이슈 공유 기능 제공은 협업도구에 관한 설명이다.

 

화이트박스 테스트 기법이 아닌 것은 ?

1. Data Flow Test

2. Loop Test

3. Basic Path Test

4. Equivalence Partitioning Test

Equivalence Partitioning Test는 블랙박스 테스트 기법이다.

 

소프트웨어 테스트와 관련한 설명으로 틀린 것은 ?

1. 화이트박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.

2. 블랙박스 테스트는 프로그램의 구조 고려하지 않는다.

3. 테스트 케이스에는 일반적으로 시험 조건, 테스트 테이터, 예상 결과가 포함되어야 한다.

4. 화이트박스 테스트에서 기본 경로란 흐름 그래프의 시작 노드에서 종료 노드까지의 서로 독립된 경로로 싸이클을 허용하지 않는 경로를 말한다.

기본 경로는 시작 노드에서 종료 노드까지 서로 독립된 경로로 싸이클을 허용하는 경로를 의미한다.

 

Software Configuration Management에 대한 설명으로 옳지 않은 것은 ?

1. 소프트웨어 형상 항목에는 시스템 명세서, 소프트웨어 프로젝트 계획서, 소프트웨어 요구사항 명세서 등이 포함된다.

2. 소프트웨어 개발 과정에서 소프트웨어에 대한 변경 사항을 관리하기 위해 수행되는 일련의 활동들을 의미하며, 성공적인 형상 관리를 위해서는 유지보수 단계에서 계획하여야 한다.

3. 소프트웨어 형상 관리 활동에 관련된 사람들을 형상 통제 위원회라고 부르며, 구성원에는 프로젝트 관리자, 품질담당자, 기술담당자와 고객 측 담당자 등이 포함된다.

4. 형상 관리 도구로는 Clearcase, CVS 등이 있다.

성공적인 형상 관리를 위해서는 전 단계에서 계획하고 괸라해야 한다.

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글