bread, coffee and coding
정보처리기사: 2021년 05월 15일 기출 문제 풀이 2과목 본문
21. 힙정렬(Heap Sort)에 대한 설명으로 틀린 것은?
1.정렬
아이템이나 레코드에 포함된 필드의 키에 따라 정보의 요소들을 배열하는 것
주기억장치에서 이루어지는 내부 정렬: 히프정렬/ 삽입정렬/ 셀 정렬/ 버블 정렬/ 퀵 정렬/ 2-way 병합 정렬/ 선택 정렬 / 기수 정렬
2. 히프 정렬(= 힙 정렬, heap sort)
- 진 이진트리를 이용한 정렬 방식
- 평균과 최악 모두 시간 복잡도 O (nlog2n)
- 정렬할 입력 레코드들로 힘을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법
3. 삽입 정렬
- 하나씩 삽입하면서 정렬
4. 버블정렬
- 인접해 있는 자료를 비교하면서 정렬
5. 퀵 정렬
- 키를 기분으로 작은 값은 왼쪽에, 큰 값은 오른족 서브 파일로 분해시키는 방식
6. 2-way (병합 정렬)
- 2개의 자료를 하나로 합치면서 정렬
7. 선택 정렬
- 최소값을 찾아 나머지 모두와 비교하면서 정렬
22. 다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은>?
단위 테스트는 코딩으로 진행 하는 테스트라고 생각하면 쉽다
코딩으로 하는 것은
알고리즘 오류에 따른 원치 않는 결과
탈출구가 없는 반복문의 사용
모듈 간의 비정상적 상호작용으로 인한 원치 않는 결과
틀린 계산 수식에 의한 잘못된 결과
중
코드가 독립적이어야 함으로 각 모듈간의 상호 작용은 상관이 없다
각 모듈간의 상호 작용은 통합 테스트이다
23. 애플리케이션 테스트의 기본 원리
완벽한 테스트 불가능
- 애플리케이션 테스트는 소프트웨어의 잠재적인 결함을 줄일 수 있지만 소프트웨어에 결함이 없다고 증명할 수는 없다. 즉 완벽한 소프트웨어 테스팅은 불가능하다.
결합 집중
- 애플리케이션의 결함은 대부분 개발자의 특성이나 애플리케이션의 기능적 특징 때문에 특정 모듈에 집중되어 있다. 애플리케이션의 20%에 해당하는 코드에서 전체 결함의 80%가 발견된다고 하여 파레토 법칙을 적용하기도 한다.
살충제 패러독스
- 애플리케이션 테스트에서는 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 '살충제 패러독스' 현상이 발생한다. 살충제 패러독스를 방지하기 위해서 테스트 케이스를 지속적으로 보안 및 개선해야 한다.
- 살충제 패러독스는 살충제를 지속적으로 뿌리면 벌레가 내성이 생겨 죽지 않는 현상을 의미합니다.
테스팅은 정황 의존
- 애플리케이션 테스트는 소프트웨어 특징, 테스트 환경, 테스터 역량 등 정황에 따라 테스트 결과가 달라질 수 있으므로, 정황에 따라 테스트를 다르게 수행해야 한다.
오류 - 부재의 궤변
- 소프트웨어의 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없다. 이것을 오류-부재의 궤변이라고 한다.
테스트와 위험은 반비례
- 테스트를 많이 하면 할수록 미래에 발생할 위험을 줄일 수 있다.
테스트의 점진적 확대
- 테스트는 작은 부분에서 시작하여 점점 확대하며 진행해야 한다.
테스트의 별도 팀 수행
- 테스트는 개발자와 관계없는 별도의 팀에서 수행해야 한다.
24. 버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는?
- 저장소(Repository) : 최신 버전의 파일들과 변경 내역에 대한 정보들이 저장되어 있는 곳
- 가져오기(import) : 버전 관리가 되고 있지 않은 아무것도 없는 저장소에 처음으로 파일을 복사
- 체크아웃(Check-Out) : 프로그램을 수정하기 위해 저장소에서 파일을 받아옴, 소스 파일과 함께 버전 관리를 위한 파일들도 받아옴
- 체크인(Check-In) : 체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전으로 갱신
- 커밋(Commit) : 체크인을 수행할 때 이전에 갱신된 내용이 있는 경우에 충돌을 알리고 diff 도구를 이용해 수정한 후 갱신을 완료
- 동기화(Update) : 저장소에 있는 최신 버전으로 자신의 작업 공간을 동기화 함
25. 소프트웨어 테스트와 관련한 설명으로 틀린것은?
화이트박스 테스트
- 화이트박스 테스트는 모듈의 원시 코드를 오픈시킨 상태에서 코드의 논리적 모든 경로를 테스트하는 방법이다
화이트박스 테스트 종류에는 기초경로 검사, 제어 구조 검사등이 있다
기초 경로검사: 테스트케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 함
제어 구조 검사: 조건 검사, 루프 검사, 데이터 흐름 검사
블랙박스 테스트
블랙 박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트로 기능 테스트라고도 한다
블랙박스 테스트의 종류
동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
27.소프트웨어 형상 관리에 대한 설명으로 거리가 먼 것은?
형상관리가 뭘까(SCM :software Configuration Management)
파번: Configuration : 배열이란 뜻과 환경설정이라는 뜻이 있다
소프트웨어의 개발과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다
형상이란 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭하는 말
28. 디지털 저작권 관리(DRM) 구성요서가 아닌 것은?
디지털 저작권 관리의 기술 요소
암호화 /키 관리/ 암호화 파일 생성/ 식별기술/ 저작권 표현/ 크랙 방지/ 인증

파번
Provider : 공급자
Distributor: 유통업체

인터페이스의 구현 검증 도구에는
xUnit / STAF / FitNesse / NTAF / Selenium / watir
한가지의 특징만 외워도 충분하다
xUnit : 다양한 언어를 지원하는 단위 테스트 프레임 워크가 들어가 있어야함
STAF : 서비스 호출 및 컴포넌트 재사용이라는 말이 들어가있으면
FitNesse : 웹 기반 테스트 케이스라는 말
NTAF : NHN(Naver)의 테스트 자동화 프레임
Selenium : 웹 어플리케이션 테스트 프레임 워크
watir : Ruby를 사용하는 애플리케이션 테스트 프레임 워크
https://devinus.tistory.com/18 여기 공부하기 좋음

그냥 읽으면 답이 나옴
클린코드의 작성원칙은
중복의 최소화 / 가독성 / 단순성 / 의존성 배제가 있다.

이 문제도 읽으면 답이 나오는 문제이다 .
소프트웨어 패키징이란 뭘까
모듈별로 생성한 실행 파일들을 하나로 합쳐서 설치 파일을 만드는 것을 말하는데
이는 사용자가 사용하기 쉽게 하나로 합치는 것이다.
고로 개발자 중심으로 진행하는 것이 아니고 사용자 중심으로 패키징을 해야한다.

이 문제도 읽으면 답이 나오는 문제이다.
소프트웨어의 인터페이스는 End User의 수준에 맞게 직관적이고 사용하기 쉽게 설계. 개발 되어야 한다.

이 문제도 간단하다..
Coding -> Testing -> Error 발생(=버그 발생이라고도함) -> Error 수정 (= 디버깅이라고도함) ->Retestiong

선택정렬은 큐를 이용해서 정렬하는 것.
'Certificate' 카테고리의 다른 글
| 정보처리기사: 2021년 05월 15일 기출 문제 풀이 4과목 (0) | 2021.08.10 |
|---|---|
| 정보처리기사: 2021년 05월 15일 기출 문제 풀이 3과목 (0) | 2021.08.10 |
| 정보처리기사: 2021년 05월 15일 기출 문제 풀이 1과목 (0) | 2021.07.26 |
| 제 1과목 소프트웨어 설계(요구사항 확인) (0) | 2021.07.10 |