2021.05.15 기출 오답노트 및 재정리 (2과목)

2023. 3. 3. 20:27정처기 필기/기출

21. 힙정렬

- 힙을 구성하고 가장 큰 키값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬

- 평균 수행 시간 OlogN

- 완전 이진트리로 입력자료의 레코들르 구성

 

22. 모듈 간의의 상호작용으로 오류는 통합 테스트가 필요

 

23. 소프트웨어 테스트 기본원칙

- 살충제 페러독스

  : 같은 테스트케이스만 써서는 오류를 찾을 수 없음

 

- 오류 부재의 궤변

  : 아무리 테스트케이스에 다 통과해도 사용자 요구사항을 충족시키지 못하면 나쁜 SW임

 

- 결함 집중

  : 결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.

 

24. 버전 등록 관련 주요 용어

- 가져오기 (import) : 버전 관리가 되고 있지 않은 저장소에 처음으로 파일을 복사

- 체크아웃 : 프로그램을 수정하기 위해 저장소에서 파일을 받아온다. 

- 체크인 : 체크아웃한 파일의 수정을 완료하고 저장소의 파일을 업데이트

- 커밋 : 체크인을 수행할때 이전에 갱신된 내용이 있으면 충돌을 알리고 diff 도구를 이용해 수정, 갱신완료

- 동기화 : 저장소에 있는 최신 버전으로 자신의 작업공간을 동기화

 

25. 화이트박스 테스트

- 기본경로란 싸이클을 최대 한 번만 지나야 한다.

 

26. 단위 테스트 종류

- 명세 기반 테스트 : 주어진 명세를 빠짐없이 구현했는지 테스트케이스로 확인

- 구조 기반 테스트 : 내부 논리적 구조를 모두 테스트 (호ㅏ이트박스)

- 성능 테스트 : 애플리케이션 처리량, 응답시간, 경과시간, 자원사용률에 대해 가상의 사용자를 생성하고 테스트 수행

 

27. 소프트웨어 형상 관리

- 소프트웨어 가해지는 변경을 제어하고 관리한다.

- 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이다.

- 유지보수 단계, 개발단계에도 적용 가능하다.

 

28. DRM (디지털 저작권 관리) 구성 요소

- 콘텐츠 제공자

- 콘텐츠 배포자

- 콘텐츠 소비자

- 패키저

- 클리어링 하우스

- DRM 컨트롤러

- 보안 컨테이너

 

29. 소프트웨어 버전 관리도구 방식

- 공유 폴더 방식

  : 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식

  : 개발자들은 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사함

  : 담당자는 공유 폴더의 파일을 자기 PC로 복사해 컴파일하고 이상 유무 확인

  : 파일의 변경 사항을 데이터베이스에 기록하며 관리

# SCCS, RCS, PVCS, QVCS

 

- 클라이언트 / 서버 방식

  : 버전 관리 자료가 중앙 시스템에 저장되어 관리되는 방식

  : 서버의 자료를 개발자별로 자신의 PC로 복사해 작업하고 변경된 내용을 다시 중앙 서버에 반영

  : 모든 버전 관리는 서버에서 수행

  : 하나의 파일을 서로 다른 개발자가 작업할 경우 경고

  : 서버에 문제가 생기면 협업 및 버전 관리 작업 중단

# CVS, SVN

 

- 분산 저장소 방식

  : 하나의 원격 저장소와 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식

  : 개발자별로 원격 저장소의 자료를 자기 로컬저장소로 복사하고 작업한 후 변경 내용을 다시 원격 저장소에 반영

  : 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용해 작업 가능

  : 처리속도 빠름

# Git, Bitkeeper

 

* SVN(Subversion) 

- CVS 개선한 것

- 모든 개발 작업은 trunk 디렉토리에서 수행, 추가 작업은 braches디렉터리 안의 별도의 디렉터리를 만들어 작업하고 trunk디렉터리와 병합

- 커밋할 때마다 리비전이 1씩 증가

- 서버는 주로 유닉스 사용

- 오픈 소스

- CVS단점인 파일이나 디렉터리 이름 변경, 이동 등 가능

 

34. EAI (기업 애플리케이션 인터페이스)

* 기업 내 애플리케이션간 상호 연동이 가능하게 해주는 솔루션

 

- Point to Point : 변경 및 재사용이 어려움

- Hub & Spoke : 중앙 집중형, 확장 및 유지보수 용이

- Message Bus : 애플리케이션 사이 미들웨어, 대용량 처리 용이

- Hybrid : Hub & Spoke + Message Bus

 

번외) ESB (EnterPrise Service Bus)

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

- EAI와 유사하지만 애플리케이션 보다는 서비스 중심의 통합 지향

- 결합도 약함

- 관리 및 유지보수가 쉽고, 높은 수준의 품질 지원이 가능

 

35. 인퍼페이스 구현 검증 도구

- xunit : 단위테스트

- staf : 서비스호출, 컴포넌트 재사용 / 분산환경에 데몬 사용, 자동화

- ntaf : STAF + FITNESS

- fitness : 웹 기반

- Selenium : 

- watir : Ruby 언어

 

39. 테스트는 오류를 찾는 작업 디버그는 오류를 수정하는 작업 !

 

40. 스택

- 재귀호출, 깊이우선탐색, 후위표현, 중간값 접근 X

- 큐 : 선택정렬