정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?
① 선택정렬
② 삽입정렬
③ 버블정렬
④ 합병정렬
White Box Testing 에 대한 설명으로 옳지 않은 것은?
① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.
② Source Code 의 모든 문장을 한번 이상 수행함으로서 진행된다.
③ 모듈 안의 작동을 직접 관찰 할 수 있다.
④ 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?
① 정확성
② 무결성
③ 사용성
④ 간결성

EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은?
① Point-to-Point
② Hub&Spoke
③ Message Bus
④ Tree

인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?
① IPSec
② SMTP
③ SSL
④ S-HTTP

반정규화(Denormalization) 유형중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
① 빌드 테이블의 추가
② 집계 테이블의 추가
③ 진행 테이블의 추가
④ 특정 부분만을 포함하는 테이블의 추가
ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성(Functionlity)의 하위 특성으로 옳지 않은 것은?
① 학습성
② 적합성
③ 정확성
④ 보안성

디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은?
① 크랙 방지 기술
② 정책 관리 기술
③ 암호화 기술
④ 방화벽 기술
소프트 웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?
① Brooks의 법칙
② Boehm의 법칙
③ Pareto의 법칙
④ Jackson의 법칙
소프트웨어 형상 관리의 의미로 적절한 것은?
① 비용에 관한 사항을 효율적으로 관리하는 것
② 개발 과정의 변경 사항을 관리하는 것
③ 테스트 과정에서 소프트웨어를 통합하는 것
④ 개발 인력을 관리하는 것
알고리즘 시간복잡도 O(1)이 의미하는 것은?
① 컴퓨터 처리가 불가
② 알고리즘 입력 데이터 수가 한 개
③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정
④ 알고리즘 길이가 입력 데이터보다 작음
소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?
① pmd
② cppcheck
③ valMeter
④ checkstyle
검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는?
① 동치 분할 검사
② 형상 검사
③ 알파 검사
④ 베타 검사
하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?
① Stub
② Driver
③ Procedure
④ Function
SW 패키징 도구 활용 시 고려 사항과 거리가 먼 것은?
① 패키징 시 사용자에게 배포되는 SW이므로 보안을 고려한다.
② 사용자 편의성을 위한 복합성 및 비효율성 문제를 고려한다.
③ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다.
④ 제품 SW 종류에 적합한 암호화 알고리즘을 적용한다.
외계인코드(Alien Code)에 대한 설명으로 옳은 것은?
① 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의미한다.
② 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 의미한다.
③ 오류가 없어 디버깅 과정이 필요 없는 프로그램을 의미한다.
④ 사용자가 직접 작성한 프로그램을 의미한다.
선택정렬 : O(n^2)
삽입정렬 : O(n^2)
버블정렬 : O(n^2)
합병정렬 : O(nLog2n)
퀵정렬 : O(nLog2n)
힙정렬 : O(nLog2n)
Base Path Testing(기본 경로 기법)은 화이트박스 테스트 기법이고, Boundary Value Analysis(경계값 분석 기법)은 블랙박스 테스트 기법이다.
무결성, 신뢰성, 사용성, 효율성, 정확성, 이식성, 상호 운용성
STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
xUtit : Java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크
FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
Point-to-Point : 가장 기본적인 애플리케이션 통합 방식으로 1:1로 연결
Hub&Spoke : 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식,
데이터 전송이 보장되며, 유지보수 비용 절감
Messagd Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식,
데이터를 전송하는데 버스를 이용함으로 병목 현상 발생 가능,
대량의 데이터 교환에 적합
Hybrid : Hub&Spoke 와 Message Bus 혼합 방식
전위 순회 : 루트를 먼저 방문, root > left > right
중위 순회 : 왼족 하위트리를 방문한 뒤 루트를 방문, left > root > right
후위 순회 : 하위트리를 방문한 뒤 루트를 방문, left > right > root
IPSec : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜
SMTP : 이메일 송/수신에 사용되는 프로토콜
SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜
S-HTTP : 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화 하는 프로토콜
경계값 분석 기법은 입력 조건의 중간값보다는 경계값에서 오류가 발생될 확률이 높다는 점을 이용해서 입력 조건의 경계값에서 테스트 사례를 선정하는 기법이다.
90은 경계 부분의 값이 아니므로 테스트 입력밧으로 사용될 수 없다.
진행 테이블의 추가, 집계 테이블의 추가, 특정 부분만을 포함하는 테이블의 추가
정확성, 적합성, 상호보완성, 보안성, 유연성
트리의 차수 : 전체 트리에서 가장 큰 차수
단말 노드 : 자식이 없는 노드
암호화, 키관리, 크랙 방지, 정책 관리, 인증, 식별 기술, 저작권 표현, 사용 권한
Brooks의 법칙 : 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다.
Boehm의 법칙 : 개발 단계 초기에 결함을 발견하면 나중 단계에 발견하는 것보다 시간과 비용을 절약할 수 있다.
Pareto의 법칙 : 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다.
소프트웨어 형상 관리 : 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동
O(1)은 상수 시간을 말하며, 알고리즘 수행 시간이 입력 데이터 수와 관계없이 항상 일정하다는 의미이다.
cppcheck, pmd, checkstyle 등
valMeter, Avalanch 등
동치 분할 검사 : 입력 자료에 초점을 맞춰 케이스를 만들고 검사하는 방법(블랙박스 테스트 종류)
형상 검사 : 구성 요소, 목록, 유지보수를 위한 모든 사항이 표현되었는가를 검사
알파 검사 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법(인수 테스트 종류)
베타 테스트 : 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 기법(인수 테스트 종류)
Stub : 모듈의 부수적인 인터페이스를 사용하는 가짜 모듈이다.
Driver : 시험 사례를 입력받고, 시험을 위해 받은 자료를 모듈로 넘기고, 관련된 결과를 출력하는 메인 프로그램이다. 상향식 통합 테스트에서 사용된다.
패키징은 프로그램 제작자가 최종 사용자가 사용할 프로그램을 다양한 환경에서 쉽게 자동으로 설치할 수 있게 패키지를 만들어 배포하는 과정을 말한다.
외계인 코드란 아주 오래되거나 참고문서 또는 개발에 참여했던 개발자를 찾을 수 없어 유지보수 작업이 어려운 프로그램을 의미한다.